In Section Coded Social History, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.16.1'], the attribute classCode SHALL have the value 'DOCSECT' if present OCL self.classCode.oclIsUndefined() or self.classCode=ActClass::DOCSECT In Section Coded Social History, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.16.1']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.16.1'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.16.1')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Section Coded Social History, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.16.1'], the element(s) hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.16.1'] SHALL not have nullFlavor (mandatory) OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.16.1')->forAll(nullFlavor.oclIsUndefined()) In Section Coded Social History, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.16.1'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.16.1'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.16.1')->size()<2 In Section Coded Social History, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.16.1'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.16.1'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Section Coded Social History, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.16.1']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.16'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.16')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Section Coded Social History, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.16.1'], the element(s) hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.16'] SHALL not have nullFlavor (mandatory) OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.16')->forAll(nullFlavor.oclIsUndefined()) In Section Coded Social History, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.16.1'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.16'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.16')->size()<2 In Section Coded Social History, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.16.1'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.16'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Section Coded Social History, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.16.1']/hl7:templateId[@root='2.16.840.1.113883.10.20.1.15'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.15')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Section Coded Social History, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.16.1'], the element(s) hl7:templateId[@root='2.16.840.1.113883.10.20.1.15'] SHALL not have nullFlavor (mandatory) OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.15')->forAll(nullFlavor.oclIsUndefined()) In Section Coded Social History, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.16.1'] SHALL contain at most ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.15'] OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.15')->size()<2 In Section Coded Social History, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.16.1'] SHALL contain at least ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.15'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Section Coded Social History, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.16.1'] SHALL contain at least ONE hl7:id OCL (not self.nullFlavor.oclIsUndefined()) or self.id->size()>0 In Section Coded Social History, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.16.1']/hl7:code, the attribute code SHALL be present OCL self.code->forAll((not nullFlavor.oclIsUndefined()) or (not code.oclIsUndefined())) In Section Coded Social History, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.16.1']/hl7:code, the attribute code SHALL have the value '29762-2' if present OCL self.code->forAll(code.oclIsUndefined() or code='29762-2') In Section Coded Social History, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.16.1']/hl7:code, the attribute codeSystem SHALL have the value '2.16.840.1.113883.6.1' if present OCL self.code->forAll(codeSystem.oclIsUndefined() or codeSystem='2.16.840.1.113883.6.1') In Section Coded Social History, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.16.1'], the element(s) hl7:code SHALL not have nullFlavor (mandatory) OCL self.code->forAll(nullFlavor.oclIsUndefined()) In Section Coded Social History, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.16.1'] SHALL contain at least ONE hl7:code OCL (not self.nullFlavor.oclIsUndefined()) or self.code->size()>0 In Section Coded Social History, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.16.1'], the element(s) hl7:title SHALL not have nullFlavor (mandatory) OCL self.title->forAll(nullFlavor.oclIsUndefined()) In Section Coded Social History, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.16.1'] SHALL contain at least ONE hl7:title OCL (not self.nullFlavor.oclIsUndefined()) or self.title->size()>0 In Section Coded Social History, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.16.1'], the element(s) hl7:text SHALL not have nullFlavor (mandatory) OCL self.text->forAll(nullFlavor.oclIsUndefined()) In Section Coded Social History, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.16.1'] SHALL contain at least ONE hl7:text OCL (not self.nullFlavor.oclIsUndefined()) or self.text->size()>0 In Section Coded Social History, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.16.1']/hl7:entry/hl7:observation/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.4'], the attribute root SHALL be present OCL self.entry.observation.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.13.4')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Section Coded Social History, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.16.1'] SHALL contain at least ONE hl7:entry OCL (not self.nullFlavor.oclIsUndefined()) or self.entry->size()>0 In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2'], the element(s) hl7:realmCode SHALL not have nullFlavor (mandatory) OCL self.realmCode->forAll(nullFlavor.oclIsUndefined()) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2'] SHALL contain at most ONE hl7:realmCode OCL self.realmCode->size()<2 In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2'] SHALL contain at least ONE hl7:realmCode OCL (not self.nullFlavor.oclIsUndefined()) or self.realmCode->size()>0 In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:typeId, the attribute root SHALL be present OCL self.typeId->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:typeId, the attribute root SHALL have the value '2.16.840.1.113883.1.3' if present OCL self.typeId->forAll(root.oclIsUndefined() or root='2.16.840.1.113883.1.3') In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:typeId, the attribute extension SHALL be present OCL self.typeId->forAll((not nullFlavor.oclIsUndefined()) or (not extension.oclIsUndefined())) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:typeId, the attribute extension SHALL have the value 'POCD_HD000040' if present OCL self.typeId->forAll(extension.oclIsUndefined() or extension='POCD_HD000040') In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2'], the element(s) hl7:typeId SHALL not have nullFlavor (mandatory) OCL self.typeId->forAll(nullFlavor.oclIsUndefined()) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2'], the element(s) hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2'] SHALL not have nullFlavor (mandatory) OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2')->forAll(nullFlavor.oclIsUndefined()) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2')->size()<2 In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2'], the element(s) hl7:id SHALL not have nullFlavor (mandatory) (Item : R1.11.3) OCL self.id->forAll(nullFlavor.oclIsUndefined()) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:code, the attribute displayName SHALL be present OCL self.code->forAll((not nullFlavor.oclIsUndefined()) or (not displayName.oclIsUndefined())) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:code, the attribute code SHALL be present OCL self.code->forAll((not nullFlavor.oclIsUndefined()) or (not code.oclIsUndefined())) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:code, the attribute code SHALL have the value '60593-1' if present OCL self.code->forAll(code.oclIsUndefined() or code='60593-1') In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:code, the attribute codeSystem SHALL have the value '2.16.840.1.113883.6.1' if present OCL self.code->forAll(codeSystem.oclIsUndefined() or codeSystem='2.16.840.1.113883.6.1') In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2'], the element(s) hl7:code SHALL not have nullFlavor (mandatory) (Item : R1.11.6) OCL self.code->forAll(nullFlavor.oclIsUndefined()) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2'], the element(s) hl7:title SHALL not have nullFlavor (mandatory) (Item : R1.11.7) OCL self.title->forAll(nullFlavor.oclIsUndefined()) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2'] SHALL contain at least ONE hl7:title (Item : R1.11.7) OCL (not self.nullFlavor.oclIsUndefined()) or self.title->size()>0 In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2'], the element(s) hl7:effectiveTime SHALL not have nullFlavor (mandatory) (Item : R1.11.1) OCL self.effectiveTime->forAll(nullFlavor.oclIsUndefined()) In epSOS-eDispensation, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:confidentialityCode SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.31 (Item : R1.11.8) OCL self.confidentialityCode->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.31', code, codeSystem, null, null))) In epSOS-eDispensation, the element defined by /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:languageCode shall verify this requirement : The language code SHALL be in the form nn-CC where nn is ISO-639-1 epSOSLanguage and CC is ISO-3166 epSOSCountry (Item : R.11.10) OCL self.languageCode->reject(not nullFlavor.oclIsUndefined())->forAll(aa | CommonOperationsStatic::validateByXPATHV2(aa, 'matches(@code,\"[a-z]{2}-[A-Z]{2}\")') ) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2'], the element(s) hl7:languageCode SHALL not have nullFlavor (mandatory) (Item : R.11.10) OCL self.languageCode->forAll(nullFlavor.oclIsUndefined()) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2'] SHALL contain at least ONE hl7:languageCode (Item : R.11.10) OCL (not self.nullFlavor.oclIsUndefined()) or self.languageCode->size()>0 In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:recordTarget, the attribute typeCode SHALL have the value 'RCT' if present OCL self.recordTarget->forAll(typeCode.oclIsUndefined() or typeCode=ParticipationType::RCT) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:recordTarget, the attribute contextControlCode SHALL have the value 'OP' if present OCL self.recordTarget->forAll(contextControlCode.oclIsUndefined() or contextControlCode=NullFlavor::OP) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:recordTarget/hl7:patientRole, the attribute classCode SHALL have the value 'PAT' if present OCL self.recordTarget.patientRole->forAll(classCode.oclIsUndefined() or classCode=RoleClass::PAT) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:recordTarget/hl7:patientRole/hl7:addr, the attribute nullFlavor SHALL have the value 'NI' if present OCL self.recordTarget.patientRole.addr->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::NI) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:recordTarget/hl7:patientRole/hl7:addr SHALL contain at most ONE hl7:city (Item : R1.5.3) OCL self.recordTarget.patientRole.addr->forAll(city->size()<2) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:recordTarget/hl7:patientRole/hl7:addr SHALL contain at most ONE hl7:postalCode (Item : R1.5.4) OCL self.recordTarget.patientRole.addr->forAll(postalCode->size()<2) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:recordTarget/hl7:patientRole/hl7:addr SHALL contain at most ONE hl7:state (Item : R1.5.5) OCL self.recordTarget.patientRole.addr->forAll(state->size()<2) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:recordTarget/hl7:patientRole/hl7:addr SHALL contain at most ONE hl7:country (Item : R1.5.6) OCL self.recordTarget.patientRole.addr->forAll(country->size()<2) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:recordTarget/hl7:patientRole SHALL contain at most ONE hl7:addr (Item : R1.5) OCL self.recordTarget.patientRole->forAll(addr->size()<2) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:recordTarget/hl7:patientRole SHALL contain at least ONE hl7:addr (Item : R1.5) OCL self.recordTarget.patientRole->forAll(addr->size()>0) In epSOS-eDispensation, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:recordTarget/hl7:patientRole/hl7:telecom/@use SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.40 OCL self.recordTarget.patientRole.telecom.use->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.40', aa))) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:recordTarget/hl7:patientRole/hl7:telecom, the attribute nullFlavor SHALL have the value 'NI' if present OCL self.recordTarget.patientRole.telecom->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::NI) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:recordTarget/hl7:patientRole SHALL contain at least ONE hl7:telecom (Item : R1.6.1 / R1.6.2) OCL self.recordTarget.patientRole->forAll(telecom->size()>0) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:recordTarget/hl7:patientRole/hl7:patient, the attribute classCode SHALL have the value 'PSN' if present OCL self.recordTarget.patientRole.patient->forAll(classCode.oclIsUndefined() or classCode=EntityClass::PSN) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:recordTarget/hl7:patientRole/hl7:patient, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.recordTarget.patientRole.patient->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:name, the element(s) hl7:family SHALL not have nullFlavor (mandatory) (Item : R1.1.1) OCL self.recordTarget.patientRole.patient.name.family->forAll(nullFlavor.oclIsUndefined()) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:name SHALL contain at least ONE hl7:family (Item : R1.1.1) OCL self.recordTarget.patientRole.patient.name->forAll(family->size()>0) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:name, the element(s) hl7:given SHALL not have nullFlavor (mandatory) (Item : R1.1.3) OCL self.recordTarget.patientRole.patient.name.given->forAll(nullFlavor.oclIsUndefined()) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:name SHALL contain at least ONE hl7:given (Item : R1.1.3) OCL self.recordTarget.patientRole.patient.name->forAll(given->size()>0) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:recordTarget/hl7:patientRole/hl7:patient SHALL contain at least ONE hl7:name (Item : R1.1) OCL self.recordTarget.patientRole.patient->forAll(name->size()>0) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:administrativeGenderCode, the attribute nullFlavor SHALL have the value 'UNK' if present OCL self.recordTarget.patientRole.patient.administrativeGenderCode->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::UNK) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:recordTarget/hl7:patientRole/hl7:patient SHALL contain at least ONE hl7:administrativeGenderCode (Item : R1.2) OCL self.recordTarget.patientRole.patient->forAll(not administrativeGenderCode.oclIsUndefined()) In epSOS-eDispensation, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:administrativeGenderCode SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.34 (Item : R1.2) OCL self.recordTarget.patientRole.patient.administrativeGenderCode->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.34', code, codeSystem, null, null))) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:recordTarget/hl7:patientRole/hl7:patient, the element(s) hl7:birthTime SHALL not have nullFlavor (mandatory) (Item : R1.3) OCL self.recordTarget.patientRole.patient.birthTime->forAll(nullFlavor.oclIsUndefined()) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:recordTarget/hl7:patientRole/hl7:patient SHALL contain at least ONE hl7:birthTime (Item : R1.3) OCL self.recordTarget.patientRole.patient->forAll(not birthTime.oclIsUndefined()) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian, the attribute classCode SHALL be present OCL self.recordTarget.patientRole.patient.guardian->forAll((not nullFlavor.oclIsUndefined()) or (not classCode.oclIsUndefined())) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian, the attribute classCode SHALL have the value 'GUARD' if present OCL self.recordTarget.patientRole.patient.guardian->forAll(classCode.oclIsUndefined() or classCode=RoleClass::GUARD) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.2.4'], the attribute root SHALL be present OCL self.recordTarget.patientRole.patient.guardian.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.2.4')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian, the element(s) hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.2.4'] SHALL not have nullFlavor (mandatory) OCL self.recordTarget.patientRole.patient.guardian.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.2.4')->forAll(nullFlavor.oclIsUndefined()) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.2.4'] OCL self.recordTarget.patientRole.patient.guardian->forAll(templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.2.4')->size()<2) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.2.4'] OCL self.recordTarget.patientRole.patient.guardian->forAll(templateId->size()>0) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian/hl7:addr, the attribute nullFlavor SHALL have the value 'NI' if present OCL self.recordTarget.patientRole.patient.guardian.addr->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::NI) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian/hl7:addr SHALL contain at most ONE hl7:city (Item : R1.7.A.3.3) OCL self.recordTarget.patientRole.patient.guardian.addr->forAll(city->size()<2) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian/hl7:addr SHALL contain at most ONE hl7:postalCode (Item : R1.7.A.3.4) OCL self.recordTarget.patientRole.patient.guardian.addr->forAll(postalCode->size()<2) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian/hl7:addr SHALL contain at most ONE hl7:state (Item : R1.7.A.3.5) OCL self.recordTarget.patientRole.patient.guardian.addr->forAll(state->size()<2) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian/hl7:addr SHALL contain at most ONE hl7:country (Item : R1.7.A.3.6) OCL self.recordTarget.patientRole.patient.guardian.addr->forAll(country->size()<2) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian SHALL contain at most ONE hl7:addr OCL self.recordTarget.patientRole.patient.guardian->forAll(addr->size()<2) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian SHALL contain at least ONE hl7:addr OCL self.recordTarget.patientRole.patient.guardian->forAll(addr->size()>0) In epSOS-eDispensation, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian/hl7:telecom/@use SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.40 OCL self.recordTarget.patientRole.patient.guardian.telecom.use->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.40', aa))) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian/hl7:telecom, the attribute nullFlavor SHALL have the value 'NI' if present OCL self.recordTarget.patientRole.patient.guardian.telecom->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::NI) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian SHALL contain at least ONE hl7:telecom (Item : R1.7.A.4.1/R1.7.A.4.2) OCL self.recordTarget.patientRole.patient.guardian->forAll(telecom->size()>0) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian/hl7:guardianPerson, the number of elements of type 'family', 'given' SHALL be bigger or equal to 1 OCL self.recordTarget.patientRole.patient.guardian.guardianPerson.name->forAll( (family->size()+given->size())>=1) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian/hl7:guardianPerson SHALL contain at least ONE hl7:name (Item : IHE PCC) OCL self.recordTarget.patientRole.patient.guardian.guardianPerson->forAll(name->size()>0) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian SHALL contain at least ONE hl7:guardianPerson OCL self.recordTarget.patientRole.patient.guardian->forAll(not guardianPerson.oclIsUndefined()) In epSOS-eDispensation, the element defined by /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:languageCommunication/hl7:languageCode shall verify this requirement : The language code SHALL be in the form nn-CC where nn is ISO-639-1 epSOSLanguage and CC is ISO-3166 epSOSCountry (Item : R1.7) OCL self.recordTarget.patientRole.patient.languageCommunication.languageCode->reject(not nullFlavor.oclIsUndefined())->forAll(aa | CommonOperationsStatic::validateByXPATHV2(aa, 'matches(@code,\"[a-z]{2}-[A-Z]{2}\")') ) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:languageCommunication SHALL contain at least ONE hl7:languageCode (Item : R1.7) OCL self.recordTarget.patientRole.patient.languageCommunication->forAll(not languageCode.oclIsUndefined()) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:recordTarget/hl7:patientRole/hl7:patient SHALL contain at least ONE hl7:languageCommunication OCL self.recordTarget.patientRole.patient->forAll(languageCommunication->size()>0) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:recordTarget/hl7:patientRole, the element(s) hl7:patient SHALL not have nullFlavor (mandatory) OCL self.recordTarget.patientRole.patient->forAll(nullFlavor.oclIsUndefined()) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:recordTarget/hl7:patientRole SHALL contain at least ONE hl7:patient OCL self.recordTarget.patientRole->forAll(not patient.oclIsUndefined()) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:recordTarget, the element(s) hl7:patientRole SHALL not have nullFlavor (mandatory) OCL self.recordTarget.patientRole->forAll(nullFlavor.oclIsUndefined()) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2'], the element(s) hl7:recordTarget SHALL not have nullFlavor (mandatory) OCL self.recordTarget->forAll(nullFlavor.oclIsUndefined()) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2'] SHALL contain at most ONE hl7:recordTarget OCL self.recordTarget->size()<2 In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:author, the attribute typeCode SHALL have the value 'AUT' if present OCL self.author->forAll(typeCode.oclIsUndefined() or typeCode=ParticipationType::AUT) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:author, the attribute contextControlCode SHALL have the value 'OP' if present OCL self.author->forAll(contextControlCode.oclIsUndefined() or contextControlCode=NullFlavor::OP) In epSOS-eDispensation, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:author/hl7:functionCode SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.1 (Item : R1.10.6) OCL self.author.functionCode->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.1', code, codeSystem, null, null))) In epSOS-eDispensation, the element defined by /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:author/hl7:assignedAuthor shall verify this requirement : If assignedAuthor has an associated representedOrganization with no assignedPerson or assignedAuthoringDevice, then the value for "ClinicalDocument/author/assignedAuthor/id/@nullFlavor" SHALL be "NA" "Not applicable" 2.16.840.1.113883.5.1008 NullFlavor STATIC. OCL self.author.assignedAuthor->reject(not nullFlavor.oclIsUndefined())->forAll(aa | CommonOperationsStatic::validateByXPATHV2(aa, '@nullFlavor or cda:assignedPerson or cda:assignedAuthoringDevice') ) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:author/hl7:assignedAuthor, the attribute classCode SHALL have the value 'ASSIGNED' if present OCL self.author.assignedAuthor->forAll(classCode.oclIsUndefined() or classCode=RoleClassAssignedEntity::ASSIGNED) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson, the attribute classCode SHALL have the value 'PSN' if present OCL self.author.assignedAuthor.assignedPerson->forAll(classCode.oclIsUndefined() or classCode=EntityClass::PSN) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.author.assignedAuthor.assignedPerson->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson/hl7:name SHALL contain at least ONE hl7:family (Item : R1.10.1) OCL self.author.assignedAuthor.assignedPerson.name->forAll(family->size()>0) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson/hl7:name SHALL contain at least ONE hl7:given (Item : R1.10.2) OCL self.author.assignedAuthor.assignedPerson.name->forAll(given->size()>0) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson/hl7:name SHALL contain at least ONE hl7:prefix (Item : R1.10.3) OCL self.author.assignedAuthor.assignedPerson.name->forAll(prefix->size()>0) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson/hl7:name SHALL contain at least ONE hl7:suffix (Item : R1.10.4) OCL self.author.assignedAuthor.assignedPerson.name->forAll(suffix->size()>0) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson SHALL contain at most ONE hl7:name (Item : IHE PCC) OCL self.author.assignedAuthor.assignedPerson->forAll(name->size()<2) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson SHALL contain at least ONE hl7:name (Item : IHE PCC) OCL self.author.assignedAuthor.assignedPerson->forAll(name->size()>0) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:author/hl7:assignedAuthor/hl7:assignedAuthoringDevice, the attribute classCode SHALL have the value 'DEV' if present OCL self.author.assignedAuthor.assignedAuthoringDevice->forAll(classCode.oclIsUndefined() or classCode=EntityClassDevice::DEV) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:author/hl7:assignedAuthor/hl7:assignedAuthoringDevice, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.author.assignedAuthor.assignedAuthoringDevice->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-eDispensation, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:author/hl7:assignedAuthor/hl7:assignedAuthoringDevice/hl7:code SHALL be from the valueSet 2.16.840.1.113883.1.11.16040 OCL self.author.assignedAuthor.assignedAuthoringDevice.code->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('2.16.840.1.113883.1.11.16040', code, codeSystem, null, null))) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:author/hl7:assignedAuthor/hl7:id, the attribute nullFlavor SHALL have the value 'NA' if present OCL self.author.assignedAuthor.id->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::NA) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:author/hl7:assignedAuthor SHALL contain at least ONE hl7:addr (Item : IHE PCC) OCL self.author.assignedAuthor->forAll(addr->size()>0) In epSOS-eDispensation, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:author/hl7:assignedAuthor/hl7:telecom/@use SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.40 OCL self.author.assignedAuthor.telecom.use->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.40', aa))) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:author/hl7:assignedAuthor SHALL contain at least ONE hl7:telecom (Item : IHE PCC / R1.10.8 / R1.10.8.1 / R1.10.8.2) OCL self.author.assignedAuthor->forAll(telecom->size()>0) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization, the attribute classCode SHALL be present OCL self.author.assignedAuthor.representedOrganization->forAll((not nullFlavor.oclIsUndefined()) or (not classCode.oclIsUndefined())) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization, the attribute classCode SHALL have the value 'ORG' if present OCL self.author.assignedAuthor.representedOrganization->forAll(classCode.oclIsUndefined() or classCode=EntityClassOrganization::ORG) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization, the attribute determinerCode SHALL be present OCL self.author.assignedAuthor.representedOrganization->forAll((not nullFlavor.oclIsUndefined()) or (not determinerCode.oclIsUndefined())) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.author.assignedAuthor.representedOrganization->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at most ONE hl7:id (Item : R1.10.9.2) OCL self.author.assignedAuthor.representedOrganization->forAll(id->size()<2) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at least ONE hl7:id (Item : R1.10.9.2) OCL self.author.assignedAuthor.representedOrganization->forAll(id->size()>0) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at most ONE hl7:name (Item : R1.10.9.1) OCL self.author.assignedAuthor.representedOrganization->forAll(name->size()<2) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at least ONE hl7:name (Item : R1.10.9.1) OCL self.author.assignedAuthor.representedOrganization->forAll(name->size()>0) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:telecom, the attribute use SHALL be present OCL self.author.assignedAuthor.representedOrganization.telecom.use->size()>0 In epSOS-eDispensation, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:telecom/@use SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.40 OCL self.author.assignedAuthor.representedOrganization.telecom.use->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.40', aa))) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:telecom, the attribute nullFlavor SHALL have the value 'UNK' if present OCL self.author.assignedAuthor.representedOrganization.telecom->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::UNK) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at least ONE hl7:telecom (Item : R1.10.9.4 / R1.10.9.4.1 / R1.10.9.4.2) OCL self.author.assignedAuthor.representedOrganization->forAll(telecom->size()>0) In epSOS-eDispensation, the element defined by /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr shall verify this requirement : If addr is not nullflavored at least one sub element has to be provided (Item : R1.10.9.3) OCL self.author.assignedAuthor.representedOrganization.addr->reject(not nullFlavor.oclIsUndefined())->forAll(aa | CommonOperationsStatic::validateByXPATHV2(aa, '@nullFlavor or cda:*') ) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:streetAddressLine (Item : R1.10.9.3.1) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(streetAddressLine->size()>0) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:city (Item : R1.10.9.3.2) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(city->size()<2) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:city (Item : R1.10.9.3.2) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(city->size()>0) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:postalCode (Item : R1.10.9.3.3) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(postalCode->size()<2) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:postalCode (Item : R1.10.9.3.3) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(postalCode->size()>0) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:state (Item : R1.10.9.3.4) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(state->size()<2) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:state (Item : R1.10.9.3.4) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(state->size()>0) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:country (Item : R1.10.9.3.5) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(country->size()<2) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:country (Item : R1.10.9.3.5) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(country->size()>0) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization, the element(s) hl7:addr SHALL not have nullFlavor (mandatory) (Item : R1.10.9.3) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(nullFlavor.oclIsUndefined()) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at most ONE hl7:addr (Item : R1.10.9.3) OCL self.author.assignedAuthor.representedOrganization->forAll(addr->size()<2) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at least ONE hl7:addr (Item : R1.10.9.3) OCL self.author.assignedAuthor.representedOrganization->forAll(addr->size()>0) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:author/hl7:assignedAuthor SHALL contain at least ONE hl7:representedOrganization (Item : R1.10.9) OCL self.author.assignedAuthor->forAll(not representedOrganization.oclIsUndefined()) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2'], the element(s) hl7:author SHALL not have nullFlavor (mandatory) OCL self.author->forAll(nullFlavor.oclIsUndefined()) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:custodian, the attribute typeCode SHALL have the value 'CST' if present OCL self.custodian->forAll(typeCode.oclIsUndefined() or typeCode=ParticipationType::CST) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:custodian/hl7:assignedCustodian, the attribute classCode SHALL have the value 'ASSIGNED' if present OCL self.custodian.assignedCustodian->forAll(classCode.oclIsUndefined() or classCode=RoleClassAssignedEntity::ASSIGNED) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization, the attribute classCode SHALL have the value 'ORG' if present OCL self.custodian.assignedCustodian.representedCustodianOrganization->forAll(classCode.oclIsUndefined() or classCode=EntityClassOrganization::ORG) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.custodian.assignedCustodian.representedCustodianOrganization->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization, the attribute classCode SHALL be present OCL self.custodian.assignedCustodian.representedCustodianOrganization->forAll((not nullFlavor.oclIsUndefined()) or (not classCode.oclIsUndefined())) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization, the attribute classCode SHALL have the value 'ORG' if present OCL self.custodian.assignedCustodian.representedCustodianOrganization->forAll(classCode.oclIsUndefined() or classCode=EntityClassOrganization::ORG) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization, the attribute determinerCode SHALL be present OCL self.custodian.assignedCustodian.representedCustodianOrganization->forAll((not nullFlavor.oclIsUndefined()) or (not determinerCode.oclIsUndefined())) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.custodian.assignedCustodian.representedCustodianOrganization->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization SHALL contain at most ONE hl7:id (Item : R1.10.9.2) OCL self.custodian.assignedCustodian.representedCustodianOrganization->forAll(id->size()<2) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization SHALL contain at least ONE hl7:name (Item : R1.10.9.1) OCL self.custodian.assignedCustodian.representedCustodianOrganization->forAll(not name.oclIsUndefined()) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:telecom, the attribute use SHALL be present OCL self.custodian.assignedCustodian.representedCustodianOrganization.telecom.use->size()>0 In epSOS-eDispensation, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:telecom/@use SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.40 OCL self.custodian.assignedCustodian.representedCustodianOrganization.telecom.use->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.40', aa))) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:telecom, the attribute nullFlavor SHALL have the value 'UNK' if present OCL self.custodian.assignedCustodian.representedCustodianOrganization.telecom->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::UNK) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization SHALL contain at least ONE hl7:telecom (Item : R1.10.9.4 / R1.10.9.4.1 / R1.10.9.4.2) OCL self.custodian.assignedCustodian.representedCustodianOrganization->forAll(not telecom.oclIsUndefined()) In epSOS-eDispensation, the element defined by /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:addr shall verify this requirement : If addr is not nullflavored at least one sub element has to be provided (Item : R1.10.9.3) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->reject(not nullFlavor.oclIsUndefined())->forAll(aa | CommonOperationsStatic::validateByXPATHV2(aa, '@nullFlavor or cda:*') ) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:addr SHALL contain at least ONE hl7:streetAddressLine (Item : R1.10.9.3.1) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->forAll(streetAddressLine->size()>0) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:addr SHALL contain at most ONE hl7:city (Item : R1.10.9.3.2) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->forAll(city->size()<2) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:addr SHALL contain at least ONE hl7:city (Item : R1.10.9.3.2) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->forAll(city->size()>0) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:addr SHALL contain at most ONE hl7:postalCode (Item : R1.10.9.3.3) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->forAll(postalCode->size()<2) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:addr SHALL contain at least ONE hl7:postalCode (Item : R1.10.9.3.3) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->forAll(postalCode->size()>0) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:addr SHALL contain at most ONE hl7:state (Item : R1.10.9.3.4) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->forAll(state->size()<2) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:addr SHALL contain at least ONE hl7:state (Item : R1.10.9.3.4) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->forAll(state->size()>0) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:addr SHALL contain at most ONE hl7:country (Item : R1.10.9.3.5) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->forAll(country->size()<2) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:addr SHALL contain at least ONE hl7:country (Item : R1.10.9.3.5) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->forAll(country->size()>0) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization, the element(s) hl7:addr SHALL not have nullFlavor (mandatory) (Item : R1.10.9.3) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->forAll(nullFlavor.oclIsUndefined()) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization SHALL contain at least ONE hl7:addr (Item : R1.10.9.3) OCL self.custodian.assignedCustodian.representedCustodianOrganization->forAll(not addr.oclIsUndefined()) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2'], the element(s) hl7:custodian SHALL not have nullFlavor (mandatory) OCL self.custodian->forAll(nullFlavor.oclIsUndefined()) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:legalAuthenticator, the element(s) hl7:time SHALL not have nullFlavor (mandatory) OCL self.legalAuthenticator.time->forAll(nullFlavor.oclIsUndefined()) In epSOS-eDispensation, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:legalAuthenticator/hl7:signatureCode SHALL be from the valueSet 2.16.840.1.113883.1.11.10282 OCL self.legalAuthenticator.signatureCode->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and matchesCodeToValueSet('2.16.840.1.113883.1.11.10282', code))) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:legalAuthenticator/hl7:assignedEntity, the element(s) hl7:id SHALL not have nullFlavor (mandatory) OCL self.legalAuthenticator.assignedEntity.id->forAll(nullFlavor.oclIsUndefined()) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:legalAuthenticator/hl7:assignedEntity SHALL contain at most ONE hl7:id OCL self.legalAuthenticator.assignedEntity->forAll(id->size()<2) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:legalAuthenticator/hl7:assignedEntity SHALL contain at least ONE hl7:addr (Item : IHE PCC) OCL self.legalAuthenticator.assignedEntity->forAll(addr->size()>0) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:legalAuthenticator/hl7:assignedEntity SHALL contain at least ONE hl7:telecom (Item : IHE PCC) OCL self.legalAuthenticator.assignedEntity->forAll(telecom->size()>0) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:assignedPerson, the attribute classCode SHALL have the value 'PSN' if present OCL self.legalAuthenticator.assignedEntity.assignedPerson->forAll(classCode.oclIsUndefined() or classCode=EntityClass::PSN) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:assignedPerson, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.legalAuthenticator.assignedEntity.assignedPerson->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:assignedPerson, the attribute classCode SHALL have the value 'PSN' if present OCL self.legalAuthenticator.assignedEntity.assignedPerson->forAll(classCode.oclIsUndefined() or classCode=EntityClass::PSN) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:assignedPerson, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.legalAuthenticator.assignedEntity.assignedPerson->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:legalAuthenticator/hl7:assignedEntity SHALL contain at least ONE hl7:assignedPerson (Item : IHE PCC) OCL self.legalAuthenticator.assignedEntity->forAll(not assignedPerson.oclIsUndefined()) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization, the attribute classCode SHALL be present OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll((not nullFlavor.oclIsUndefined()) or (not classCode.oclIsUndefined())) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization, the attribute classCode SHALL have the value 'ORG' if present OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll(classCode.oclIsUndefined() or classCode=EntityClassOrganization::ORG) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization, the attribute determinerCode SHALL be present OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll((not nullFlavor.oclIsUndefined()) or (not determinerCode.oclIsUndefined())) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization SHALL contain at most ONE hl7:id (Item : R1.10.9.2) OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll(id->size()<2) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization SHALL contain at least ONE hl7:id (Item : R1.10.9.2) OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll(id->size()>0) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization SHALL contain at most ONE hl7:name (Item : R1.10.9.1) OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll(name->size()<2) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization SHALL contain at least ONE hl7:name (Item : R1.10.9.1) OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll(name->size()>0) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:telecom, the attribute use SHALL be present OCL self.legalAuthenticator.assignedEntity.representedOrganization.telecom.use->size()>0 In epSOS-eDispensation, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:telecom/@use SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.40 OCL self.legalAuthenticator.assignedEntity.representedOrganization.telecom.use->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.40', aa))) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:telecom, the attribute nullFlavor SHALL have the value 'UNK' if present OCL self.legalAuthenticator.assignedEntity.representedOrganization.telecom->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::UNK) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization SHALL contain at least ONE hl7:telecom (Item : R1.10.9.4 / R1.10.9.4.1 / R1.10.9.4.2) OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll(telecom->size()>0) In epSOS-eDispensation, the element defined by /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:addr shall verify this requirement : If addr is not nullflavored at least one sub element has to be provided (Item : R1.10.9.3) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->reject(not nullFlavor.oclIsUndefined())->forAll(aa | CommonOperationsStatic::validateByXPATHV2(aa, '@nullFlavor or cda:*') ) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:streetAddressLine (Item : R1.10.9.3.1) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(streetAddressLine->size()>0) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:city (Item : R1.10.9.3.2) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(city->size()<2) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:city (Item : R1.10.9.3.2) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(city->size()>0) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:postalCode (Item : R1.10.9.3.3) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(postalCode->size()<2) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:postalCode (Item : R1.10.9.3.3) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(postalCode->size()>0) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:state (Item : R1.10.9.3.4) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(state->size()<2) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:state (Item : R1.10.9.3.4) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(state->size()>0) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:country (Item : R1.10.9.3.5) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(country->size()<2) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:country (Item : R1.10.9.3.5) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(country->size()>0) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization, the element(s) hl7:addr SHALL not have nullFlavor (mandatory) (Item : R1.10.9.3) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(nullFlavor.oclIsUndefined()) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization SHALL contain at most ONE hl7:addr (Item : R1.10.9.3) OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll(addr->size()<2) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization SHALL contain at least ONE hl7:addr (Item : R1.10.9.3) OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll(addr->size()>0) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:legalAuthenticator/hl7:assignedEntity, the element(s) hl7:representedOrganization SHALL not have nullFlavor (mandatory) OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll(nullFlavor.oclIsUndefined()) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:legalAuthenticator/hl7:assignedEntity SHALL contain at least ONE hl7:representedOrganization OCL self.legalAuthenticator.assignedEntity->forAll(not representedOrganization.oclIsUndefined()) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2'], the element(s) hl7:legalAuthenticator SHALL not have nullFlavor (mandatory) (Item : R1.11.9) OCL self.legalAuthenticator->forAll(nullFlavor.oclIsUndefined()) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2'] SHALL contain at least ONE hl7:legalAuthenticator (Item : R1.11.9) OCL (not self.nullFlavor.oclIsUndefined()) or self.legalAuthenticator->size()>0 In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:inFulfillmentOf, the attribute typeCode SHALL have the value 'FLFS' if present OCL self.inFulfillmentOf->forAll(typeCode.oclIsUndefined() or typeCode=ActRelationshipFulfills::FLFS) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:inFulfillmentOf/hl7:order, the attribute classCode SHALL have the value 'ACT' if present OCL self.inFulfillmentOf.order->forAll(classCode.oclIsUndefined() or classCode=ActClassRoot::ACT) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:inFulfillmentOf/hl7:order, the attribute moodCode SHALL be present OCL self.inFulfillmentOf.order->forAll((not nullFlavor.oclIsUndefined()) or (not moodCode.oclIsUndefined())) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:inFulfillmentOf/hl7:order, the attribute moodCode SHALL have the value 'RQO' if present OCL self.inFulfillmentOf.order->forAll(moodCode.oclIsUndefined() or moodCode=ActMood::RQO) In epSOS-eDispensation, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:inFulfillmentOf/hl7:order/hl7:code SHALL have codeSystem='2.16.840.1.113883.5.4' OCL self.inFulfillmentOf.order.code->forAll( (not nullFlavor.oclIsUndefined()) or ((not codeSystem.oclIsUndefined()) and codeSystem='2.16.840.1.113883.5.4')) In epSOS-eDispensation, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:inFulfillmentOf/hl7:order/hl7:priorityCode SHALL be from the valueSet 2.16.840.1.113883.1.11.16866 OCL self.inFulfillmentOf.order.priorityCode->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('2.16.840.1.113883.1.11.16866', code, codeSystem, null, null))) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2'], the element(s) hl7:inFulfillmentOf SHALL not have nullFlavor (mandatory) OCL self.inFulfillmentOf->forAll(nullFlavor.oclIsUndefined()) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2'] SHALL contain at most ONE hl7:inFulfillmentOf OCL self.inFulfillmentOf->size()<2 In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2'] SHALL contain at least ONE hl7:inFulfillmentOf OCL (not self.nullFlavor.oclIsUndefined()) or self.inFulfillmentOf->size()>0 In epSOS-eDispensation, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:relatedDocument/@typeCode SHALL be from the valueSet 2.16.840.1.113883.1.11.11610 OCL self.relatedDocument.typeCode->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('2.16.840.1.113883.1.11.11610', CommonOperationsStatic::stringValueOf(aa)))) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:relatedDocument/hl7:parentDocument, the attribute classCode SHALL have the value 'DOCCLIN' if present OCL self.relatedDocument.parentDocument->forAll(classCode.oclIsUndefined() or classCode=ActClinicalDocument::DOCCLIN) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:relatedDocument/hl7:parentDocument, the attribute moodCode SHALL have the value 'EVN' if present OCL self.relatedDocument.parentDocument->forAll(moodCode.oclIsUndefined() or moodCode=ActMood::EVN) In epSOS-eDispensation, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:relatedDocument/hl7:parentDocument/hl7:code SHALL have codeSystem='2.16.840.1.113883.6.1' OCL self.relatedDocument.parentDocument.code->forAll( (not nullFlavor.oclIsUndefined()) or ((not codeSystem.oclIsUndefined()) and codeSystem='2.16.840.1.113883.6.1')) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2'], the element(s) hl7:relatedDocument SHALL not have nullFlavor (mandatory) OCL self.relatedDocument->forAll(nullFlavor.oclIsUndefined()) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2'] SHALL contain at most ONE hl7:relatedDocument OCL self.relatedDocument->size()<2 In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2'] SHALL contain at least ONE hl7:relatedDocument OCL (not self.nullFlavor.oclIsUndefined()) or self.relatedDocument->size()>0 In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:component/hl7:structuredBody, the attribute classCode SHALL have the value 'DOCBODY' if present OCL self.component.structuredBody->forAll(classCode.oclIsUndefined() or classCode=ActClass::DOCBODY) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:component/hl7:structuredBody/hl7:component, the attribute typeCode SHALL have the value 'COMP' if present OCL self.component.structuredBody.component->forAll(typeCode.oclIsUndefined() or typeCode=ActRelationshipHasComponent::COMP) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:component/hl7:structuredBody/hl7:component/hl7:section/hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.2'], the attribute root SHALL be present OCL self.component.structuredBody.component.section.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.2.2')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:component, the element(s) hl7:structuredBody SHALL not have nullFlavor (mandatory) OCL self.component.structuredBody->forAll(nullFlavor.oclIsUndefined()) In epSOS-eDispensation, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2']/hl7:component SHALL contain at least ONE hl7:structuredBody OCL self.component->forAll(not structuredBody.oclIsUndefined()) In epSOS-eDispensation, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2'], the element(s) hl7:component SHALL not have nullFlavor (mandatory) OCL self.component->forAll(nullFlavor.oclIsUndefined()) In Pregnancy Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.5']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.13'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.13')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Pregnancy Observation, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.5'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.13'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.13')->size()<2 In Pregnancy Observation, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.5'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.13'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Pregnancy Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.5']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.5'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.13.5')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Pregnancy Observation, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.5'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.5'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.13.5')->size()<2 In Pregnancy Observation, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.5'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.5'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Pregnancy Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.5'], the element(s) hl7:code SHALL not have nullFlavor (mandatory) OCL self.code->forAll(nullFlavor.oclIsUndefined()) In Pregnancy Observation, the code of /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.5']/hl7:code SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.9 OCL self.code->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.9', code, codeSystem, null, null))) In Pregnancy Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.5']/hl7:statusCode, the attribute code SHALL be present OCL self.statusCode->forAll((not nullFlavor.oclIsUndefined()) or (not code.oclIsUndefined())) In Pregnancy Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.5']/hl7:statusCode, the attribute code SHALL have the value 'completed' if present OCL self.statusCode->forAll(code.oclIsUndefined() or code='completed') In Pregnancy Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.5']/hl7:statusCode, the attribute codeSystem SHALL have the value '2.16.840.1.113883.5.14' if present OCL self.statusCode->forAll(codeSystem.oclIsUndefined() or codeSystem='2.16.840.1.113883.5.14') In Pregnancy Observation, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.5'] SHALL contain at least ONE hl7:statusCode OCL (not self.nullFlavor.oclIsUndefined()) or self.statusCode->size()>0 In Pregnancy Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.5'], the element(s) hl7:value SHALL be from the datatype TS OCL self.value->forAll(oclIsKindOf(TS)) In Pregnancy Observation, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.5'] SHALL contain at most ONE hl7:value OCL self.value->size()<2 In Pregnancy Observation, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.5'] SHALL contain at least ONE hl7:value OCL (not self.nullFlavor.oclIsUndefined()) or self.value->size()>0 In Section Active Problems, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.6'], the attribute classCode SHALL have the value 'DOCSECT' if present OCL self.classCode.oclIsUndefined() or self.classCode=ActClass::DOCSECT In Section Active Problems, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.6']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.6'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.6')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Section Active Problems, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.6'], the element(s) hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.6'] SHALL not have nullFlavor (mandatory) OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.6')->forAll(nullFlavor.oclIsUndefined()) In Section Active Problems, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.6'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.6'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.6')->size()<2 In Section Active Problems, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.6'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.6'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Section Active Problems, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.6']/hl7:templateId[@root='2.16.840.1.113883.10.20.1.11'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.11')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Section Active Problems, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.6'], the element(s) hl7:templateId[@root='2.16.840.1.113883.10.20.1.11'] SHALL not have nullFlavor (mandatory) OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.11')->forAll(nullFlavor.oclIsUndefined()) In Section Active Problems, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.6'] SHALL contain at most ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.11'] OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.11')->size()<2 In Section Active Problems, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.6'] SHALL contain at least ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.11'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Section Active Problems, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.6'] SHALL contain at least ONE hl7:id OCL (not self.nullFlavor.oclIsUndefined()) or self.id->size()>0 In Section Active Problems, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.6']/hl7:code, the attribute code SHALL be present OCL self.code->forAll((not nullFlavor.oclIsUndefined()) or (not code.oclIsUndefined())) In Section Active Problems, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.6']/hl7:code, the attribute code SHALL have the value '11450-4' if present OCL self.code->forAll(code.oclIsUndefined() or code='11450-4') In Section Active Problems, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.6']/hl7:code, the attribute codeSystem SHALL have the value '2.16.840.1.113883.6.1' if present OCL self.code->forAll(codeSystem.oclIsUndefined() or codeSystem='2.16.840.1.113883.6.1') In Section Active Problems, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.6'], the element(s) hl7:code SHALL not have nullFlavor (mandatory) OCL self.code->forAll(nullFlavor.oclIsUndefined()) In Section Active Problems, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.6'] SHALL contain at least ONE hl7:code OCL (not self.nullFlavor.oclIsUndefined()) or self.code->size()>0 In Section Active Problems, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.6'], the element(s) hl7:title SHALL not have nullFlavor (mandatory) OCL self.title->forAll(nullFlavor.oclIsUndefined()) In Section Active Problems, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.6'] SHALL contain at least ONE hl7:title OCL (not self.nullFlavor.oclIsUndefined()) or self.title->size()>0 In Section Active Problems, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.6'], the element(s) hl7:text SHALL not have nullFlavor (mandatory) OCL self.text->forAll(nullFlavor.oclIsUndefined()) In Section Active Problems, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.6'] SHALL contain at least ONE hl7:text OCL (not self.nullFlavor.oclIsUndefined()) or self.text->size()>0 In Section Active Problems, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.6']/hl7:entry/hl7:act/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.2'], the attribute root SHALL be present OCL self.entry.act.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.5.2')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Section Active Problems, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.6'] SHALL contain at most ONE hl7:entry OCL self.entry->size()<2 In Section Medication Summary, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.3'], the attribute classCode SHALL have the value 'DOCSECT' if present OCL self.classCode.oclIsUndefined() or self.classCode=ActClass::DOCSECT In Section Medication Summary, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.3']/hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.3'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.2.3')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Section Medication Summary, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.3'], the element(s) hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.3'] SHALL not have nullFlavor (mandatory) OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.2.3')->forAll(nullFlavor.oclIsUndefined()) In Section Medication Summary, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.3'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.3'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.2.3')->size()<2 In Section Medication Summary, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.3'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.3'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Section Medication Summary, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.3']/hl7:templateId[@root='2.16.840.1.113883.10.20.1.8'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.8')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Section Medication Summary, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.3'], the element(s) hl7:templateId[@root='2.16.840.1.113883.10.20.1.8'] SHALL not have nullFlavor (mandatory) OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.8')->forAll(nullFlavor.oclIsUndefined()) In Section Medication Summary, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.3'] SHALL contain at most ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.8'] OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.8')->size()<2 In Section Medication Summary, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.3'] SHALL contain at least ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.8'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Section Medication Summary, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.3'] SHALL contain at least ONE hl7:id OCL (not self.nullFlavor.oclIsUndefined()) or self.id->size()>0 In Section Medication Summary, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.3']/hl7:code, the attribute code SHALL be present OCL self.code->forAll((not nullFlavor.oclIsUndefined()) or (not code.oclIsUndefined())) In Section Medication Summary, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.3']/hl7:code, the attribute code SHALL have the value '10160-0' if present OCL self.code->forAll(code.oclIsUndefined() or code='10160-0') In Section Medication Summary, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.3']/hl7:code, the attribute codeSystem SHALL have the value '2.16.840.1.113883.6.1' if present OCL self.code->forAll(codeSystem.oclIsUndefined() or codeSystem='2.16.840.1.113883.6.1') In Section Medication Summary, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.3'], the element(s) hl7:code SHALL not have nullFlavor (mandatory) OCL self.code->forAll(nullFlavor.oclIsUndefined()) In Section Medication Summary, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.3'] SHALL contain at least ONE hl7:code OCL (not self.nullFlavor.oclIsUndefined()) or self.code->size()>0 In Section Medication Summary, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.3'], the element(s) hl7:title SHALL not have nullFlavor (mandatory) OCL self.title->forAll(nullFlavor.oclIsUndefined()) In Section Medication Summary, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.3'] SHALL contain at least ONE hl7:title OCL (not self.nullFlavor.oclIsUndefined()) or self.title->size()>0 In Section Medication Summary, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.3'], the element(s) hl7:text SHALL not have nullFlavor (mandatory) OCL self.text->forAll(nullFlavor.oclIsUndefined()) In Section Medication Summary, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.3'] SHALL contain at least ONE hl7:text OCL (not self.nullFlavor.oclIsUndefined()) or self.text->size()>0 In Section Medication Summary, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.3']/hl7:entry/hl7:substanceAdministration/hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4'], the attribute root SHALL be present OCL self.entry.substanceAdministration.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Section Medication Summary, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.3'] SHALL contain at least ONE hl7:entry OCL (not self.nullFlavor.oclIsUndefined()) or self.entry->size()>0 In Problem Concern, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.2'], the attribute classCode SHALL have the value 'ACT' if present OCL self.classCode.oclIsUndefined() or self.classCode=XActClassDocumentEntryAct::ACT In Problem Concern, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.2'], the attribute moodCode SHALL have the value 'EVN' if present OCL self.moodCode.oclIsUndefined() or self.moodCode=XDocumentActMood::EVN In Problem Concern, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.2']/hl7:templateId[@root='2.16.840.1.113883.10.20.1.27'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.27')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Problem Concern, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.2'], the element(s) hl7:templateId[@root='2.16.840.1.113883.10.20.1.27'] SHALL not have nullFlavor (mandatory) OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.27')->forAll(nullFlavor.oclIsUndefined()) In Problem Concern, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.2'] SHALL contain at most ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.27'] OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.27')->size()<2 In Problem Concern, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.2'] SHALL contain at least ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.27'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Problem Concern, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.2']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.1'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.5.1')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Problem Concern, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.2'], the element(s) hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.1'] SHALL not have nullFlavor (mandatory) OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.5.1')->forAll(nullFlavor.oclIsUndefined()) In Problem Concern, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.2'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.1'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.5.1')->size()<2 In Problem Concern, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.2'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.1'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Problem Concern, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.2']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.2'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.5.2')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Problem Concern, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.2'], the element(s) hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.2'] SHALL not have nullFlavor (mandatory) OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.5.2')->forAll(nullFlavor.oclIsUndefined()) In Problem Concern, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.2'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.2'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.5.2')->size()<2 In Problem Concern, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.2'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.2'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Problem Concern, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.2'], the element(s) hl7:id SHALL not have nullFlavor (mandatory) OCL self.id->forAll(nullFlavor.oclIsUndefined()) In Problem Concern, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.2'] SHALL contain at least ONE hl7:id OCL (not self.nullFlavor.oclIsUndefined()) or self.id->size()>0 In Problem Concern, the code of /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.2']/hl7:statusCode SHALL be from the valueSet 2.16.840.1.113883.1.11.159331 OCL self.statusCode->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and matchesCodeToValueSet('2.16.840.1.113883.1.11.159331', code))) In Problem Concern, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.2']/hl7:effectiveTime SHALL contain at least ONE hl7:low OCL self.effectiveTime->forAll(not low.oclIsUndefined()) In Problem Concern, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.2']/hl7:entryRelationship[hl7:observation/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5'], the attribute typeCode SHALL have the value 'SUBJ' if present OCL self.entryRelationship->select(observation.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.4.5'))->forAll(typeCode.oclIsUndefined() or typeCode=XActRelationshipEntryRelationship::SUBJ) In Problem Concern, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.2']/hl7:entryRelationship[hl7:observation/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5']/hl7:observation/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.5'], the attribute root SHALL be present OCL self.entryRelationship->select(observation.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.4.5')).observation.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.5')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Problem Concern, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.2'] SHALL contain at least ONE hl7:entryRelationship[hl7:observation/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5'] OCL (not self.nullFlavor.oclIsUndefined()) or self.entryRelationship->size()>0 In Problem Concern, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.2']/hl7:entryRelationship[hl7:observation/hl7:code/@code='48766-0'], the attribute typeCode SHALL have the value 'REFR' if present OCL self.entryRelationship->select((not observation.code.code.oclIsUndefined()) and observation.code.code='48766-0')->forAll(typeCode.oclIsUndefined() or typeCode=XActRelationshipEntryRelationship::REFR) In Problem Concern, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.2']/hl7:entryRelationship[hl7:observation/hl7:code/@code='48766-0']/hl7:observation, the attribute classCode SHALL have the value 'OBS' if present (Item : CONF-526) OCL self.entryRelationship->select((not observation.code.code.oclIsUndefined()) and observation.code.code='48766-0').observation->forAll(classCode.oclIsUndefined() or classCode=ActClassObservation::OBS) In Problem Concern, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.2']/hl7:entryRelationship[hl7:observation/hl7:code/@code='48766-0']/hl7:observation, the attribute moodCode SHALL have the value 'EVN' if present (Item : CONF-527) OCL self.entryRelationship->select((not observation.code.code.oclIsUndefined()) and observation.code.code='48766-0').observation->forAll(moodCode.oclIsUndefined() or moodCode=XActMoodDocumentObservation::EVN) In Problem Concern, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.2']/hl7:entryRelationship[hl7:observation/hl7:code/@code='48766-0']/hl7:observation/hl7:code, the attribute code SHALL be present OCL self.entryRelationship->select((not observation.code.code.oclIsUndefined()) and observation.code.code='48766-0').observation.code->forAll((not nullFlavor.oclIsUndefined()) or (not code.oclIsUndefined())) In Problem Concern, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.2']/hl7:entryRelationship[hl7:observation/hl7:code/@code='48766-0']/hl7:observation/hl7:code, the attribute codeSystem SHALL have the value '2.16.840.1.113883.6.1' if present OCL self.entryRelationship->select((not observation.code.code.oclIsUndefined()) and observation.code.code='48766-0').observation.code->forAll(codeSystem.oclIsUndefined() or codeSystem='2.16.840.1.113883.6.1') In Problem Concern, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.2']/hl7:entryRelationship[hl7:observation/hl7:code/@code='48766-0']/hl7:observation/hl7:statusCode, the attribute code SHALL be present OCL self.entryRelationship->select((not observation.code.code.oclIsUndefined()) and observation.code.code='48766-0').observation.statusCode->forAll((not nullFlavor.oclIsUndefined()) or (not code.oclIsUndefined())) In Problem Concern, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.2']/hl7:entryRelationship[hl7:observation/hl7:code/@code='48766-0']/hl7:observation/hl7:statusCode, the attribute code SHALL have the value 'completed' if present OCL self.entryRelationship->select((not observation.code.code.oclIsUndefined()) and observation.code.code='48766-0').observation.statusCode->forAll(code.oclIsUndefined() or code='completed') In Problem Concern, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.2']/hl7:entryRelationship[hl7:observation/hl7:code/@code='48766-0']/hl7:observation SHALL contain at least ONE hl7:statusCode (Item : CONF-528 / CONF-529) OCL self.entryRelationship->select((not observation.code.code.oclIsUndefined()) and observation.code.code='48766-0').observation->forAll(not statusCode.oclIsUndefined()) In Problem Concern, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.2']/hl7:entryRelationship[hl7:observation/hl7:code/@code='48766-0']/hl7:observation, the element(s) hl7:value SHALL not have nullFlavor (mandatory) (Item : CONF-532 / CONF-533) OCL self.entryRelationship->select((not observation.code.code.oclIsUndefined()) and observation.code.code='48766-0').observation.value->forAll(nullFlavor.oclIsUndefined()) In Problem Concern, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.2']/hl7:entryRelationship[hl7:observation/hl7:code/@code='48766-0']/hl7:observation SHALL contain at most ONE hl7:value (Item : CONF-532 / CONF-533) OCL self.entryRelationship->select((not observation.code.code.oclIsUndefined()) and observation.code.code='48766-0').observation->forAll(value->size()<2) In Problem Concern, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.2']/hl7:entryRelationship[hl7:observation/hl7:code/@code='48766-0']/hl7:observation SHALL contain at least ONE hl7:value (Item : CONF-532 / CONF-533) OCL self.entryRelationship->select((not observation.code.code.oclIsUndefined()) and observation.code.code='48766-0').observation->forAll(value->size()>0) In Entry Problem Status Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.1'], the attribute classCode SHALL have the value 'OBS' if present OCL self.classCode.oclIsUndefined() or self.classCode=ActClassObservation::OBS In Entry Problem Status Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.1'], the attribute moodCode SHALL have the value 'EVN' if present OCL self.moodCode.oclIsUndefined() or self.moodCode=XActMoodDocumentObservation::EVN In Entry Problem Status Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.1']/hl7:templateId[@root='2.16.840.1.113883.10.20.1.57'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.57')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Entry Problem Status Observation, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.1'] SHALL contain at most ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.57'] OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.57')->size()<2 In Entry Problem Status Observation, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.1'] SHALL contain at least ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.57'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Entry Problem Status Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.1']/hl7:templateId[@root='2.16.840.1.113883.10.20.1.50'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.50')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Entry Problem Status Observation, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.1'] SHALL contain at most ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.50'] OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.50')->size()<2 In Entry Problem Status Observation, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.1'] SHALL contain at least ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.50'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Entry Problem Status Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.1']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.1'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.1.1')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Entry Problem Status Observation, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.1'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.1'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.1.1')->size()<2 In Entry Problem Status Observation, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.1'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.1'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Entry Problem Status Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.1']/hl7:code, the attribute code SHALL be present OCL self.code->forAll((not nullFlavor.oclIsUndefined()) or (not code.oclIsUndefined())) In Entry Problem Status Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.1']/hl7:code, the attribute code SHALL have the value '33999-4' if present OCL self.code->forAll(code.oclIsUndefined() or code='33999-4') In Entry Problem Status Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.1']/hl7:code, the attribute codeSystem SHALL have the value '2.16.840.1.113883.6.1' if present OCL self.code->forAll(codeSystem.oclIsUndefined() or codeSystem='2.16.840.1.113883.6.1') In Entry Problem Status Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.1'], the element(s) hl7:text SHALL not have nullFlavor (mandatory) OCL self.text->forAll(nullFlavor.oclIsUndefined()) In Entry Problem Status Observation, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.1'] SHALL contain at least ONE hl7:text OCL (not self.nullFlavor.oclIsUndefined()) or self.text->size()>0 In Entry Problem Status Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.1']/hl7:statusCode, the attribute code SHALL be present OCL self.statusCode->forAll((not nullFlavor.oclIsUndefined()) or (not code.oclIsUndefined())) In Entry Problem Status Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.1']/hl7:statusCode, the attribute code SHALL have the value 'completed' if present OCL self.statusCode->forAll(code.oclIsUndefined() or code='completed') In Entry Problem Status Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.1']/hl7:statusCode, the attribute codeSystem SHALL have the value '2.16.840.1.113883.5.14' if present OCL self.statusCode->forAll(codeSystem.oclIsUndefined() or codeSystem='2.16.840.1.113883.5.14') In Entry Problem Status Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.1'], the element(s) hl7:value SHALL be from the datatype CD OCL self.value->forAll(oclIsKindOf(CD)) In Entry Problem Status Observation, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.1'] SHALL contain at most ONE hl7:value OCL self.value->size()<2 In Entry Problem Status Observation, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.1'] SHALL contain at least ONE hl7:value OCL (not self.nullFlavor.oclIsUndefined()) or self.value->size()>0 In Entry Problem Status Observation, the code of /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.1']/hl7:value SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.15 OCL self.value->forAll( (not nullFlavor.oclIsUndefined()) or ((not oclAsType(CD).code.oclIsUndefined()) and (not oclAsType(CD).codeSystem.oclIsUndefined()) and matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.15', oclAsType(CD).code, oclAsType(CD).codeSystem, null, null))) In Medication Item, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4'], the attribute classCode SHALL have the value 'SBADM' if present OCL self.classCode.oclIsUndefined() or self.classCode=ActClass::SBADM In Medication Item, the code of /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/@moodCode SHALL have code='INT' OR SHALL have code='EVN' OCL self.moodCode->forAll( aa | (CommonOperationsStatic::stringValueOf(aa)='INT') or (CommonOperationsStatic::stringValueOf(aa)='EVN')) In Medication Item, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:templateId[@root='2.16.840.1.113883.10.20.1.24'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.24')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Medication Item, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4'] SHALL contain at most ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.24'] OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.24')->size()<2 In Medication Item, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4'] SHALL contain at least ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.24'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Medication Item, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.7'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.7')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Medication Item, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.7'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.7')->size()<2 In Medication Item, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.7'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Medication Item, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Medication Item, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4')->size()<2 In Medication Item, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Medication Item, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.7.1'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.7.1')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Medication Item, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.7.1'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.7.1')->size()<2 In Medication Item, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.11'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.11')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Medication Item, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.11'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.11')->size()<2 In Medication Item, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.9'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.9')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Medication Item, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.9'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.9')->size()<2 In Medication Item, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4'], the element(s) hl7:id SHALL not have nullFlavor (mandatory) OCL self.id->forAll(nullFlavor.oclIsUndefined()) In Medication Item, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4'] SHALL contain at most ONE hl7:id OCL self.id->size()<2 In Medication Item, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4'] SHALL contain at least ONE hl7:id OCL (not self.nullFlavor.oclIsUndefined()) or self.id->size()>0 In Medication Item, the code of /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:code SHALL be from the valueSet 2.16.840.1.113883.1.11.19708 OR SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.22 OCL self.code->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('2.16.840.1.113883.1.11.19708', code, codeSystem, null, null)) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.22', code, codeSystem, null, null))) In Medication Item, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4'], the element(s) hl7:statusCode SHALL not have nullFlavor (mandatory) OCL self.statusCode->forAll(nullFlavor.oclIsUndefined()) In Medication Item, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4'] SHALL contain at least ONE hl7:statusCode OCL (not self.nullFlavor.oclIsUndefined()) or self.statusCode->size()>0 In Medication Item, the code of /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:statusCode SHALL have code='active' OR SHALL have code='completed' OCL self.statusCode->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and code='active') or ((not code.oclIsUndefined()) and code='completed')) In Medication Item, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4'], the element(s) hl7:effectiveTime SHALL be from the datatype IVLTS OCL self.effectiveTime->select((not ((not operator.oclIsUndefined()) and operator=SetOperator::A)))->forAll(oclIsKindOf(IVLTS)) In Medication Item, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4'] SHALL contain at most ONE hl7:effectiveTime OCL self.effectiveTime->select((not ((not operator.oclIsUndefined()) and operator=SetOperator::A)))->size()<2 In Medication Item, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4'] SHALL contain at least ONE hl7:effectiveTime OCL (not self.nullFlavor.oclIsUndefined()) or self.effectiveTime->size()>0 In Medication Item, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:effectiveTime[@operator='A'], the attribute operator SHALL be present OCL self.effectiveTime->select((not operator.oclIsUndefined()) and operator=SetOperator::A)->forAll((not nullFlavor.oclIsUndefined()) or (not operator.oclIsUndefined())) In Medication Item, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4'] SHALL contain at least ONE hl7:effectiveTime[@operator='A'] OCL (not self.nullFlavor.oclIsUndefined()) or self.effectiveTime->size()>0 In Medication Item, the code of /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:routeCode SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.12 OCL self.routeCode->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.12', code, codeSystem, null, null))) In Medication Item, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:doseQuantity, the attribute unit SHALL be present OCL self.doseQuantity->forAll((not nullFlavor.oclIsUndefined()) or (not unit.oclIsUndefined())) In Medication Item, the code of /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:doseQuantity/@unit SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.16 OCL self.doseQuantity.unit->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.16', aa))) In Medication Item, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:consumable, the attribute typeCode SHALL be present OCL self.consumable->forAll((not nullFlavor.oclIsUndefined()) or (not typeCode.oclIsUndefined())) In Medication Item, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:consumable, the attribute typeCode SHALL have the value 'CSM' if present OCL self.consumable->forAll(typeCode.oclIsUndefined() or typeCode=ParticipationType::CSM) In Medication Item, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:consumable/hl7:manufacturedProduct, the attribute classCode SHALL have the value 'MANU' if present OCL self.consumable.manufacturedProduct->forAll(classCode.oclIsUndefined() or classCode=RoleClassManufacturedProduct::MANU) In Medication Item, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:consumable/hl7:manufacturedProduct/hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.1'], the attribute root SHALL be present OCL self.consumable.manufacturedProduct.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.3.1')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Medication Item, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:consumable/hl7:manufacturedProduct SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.1'] OCL self.consumable.manufacturedProduct->forAll(templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.3.1')->size()<2) In Medication Item, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:consumable/hl7:manufacturedProduct SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.1'] OCL self.consumable.manufacturedProduct->forAll(templateId->size()>0) In Medication Item, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:consumable/hl7:manufacturedProduct/hl7:manufacturedMaterial, the attribute classCode SHALL be present OCL self.consumable.manufacturedProduct.manufacturedMaterial->forAll((not nullFlavor.oclIsUndefined()) or (not classCode.oclIsUndefined())) In Medication Item, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:consumable/hl7:manufacturedProduct/hl7:manufacturedMaterial, the attribute classCode SHALL have the value 'MMAT' if present OCL self.consumable.manufacturedProduct.manufacturedMaterial->forAll(classCode.oclIsUndefined() or classCode=EntityClassManufacturedMaterial::MMAT) In Medication Item, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:consumable/hl7:manufacturedProduct/hl7:manufacturedMaterial, the attribute determinerCode SHALL be present OCL self.consumable.manufacturedProduct.manufacturedMaterial->forAll((not nullFlavor.oclIsUndefined()) or (not determinerCode.oclIsUndefined())) In Medication Item, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:consumable/hl7:manufacturedProduct/hl7:manufacturedMaterial, the attribute determinerCode SHALL have the value 'KIND' if present OCL self.consumable.manufacturedProduct.manufacturedMaterial->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminerDetermined::KIND) In Medication Item, the code of /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:consumable/hl7:manufacturedProduct/hl7:manufacturedMaterial/hl7:code SHALL be from the valueSet 2.16.840.1.113883.1.11.16041 OCL self.consumable.manufacturedProduct.manufacturedMaterial.code->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('2.16.840.1.113883.1.11.16041', code, codeSystem, null, null))) In Medication Item, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:author, the attribute typeCode SHALL have the value 'AUT' if present OCL self.author->forAll(typeCode.oclIsUndefined() or typeCode=ParticipationType::AUT) In Medication Item, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:author, the attribute contextControlCode SHALL have the value 'OP' if present OCL self.author->forAll(contextControlCode.oclIsUndefined() or contextControlCode=NullFlavor::OP) In Medication Item, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:author, the element(s) hl7:functionCode SHALL not have nullFlavor (mandatory) (Item : R1.10.6) OCL self.author.functionCode->forAll(nullFlavor.oclIsUndefined()) In Medication Item, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:author SHALL contain at least ONE hl7:functionCode (Item : R1.10.6) OCL self.author->forAll(not functionCode.oclIsUndefined()) In Medication Item, the code of /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:author/hl7:functionCode SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.1 (Item : R1.10.6) OCL self.author.functionCode->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.1', code, codeSystem, null, null))) In Medication Item, the element defined by /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:author/hl7:assignedAuthor shall verify this requirement : If assignedAuthor has an associated representedOrganization with no assignedPerson or assignedAuthoringDevice, then the value for "ClinicalDocument/author/assignedAuthor/id/@NullFlavor" SHALL be "NA" "Not applicable" 2.16.840.1.113883.5.1008 NullFlavor STATIC. OCL self.author.assignedAuthor->reject(not nullFlavor.oclIsUndefined())->forAll(aa | CommonOperationsStatic::validateByXPATHV2(aa, '@nullFlavor or cda:assignedPerson or cda:assignedAuthoringDevice') ) In Medication Item, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:author/hl7:assignedAuthor, the attribute classCode SHALL have the value 'ASSIGNED' if present OCL self.author.assignedAuthor->forAll(classCode.oclIsUndefined() or classCode=RoleClassAssignedEntity::ASSIGNED) In Medication Item, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:author/hl7:assignedAuthor/hl7:id, the attribute nullFlavor SHALL have the value 'NA' if present OCL self.author.assignedAuthor.id->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::NA) In Medication Item, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:author/hl7:assignedAuthor SHALL contain at least ONE hl7:addr (Item : IHE PCC) OCL self.author.assignedAuthor->forAll(addr->size()>0) In Medication Item, the code of /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:author/hl7:assignedAuthor/hl7:telecom/@use SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.40 OCL self.author.assignedAuthor.telecom.use->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.40', aa))) In Medication Item, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:author/hl7:assignedAuthor SHALL contain at least ONE hl7:telecom (Item : IHE PCC / R1.10.8 / R1.10.8.1 / R1.10.8.2) OCL self.author.assignedAuthor->forAll(telecom->size()>0) In Medication Item, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson, the attribute classCode SHALL have the value 'PSN' if present OCL self.author.assignedAuthor.assignedPerson->forAll(classCode.oclIsUndefined() or classCode=EntityClass::PSN) In Medication Item, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.author.assignedAuthor.assignedPerson->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In Medication Item, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson/hl7:name SHALL contain at least ONE hl7:family (Item : R1.10.1) OCL self.author.assignedAuthor.assignedPerson.name->forAll(family->size()>0) In Medication Item, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson/hl7:name SHALL contain at least ONE hl7:given (Item : R1.10.2) OCL self.author.assignedAuthor.assignedPerson.name->forAll(given->size()>0) In Medication Item, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson/hl7:name SHALL contain at least ONE hl7:prefix (Item : R1.10.3) OCL self.author.assignedAuthor.assignedPerson.name->forAll(prefix->size()>0) In Medication Item, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson/hl7:name SHALL contain at least ONE hl7:suffix (Item : R1.10.4) OCL self.author.assignedAuthor.assignedPerson.name->forAll(suffix->size()>0) In Medication Item, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson SHALL contain at most ONE hl7:name (Item : IHE PCC) OCL self.author.assignedAuthor.assignedPerson->forAll(name->size()<2) In Medication Item, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson SHALL contain at least ONE hl7:name (Item : IHE PCC) OCL self.author.assignedAuthor.assignedPerson->forAll(name->size()>0) In Medication Item, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:author/hl7:assignedAuthor, the element(s) hl7:assignedPerson SHALL not have nullFlavor (mandatory) OCL self.author.assignedAuthor.assignedPerson->forAll(nullFlavor.oclIsUndefined()) In Medication Item, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:author/hl7:assignedAuthor SHALL contain at least ONE hl7:assignedPerson OCL self.author.assignedAuthor->forAll(not assignedPerson.oclIsUndefined()) In Medication Item, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization, the attribute classCode SHALL be present OCL self.author.assignedAuthor.representedOrganization->forAll((not nullFlavor.oclIsUndefined()) or (not classCode.oclIsUndefined())) In Medication Item, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization, the attribute classCode SHALL have the value 'ORG' if present OCL self.author.assignedAuthor.representedOrganization->forAll(classCode.oclIsUndefined() or classCode=EntityClassOrganization::ORG) In Medication Item, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization, the attribute determinerCode SHALL be present OCL self.author.assignedAuthor.representedOrganization->forAll((not nullFlavor.oclIsUndefined()) or (not determinerCode.oclIsUndefined())) In Medication Item, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.author.assignedAuthor.representedOrganization->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In Medication Item, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at most ONE hl7:id (Item : R1.10.9.2) OCL self.author.assignedAuthor.representedOrganization->forAll(id->size()<2) In Medication Item, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at least ONE hl7:id (Item : R1.10.9.2) OCL self.author.assignedAuthor.representedOrganization->forAll(id->size()>0) In Medication Item, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at most ONE hl7:name (Item : R1.10.9.1) OCL self.author.assignedAuthor.representedOrganization->forAll(name->size()<2) In Medication Item, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at least ONE hl7:name (Item : R1.10.9.1) OCL self.author.assignedAuthor.representedOrganization->forAll(name->size()>0) In Medication Item, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:telecom, the attribute use SHALL be present OCL self.author.assignedAuthor.representedOrganization.telecom.use->size()>0 In Medication Item, the code of /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:telecom/@use SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.40 OCL self.author.assignedAuthor.representedOrganization.telecom.use->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.40', aa))) In Medication Item, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:telecom, the attribute nullFlavor SHALL have the value 'UNK' if present OCL self.author.assignedAuthor.representedOrganization.telecom->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::UNK) In Medication Item, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at least ONE hl7:telecom (Item : R1.10.9.4 / R1.10.9.4.1 / R1.10.9.4.2) OCL self.author.assignedAuthor.representedOrganization->forAll(telecom->size()>0) In Medication Item, the element defined by /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr shall verify this requirement : If addr is not nullflavored at least one sub element has to be provided (Item : R1.10.9.3) OCL self.author.assignedAuthor.representedOrganization.addr->reject(not nullFlavor.oclIsUndefined())->forAll(aa | CommonOperationsStatic::validateByXPATHV2(aa, '@nullFlavor or cda:*') ) In Medication Item, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:streetAddressLine (Item : R1.10.9.3.1) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(streetAddressLine->size()>0) In Medication Item, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:city (Item : R1.10.9.3.2) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(city->size()<2) In Medication Item, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:city (Item : R1.10.9.3.2) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(city->size()>0) In Medication Item, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:postalCode (Item : R1.10.9.3.3) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(postalCode->size()<2) In Medication Item, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:postalCode (Item : R1.10.9.3.3) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(postalCode->size()>0) In Medication Item, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:state (Item : R1.10.9.3.4) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(state->size()<2) In Medication Item, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:state (Item : R1.10.9.3.4) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(state->size()>0) In Medication Item, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:country (Item : R1.10.9.3.5) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(country->size()<2) In Medication Item, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:country (Item : R1.10.9.3.5) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(country->size()>0) In Medication Item, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization, the element(s) hl7:addr SHALL not have nullFlavor (mandatory) (Item : R1.10.9.3) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(nullFlavor.oclIsUndefined()) In Medication Item, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at most ONE hl7:addr (Item : R1.10.9.3) OCL self.author.assignedAuthor.representedOrganization->forAll(addr->size()<2) In Medication Item, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at least ONE hl7:addr (Item : R1.10.9.3) OCL self.author.assignedAuthor.representedOrganization->forAll(addr->size()>0) In Medication Item, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:author/hl7:assignedAuthor SHALL contain at least ONE hl7:representedOrganization (Item : R1.10.9) OCL self.author.assignedAuthor->forAll(not representedOrganization.oclIsUndefined()) In Medication Item, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:entryRelationship[@typeCode='SUBJ'], the attribute inversionInd SHALL be present OCL self.entryRelationship->select((not typeCode.oclIsUndefined()) and typeCode=XActRelationshipEntryRelationship::SUBJ)->forAll((not nullFlavor.oclIsUndefined()) or (not inversionInd.oclIsUndefined())) In Medication Item, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:entryRelationship[@typeCode='SUBJ']/hl7:act/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.3.1'], the attribute root SHALL be present OCL self.entryRelationship->select((not typeCode.oclIsUndefined()) and typeCode=XActRelationshipEntryRelationship::SUBJ).act.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.3.1')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Medication Item, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:entryRelationship[@typeCode='COMP'], the element(s) hl7:sequenceNumber SHALL not have nullFlavor (mandatory) OCL self.entryRelationship->select((not typeCode.oclIsUndefined()) and typeCode=XActRelationshipEntryRelationship::COMP).sequenceNumber->forAll(nullFlavor.oclIsUndefined()) In Medication Item, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/hl7:entryRelationship[@typeCode='COMP'] SHALL contain at least ONE hl7:sequenceNumber OCL self.entryRelationship->select((not typeCode.oclIsUndefined()) and typeCode=XActRelationshipEntryRelationship::COMP)->forAll(not sequenceNumber.oclIsUndefined()) In Vital Signs Organizer, in /hl7:organizer[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.1']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.1'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.13.1')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Vital Signs Organizer, in /hl7:organizer[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.1'], the element(s) hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.1'] SHALL not have nullFlavor (mandatory) OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.13.1')->forAll(nullFlavor.oclIsUndefined()) In Vital Signs Organizer, /hl7:organizer[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.1'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.1'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.13.1')->size()<2 In Vital Signs Organizer, /hl7:organizer[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.1'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.1'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Vital Signs Organizer, in /hl7:organizer[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.1']/hl7:templateId[@root='2.16.840.1.113883.10.20.1.32'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.32')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Vital Signs Organizer, in /hl7:organizer[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.1'], the element(s) hl7:templateId[@root='2.16.840.1.113883.10.20.1.32'] SHALL not have nullFlavor (mandatory) OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.32')->forAll(nullFlavor.oclIsUndefined()) In Vital Signs Organizer, /hl7:organizer[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.1'] SHALL contain at most ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.32'] OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.32')->size()<2 In Vital Signs Organizer, /hl7:organizer[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.1'] SHALL contain at least ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.32'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Vital Signs Organizer, in /hl7:organizer[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.1']/hl7:templateId[@root='2.16.840.1.113883.10.20.1.35'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.35')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Vital Signs Organizer, in /hl7:organizer[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.1'], the element(s) hl7:templateId[@root='2.16.840.1.113883.10.20.1.35'] SHALL not have nullFlavor (mandatory) OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.35')->forAll(nullFlavor.oclIsUndefined()) In Vital Signs Organizer, /hl7:organizer[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.1'] SHALL contain at most ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.35'] OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.35')->size()<2 In Vital Signs Organizer, /hl7:organizer[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.1'] SHALL contain at least ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.35'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Vital Signs Organizer, in /hl7:organizer[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.1'], the element(s) hl7:id SHALL not have nullFlavor (mandatory) OCL self.id->forAll(nullFlavor.oclIsUndefined()) In Vital Signs Organizer, /hl7:organizer[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.1'] SHALL contain at most ONE hl7:id OCL self.id->size()<2 In Vital Signs Organizer, /hl7:organizer[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.1'] SHALL contain at least ONE hl7:id OCL (not self.nullFlavor.oclIsUndefined()) or self.id->size()>0 In Vital Signs Organizer, in /hl7:organizer[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.1']/hl7:code, the attribute code SHALL be present OCL self.code->forAll((not nullFlavor.oclIsUndefined()) or (not code.oclIsUndefined())) In Vital Signs Organizer, in /hl7:organizer[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.1']/hl7:code, the attribute code SHALL have the value '46680005' if present OCL self.code->forAll(code.oclIsUndefined() or code='46680005') In Vital Signs Organizer, in /hl7:organizer[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.1']/hl7:code, the attribute codeSystem SHALL have the value '2.16.840.1.113883.6.96' if present OCL self.code->forAll(codeSystem.oclIsUndefined() or codeSystem='2.16.840.1.113883.6.96') In Vital Signs Organizer, in /hl7:organizer[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.1'], the element(s) hl7:code SHALL not have nullFlavor (mandatory) OCL self.code->forAll(nullFlavor.oclIsUndefined()) In Vital Signs Organizer, /hl7:organizer[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.1'] SHALL contain at least ONE hl7:code OCL (not self.nullFlavor.oclIsUndefined()) or self.code->size()>0 In Vital Signs Organizer, in /hl7:organizer[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.1']/hl7:statusCode, the attribute code SHALL be present OCL self.statusCode->forAll((not nullFlavor.oclIsUndefined()) or (not code.oclIsUndefined())) In Vital Signs Organizer, in /hl7:organizer[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.1']/hl7:statusCode, the attribute code SHALL have the value 'completed' if present OCL self.statusCode->forAll(code.oclIsUndefined() or code='completed') In Vital Signs Organizer, in /hl7:organizer[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.1'], the element(s) hl7:statusCode SHALL not have nullFlavor (mandatory) OCL self.statusCode->forAll(nullFlavor.oclIsUndefined()) In Vital Signs Organizer, /hl7:organizer[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.1'] SHALL contain at least ONE hl7:effectiveTime OCL (not self.nullFlavor.oclIsUndefined()) or self.effectiveTime->size()>0 In Vital Signs Organizer, in /hl7:organizer[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.1']/hl7:component/hl7:observation/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.2'], the attribute root SHALL be present OCL self.component.observation.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.13.2')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Vital Signs Organizer, in /hl7:organizer[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.1'], the element(s) hl7:component SHALL not have nullFlavor (mandatory) OCL self.component->forAll(nullFlavor.oclIsUndefined()) In Vital Signs Organizer, /hl7:organizer[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.1'] SHALL contain at least ONE hl7:component OCL (not self.nullFlavor.oclIsUndefined()) or self.component->size()>0 In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4'], the attribute typeCode SHALL have the value 'IND' if present (Item : R1.8.5) OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4'))->forAll(typeCode.oclIsUndefined() or typeCode=ParticipationType::IND) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.2.4'], the attribute root SHALL be present OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')).templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.2.4')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4'], the element(s) hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.2.4'] SHALL not have nullFlavor (mandatory) OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')).templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.2.4')->forAll(nullFlavor.oclIsUndefined()) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.2.4'] OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4'))->forAll(templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.2.4')->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.2.4'] OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4'))->forAll(templateId->size()>0) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4']/hl7:functionCode, the attribute code SHALL be present OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')).functionCode->forAll((not nullFlavor.oclIsUndefined()) or (not code.oclIsUndefined())) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4']/hl7:functionCode, the attribute code SHALL have the value 'PCP' if present OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')).functionCode->forAll(code.oclIsUndefined() or code='PCP') In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4']/hl7:functionCode, the attribute codeSystem SHALL have the value '2.16.840.1.113883.5.88' if present OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')).functionCode->forAll(codeSystem.oclIsUndefined() or codeSystem='2.16.840.1.113883.5.88') In epSOS-Medication Related Overview, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4']/hl7:associatedEntity/@classCode SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.39 OR SHALL have code='PRS' (Item : R1.8.6) OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')).associatedEntity.classCode->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.39', CommonOperationsStatic::stringValueOf(aa))) or (CommonOperationsStatic::stringValueOf(aa)='PRS')) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4']/hl7:associatedEntity/hl7:associatedPerson, the number of elements of type 'family', 'given' SHALL be bigger or equal to 1 OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')).associatedEntity.associatedPerson.name->forAll( (family->size()+given->size())>=1) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4']/hl7:associatedEntity/hl7:associatedPerson SHALL contain at most ONE hl7:name (Item : IHE PCC / R1.9.1) OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')).associatedEntity.associatedPerson->forAll(name->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4']/hl7:associatedEntity/hl7:associatedPerson SHALL contain at least ONE hl7:name (Item : IHE PCC / R1.9.1) OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')).associatedEntity.associatedPerson->forAll(name->size()>0) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4']/hl7:associatedEntity/hl7:scopingOrganization SHALL contain at most ONE hl7:name (Item : R1.9.1) OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')).associatedEntity.scopingOrganization->forAll(name->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4']/hl7:associatedEntity/hl7:scopingOrganization SHALL contain at least ONE hl7:name (Item : R1.9.1) OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')).associatedEntity.scopingOrganization->forAll(name->size()>0) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4'], the number of elements of type 'associatedPerson', 'scopingOrganization' SHALL be lower or equal to 1 OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')).associatedEntity->forAll( (associatedPerson->size()+scopingOrganization->size())<=1) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4'], the number of elements of type 'associatedPerson', 'scopingOrganization' SHALL be bigger or equal to 1 OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')).associatedEntity->forAll( (associatedPerson->size()+scopingOrganization->size())>=1) In epSOS-Medication Related Overview, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4']/hl7:associatedEntity/hl7:code SHALL have codeSystem='2.16.840.1.113883.5.111' (Item : R1.8.6) OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')).associatedEntity.code->forAll( (not nullFlavor.oclIsUndefined()) or ((not codeSystem.oclIsUndefined()) and codeSystem='2.16.840.1.113883.5.111')) In epSOS-Medication Related Overview, the element defined by /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4']/hl7:associatedEntity/hl7:addr shall verify this requirement : If addr is not nullflavored at least one sub element has to be provided (Item : R1.8.3 / R1.9.2) OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')).associatedEntity.addr->reject(not nullFlavor.oclIsUndefined())->forAll(aa | CommonOperationsStatic::validateByXPATHV2(aa, '@nullFlavor or cda:*') ) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4']/hl7:associatedEntity/hl7:addr, the attribute nullFlavor SHALL have the value 'NI' if present OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')).associatedEntity.addr->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::NI) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4']/hl7:associatedEntity/hl7:addr SHALL contain at most ONE hl7:city (Item : R1.8.2.3 / R1.9.2.3) OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')).associatedEntity.addr->forAll(city->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4']/hl7:associatedEntity/hl7:addr SHALL contain at most ONE hl7:postalCode (Item : R1.8.2.4 / R1.9.2.4) OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')).associatedEntity.addr->forAll(postalCode->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4']/hl7:associatedEntity/hl7:addr SHALL contain at most ONE hl7:state (Item : R1.8.2.5 / R1.9.2.5) OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')).associatedEntity.addr->forAll(state->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4']/hl7:associatedEntity/hl7:addr SHALL contain at most ONE hl7:country (Item : R1.8.2.6 / R1.9.2.6) OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')).associatedEntity.addr->forAll(country->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4']/hl7:associatedEntity SHALL contain at most ONE hl7:addr (Item : R1.8.3 / R1.9.2) OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')).associatedEntity->forAll(addr->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4']/hl7:associatedEntity SHALL contain at least ONE hl7:addr (Item : R1.8.3 / R1.9.2) OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')).associatedEntity->forAll(addr->size()>0) In epSOS-Medication Related Overview, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4']/hl7:associatedEntity/hl7:telecom/@use SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.40 OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')).associatedEntity.telecom.use->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.40', aa))) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4']/hl7:associatedEntity/hl7:telecom, the attribute nullFlavor SHALL have the value 'UNK' if present OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')).associatedEntity.telecom->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::UNK) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4']/hl7:associatedEntity SHALL contain at least ONE hl7:telecom (Item : R1.8.4.1 / R1.8.4.2 / R1.9.3.1 / R1.9.3.2) OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')).associatedEntity->forAll(telecom->size()>0) In epSOS-Medication Related Overview, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant/@typeCode SHALL be from the valueSet 2.16.840.1.113883.1.11.10901 OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).typeCode->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('2.16.840.1.113883.1.11.10901', CommonOperationsStatic::stringValueOf(aa)))) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant, the attribute contextControlCode SHALL be present OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4'))))->forAll((not nullFlavor.oclIsUndefined()) or (not contextControlCode.oclIsUndefined())) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant, the attribute contextControlCode SHALL have the value 'OP' if present OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4'))))->forAll(contextControlCode.oclIsUndefined() or contextControlCode=NullFlavor::OP) In epSOS-Medication Related Overview, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant/hl7:functionCode SHALL be from the valueSet 2.16.840.1.113883.1.11.10267 OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).functionCode->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('2.16.840.1.113883.1.11.10267', code, codeSystem, null, null))) In epSOS-Medication Related Overview, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant/hl7:associatedEntity/@classCode SHALL be from the valueSet 2.16.840.1.113883.1.11.19313 OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.classCode->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('2.16.840.1.113883.1.11.19313', CommonOperationsStatic::stringValueOf(aa)))) In epSOS-Medication Related Overview, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant/hl7:associatedEntity/hl7:code SHALL have codeSystem='2.16.840.1.113883.5.111' OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.code->forAll( (not nullFlavor.oclIsUndefined()) or ((not codeSystem.oclIsUndefined()) and codeSystem='2.16.840.1.113883.5.111')) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant/hl7:associatedEntity/hl7:associatedPerson, the attribute classCode SHALL have the value 'PSN' if present OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.associatedPerson->forAll(classCode.oclIsUndefined() or classCode=EntityClass::PSN) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant/hl7:associatedEntity/hl7:associatedPerson, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.associatedPerson->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant/hl7:associatedEntity/hl7:associatedPerson SHALL contain at least ONE hl7:name (Item : IHE PCC) OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.associatedPerson->forAll(name->size()>0) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant/hl7:associatedEntity/hl7:scopingOrganization, the attribute classCode SHALL be present OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.scopingOrganization->forAll((not nullFlavor.oclIsUndefined()) or (not classCode.oclIsUndefined())) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant/hl7:associatedEntity/hl7:scopingOrganization, the attribute classCode SHALL have the value 'ORG' if present OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.scopingOrganization->forAll(classCode.oclIsUndefined() or classCode=EntityClassOrganization::ORG) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant/hl7:associatedEntity/hl7:scopingOrganization, the attribute determinerCode SHALL be present OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.scopingOrganization->forAll((not nullFlavor.oclIsUndefined()) or (not determinerCode.oclIsUndefined())) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant/hl7:associatedEntity/hl7:scopingOrganization, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.scopingOrganization->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant/hl7:associatedEntity/hl7:scopingOrganization SHALL contain at most ONE hl7:id (Item : R1.10.9.2) OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.scopingOrganization->forAll(id->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant/hl7:associatedEntity/hl7:scopingOrganization SHALL contain at least ONE hl7:id (Item : R1.10.9.2) OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.scopingOrganization->forAll(id->size()>0) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant/hl7:associatedEntity/hl7:scopingOrganization SHALL contain at most ONE hl7:name (Item : R1.10.9.1) OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.scopingOrganization->forAll(name->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant/hl7:associatedEntity/hl7:scopingOrganization SHALL contain at least ONE hl7:name (Item : R1.10.9.1) OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.scopingOrganization->forAll(name->size()>0) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant/hl7:associatedEntity/hl7:scopingOrganization/hl7:telecom, the attribute use SHALL be present OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.scopingOrganization.telecom.use->size()>0 In epSOS-Medication Related Overview, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant/hl7:associatedEntity/hl7:scopingOrganization/hl7:telecom/@use SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.40 OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.scopingOrganization.telecom.use->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.40', aa))) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant/hl7:associatedEntity/hl7:scopingOrganization/hl7:telecom, the attribute nullFlavor SHALL have the value 'UNK' if present OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.scopingOrganization.telecom->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::UNK) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant/hl7:associatedEntity/hl7:scopingOrganization SHALL contain at least ONE hl7:telecom (Item : R1.10.9.4 / R1.10.9.4.1 / R1.10.9.4.2) OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.scopingOrganization->forAll(telecom->size()>0) In epSOS-Medication Related Overview, the element defined by /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant/hl7:associatedEntity/hl7:scopingOrganization/hl7:addr shall verify this requirement : If addr is not nullflavored at least one sub element has to be provided (Item : R1.10.9.3) OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.scopingOrganization.addr->reject(not nullFlavor.oclIsUndefined())->forAll(aa | CommonOperationsStatic::validateByXPATHV2(aa, '@nullFlavor or cda:*') ) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant/hl7:associatedEntity/hl7:scopingOrganization/hl7:addr SHALL contain at least ONE hl7:streetAddressLine (Item : R1.10.9.3.1) OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.scopingOrganization.addr->forAll(streetAddressLine->size()>0) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant/hl7:associatedEntity/hl7:scopingOrganization/hl7:addr SHALL contain at most ONE hl7:city (Item : R1.10.9.3.2) OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.scopingOrganization.addr->forAll(city->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant/hl7:associatedEntity/hl7:scopingOrganization/hl7:addr SHALL contain at least ONE hl7:city (Item : R1.10.9.3.2) OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.scopingOrganization.addr->forAll(city->size()>0) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant/hl7:associatedEntity/hl7:scopingOrganization/hl7:addr SHALL contain at most ONE hl7:postalCode (Item : R1.10.9.3.3) OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.scopingOrganization.addr->forAll(postalCode->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant/hl7:associatedEntity/hl7:scopingOrganization/hl7:addr SHALL contain at least ONE hl7:postalCode (Item : R1.10.9.3.3) OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.scopingOrganization.addr->forAll(postalCode->size()>0) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant/hl7:associatedEntity/hl7:scopingOrganization/hl7:addr SHALL contain at most ONE hl7:state (Item : R1.10.9.3.4) OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.scopingOrganization.addr->forAll(state->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant/hl7:associatedEntity/hl7:scopingOrganization/hl7:addr SHALL contain at least ONE hl7:state (Item : R1.10.9.3.4) OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.scopingOrganization.addr->forAll(state->size()>0) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant/hl7:associatedEntity/hl7:scopingOrganization/hl7:addr SHALL contain at most ONE hl7:country (Item : R1.10.9.3.5) OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.scopingOrganization.addr->forAll(country->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant/hl7:associatedEntity/hl7:scopingOrganization/hl7:addr SHALL contain at least ONE hl7:country (Item : R1.10.9.3.5) OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.scopingOrganization.addr->forAll(country->size()>0) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant/hl7:associatedEntity/hl7:scopingOrganization, the element(s) hl7:addr SHALL not have nullFlavor (mandatory) (Item : R1.10.9.3) OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.scopingOrganization.addr->forAll(nullFlavor.oclIsUndefined()) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant/hl7:associatedEntity/hl7:scopingOrganization SHALL contain at most ONE hl7:addr (Item : R1.10.9.3) OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.scopingOrganization->forAll(addr->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:participant/hl7:associatedEntity/hl7:scopingOrganization SHALL contain at least ONE hl7:addr (Item : R1.10.9.3) OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.scopingOrganization->forAll(addr->size()>0) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5'], the element(s) hl7:realmCode SHALL not have nullFlavor (mandatory) OCL self.realmCode->forAll(nullFlavor.oclIsUndefined()) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5'] SHALL contain at most ONE hl7:realmCode OCL self.realmCode->size()<2 In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5'] SHALL contain at least ONE hl7:realmCode OCL (not self.nullFlavor.oclIsUndefined()) or self.realmCode->size()>0 In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:typeId, the attribute root SHALL be present OCL self.typeId->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:typeId, the attribute root SHALL have the value '2.16.840.1.113883.1.3' if present OCL self.typeId->forAll(root.oclIsUndefined() or root='2.16.840.1.113883.1.3') In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:typeId, the attribute extension SHALL be present OCL self.typeId->forAll((not nullFlavor.oclIsUndefined()) or (not extension.oclIsUndefined())) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:typeId, the attribute extension SHALL have the value 'POCD_HD000040' if present OCL self.typeId->forAll(extension.oclIsUndefined() or extension='POCD_HD000040') In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5'], the element(s) hl7:typeId SHALL not have nullFlavor (mandatory) OCL self.typeId->forAll(nullFlavor.oclIsUndefined()) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5'], the element(s) hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5'] SHALL not have nullFlavor (mandatory) OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5')->forAll(nullFlavor.oclIsUndefined()) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5')->size()<2 In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5'], the element(s) hl7:id SHALL not have nullFlavor (mandatory) (Item : R1.11.3) OCL self.id->forAll(nullFlavor.oclIsUndefined()) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:code, the attribute displayName SHALL be present OCL self.code->forAll((not nullFlavor.oclIsUndefined()) or (not displayName.oclIsUndefined())) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:code, the attribute code SHALL be present OCL self.code->forAll((not nullFlavor.oclIsUndefined()) or (not code.oclIsUndefined())) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:code, the attribute code SHALL have the value '56445-0' if present OCL self.code->forAll(code.oclIsUndefined() or code='56445-0') In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:code, the attribute codeSystem SHALL have the value '2.16.840.1.113883.6.1' if present OCL self.code->forAll(codeSystem.oclIsUndefined() or codeSystem='2.16.840.1.113883.6.1') In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5'], the element(s) hl7:code SHALL not have nullFlavor (mandatory) (Item : R1.11.6) OCL self.code->forAll(nullFlavor.oclIsUndefined()) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5'], the element(s) hl7:title SHALL not have nullFlavor (mandatory) (Item : R1.11.7) OCL self.title->forAll(nullFlavor.oclIsUndefined()) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5'] SHALL contain at least ONE hl7:title (Item : R1.11.7) OCL (not self.nullFlavor.oclIsUndefined()) or self.title->size()>0 In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5'], the element(s) hl7:effectiveTime SHALL not have nullFlavor (mandatory) (Item : R1.11.1) OCL self.effectiveTime->forAll(nullFlavor.oclIsUndefined()) In epSOS-Medication Related Overview, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:confidentialityCode SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.31 (Item : R1.11.8) OCL self.confidentialityCode->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.31', code, codeSystem, null, null))) In epSOS-Medication Related Overview, the element defined by /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:languageCode shall verify this requirement : The language code SHALL be in the form nn-CC where nn is ISO-639-1 epSOSLanguage and CC is ISO-3166 epSOSCountry (Item : R.11.10) OCL self.languageCode->reject(not nullFlavor.oclIsUndefined())->forAll(aa | CommonOperationsStatic::validateByXPATHV2(aa, 'matches(@code,\"[a-z]{2}-[A-Z]{2}\")') ) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5'], the element(s) hl7:languageCode SHALL not have nullFlavor (mandatory) (Item : R.11.10) OCL self.languageCode->forAll(nullFlavor.oclIsUndefined()) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5'] SHALL contain at least ONE hl7:languageCode (Item : R.11.10) OCL (not self.nullFlavor.oclIsUndefined()) or self.languageCode->size()>0 In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:recordTarget, the attribute typeCode SHALL have the value 'RCT' if present OCL self.recordTarget->forAll(typeCode.oclIsUndefined() or typeCode=ParticipationType::RCT) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:recordTarget, the attribute contextControlCode SHALL have the value 'OP' if present OCL self.recordTarget->forAll(contextControlCode.oclIsUndefined() or contextControlCode=NullFlavor::OP) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:recordTarget/hl7:patientRole, the attribute classCode SHALL have the value 'PAT' if present OCL self.recordTarget.patientRole->forAll(classCode.oclIsUndefined() or classCode=RoleClass::PAT) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:recordTarget/hl7:patientRole/hl7:addr, the attribute nullFlavor SHALL have the value 'NI' if present OCL self.recordTarget.patientRole.addr->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::NI) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:recordTarget/hl7:patientRole/hl7:addr SHALL contain at most ONE hl7:city (Item : R1.5.3) OCL self.recordTarget.patientRole.addr->forAll(city->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:recordTarget/hl7:patientRole/hl7:addr SHALL contain at most ONE hl7:postalCode (Item : R1.5.4) OCL self.recordTarget.patientRole.addr->forAll(postalCode->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:recordTarget/hl7:patientRole/hl7:addr SHALL contain at most ONE hl7:state (Item : R1.5.5) OCL self.recordTarget.patientRole.addr->forAll(state->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:recordTarget/hl7:patientRole/hl7:addr SHALL contain at most ONE hl7:country (Item : R1.5.6) OCL self.recordTarget.patientRole.addr->forAll(country->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:recordTarget/hl7:patientRole SHALL contain at most ONE hl7:addr (Item : R1.5) OCL self.recordTarget.patientRole->forAll(addr->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:recordTarget/hl7:patientRole SHALL contain at least ONE hl7:addr (Item : R1.5) OCL self.recordTarget.patientRole->forAll(addr->size()>0) In epSOS-Medication Related Overview, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:recordTarget/hl7:patientRole/hl7:telecom/@use SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.40 OCL self.recordTarget.patientRole.telecom.use->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.40', aa))) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:recordTarget/hl7:patientRole/hl7:telecom, the attribute nullFlavor SHALL have the value 'NI' if present OCL self.recordTarget.patientRole.telecom->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::NI) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:recordTarget/hl7:patientRole SHALL contain at least ONE hl7:telecom (Item : R1.6.1 / R1.6.2) OCL self.recordTarget.patientRole->forAll(telecom->size()>0) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:recordTarget/hl7:patientRole/hl7:patient, the attribute classCode SHALL have the value 'PSN' if present OCL self.recordTarget.patientRole.patient->forAll(classCode.oclIsUndefined() or classCode=EntityClass::PSN) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:recordTarget/hl7:patientRole/hl7:patient, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.recordTarget.patientRole.patient->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:name, the element(s) hl7:family SHALL not have nullFlavor (mandatory) (Item : R1.1.1) OCL self.recordTarget.patientRole.patient.name.family->forAll(nullFlavor.oclIsUndefined()) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:name SHALL contain at least ONE hl7:family (Item : R1.1.1) OCL self.recordTarget.patientRole.patient.name->forAll(family->size()>0) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:name, the element(s) hl7:given SHALL not have nullFlavor (mandatory) (Item : R1.1.3) OCL self.recordTarget.patientRole.patient.name.given->forAll(nullFlavor.oclIsUndefined()) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:name SHALL contain at least ONE hl7:given (Item : R1.1.3) OCL self.recordTarget.patientRole.patient.name->forAll(given->size()>0) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:recordTarget/hl7:patientRole/hl7:patient SHALL contain at least ONE hl7:name (Item : R1.1) OCL self.recordTarget.patientRole.patient->forAll(name->size()>0) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:administrativeGenderCode, the attribute nullFlavor SHALL have the value 'UNK' if present OCL self.recordTarget.patientRole.patient.administrativeGenderCode->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::UNK) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:recordTarget/hl7:patientRole/hl7:patient SHALL contain at least ONE hl7:administrativeGenderCode (Item : R1.2) OCL self.recordTarget.patientRole.patient->forAll(not administrativeGenderCode.oclIsUndefined()) In epSOS-Medication Related Overview, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:administrativeGenderCode SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.34 (Item : R1.2) OCL self.recordTarget.patientRole.patient.administrativeGenderCode->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.34', code, codeSystem, null, null))) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:recordTarget/hl7:patientRole/hl7:patient, the element(s) hl7:birthTime SHALL not have nullFlavor (mandatory) (Item : R1.3) OCL self.recordTarget.patientRole.patient.birthTime->forAll(nullFlavor.oclIsUndefined()) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:recordTarget/hl7:patientRole/hl7:patient SHALL contain at least ONE hl7:birthTime (Item : R1.3) OCL self.recordTarget.patientRole.patient->forAll(not birthTime.oclIsUndefined()) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian, the attribute classCode SHALL be present OCL self.recordTarget.patientRole.patient.guardian->forAll((not nullFlavor.oclIsUndefined()) or (not classCode.oclIsUndefined())) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian, the attribute classCode SHALL have the value 'GUARD' if present OCL self.recordTarget.patientRole.patient.guardian->forAll(classCode.oclIsUndefined() or classCode=RoleClass::GUARD) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.2.4'], the attribute root SHALL be present OCL self.recordTarget.patientRole.patient.guardian.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.2.4')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian, the element(s) hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.2.4'] SHALL not have nullFlavor (mandatory) OCL self.recordTarget.patientRole.patient.guardian.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.2.4')->forAll(nullFlavor.oclIsUndefined()) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.2.4'] OCL self.recordTarget.patientRole.patient.guardian->forAll(templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.2.4')->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.2.4'] OCL self.recordTarget.patientRole.patient.guardian->forAll(templateId->size()>0) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian/hl7:addr, the attribute nullFlavor SHALL have the value 'NI' if present OCL self.recordTarget.patientRole.patient.guardian.addr->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::NI) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian/hl7:addr SHALL contain at most ONE hl7:city (Item : R1.7.A.3.3) OCL self.recordTarget.patientRole.patient.guardian.addr->forAll(city->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian/hl7:addr SHALL contain at most ONE hl7:postalCode (Item : R1.7.A.3.4) OCL self.recordTarget.patientRole.patient.guardian.addr->forAll(postalCode->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian/hl7:addr SHALL contain at most ONE hl7:state (Item : R1.7.A.3.5) OCL self.recordTarget.patientRole.patient.guardian.addr->forAll(state->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian/hl7:addr SHALL contain at most ONE hl7:country (Item : R1.7.A.3.6) OCL self.recordTarget.patientRole.patient.guardian.addr->forAll(country->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian SHALL contain at most ONE hl7:addr OCL self.recordTarget.patientRole.patient.guardian->forAll(addr->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian SHALL contain at least ONE hl7:addr OCL self.recordTarget.patientRole.patient.guardian->forAll(addr->size()>0) In epSOS-Medication Related Overview, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian/hl7:telecom/@use SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.40 OCL self.recordTarget.patientRole.patient.guardian.telecom.use->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.40', aa))) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian/hl7:telecom, the attribute nullFlavor SHALL have the value 'NI' if present OCL self.recordTarget.patientRole.patient.guardian.telecom->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::NI) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian SHALL contain at least ONE hl7:telecom (Item : R1.7.A.4.1/R1.7.A.4.2) OCL self.recordTarget.patientRole.patient.guardian->forAll(telecom->size()>0) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian/hl7:guardianPerson, the number of elements of type 'family', 'given' SHALL be bigger or equal to 1 OCL self.recordTarget.patientRole.patient.guardian.guardianPerson.name->forAll( (family->size()+given->size())>=1) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian/hl7:guardianPerson SHALL contain at least ONE hl7:name (Item : IHE PCC) OCL self.recordTarget.patientRole.patient.guardian.guardianPerson->forAll(name->size()>0) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian SHALL contain at least ONE hl7:guardianPerson OCL self.recordTarget.patientRole.patient.guardian->forAll(not guardianPerson.oclIsUndefined()) In epSOS-Medication Related Overview, the element defined by /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:languageCommunication/hl7:languageCode shall verify this requirement : The language code SHALL be in the form nn-CC where nn is ISO-639-1 epSOSLanguage and CC is ISO-3166 epSOSCountry (Item : R1.7) OCL self.recordTarget.patientRole.patient.languageCommunication.languageCode->reject(not nullFlavor.oclIsUndefined())->forAll(aa | CommonOperationsStatic::validateByXPATHV2(aa, 'matches(@code,\"[a-z]{2}-[A-Z]{2}\")') ) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:languageCommunication SHALL contain at least ONE hl7:languageCode (Item : R1.7) OCL self.recordTarget.patientRole.patient.languageCommunication->forAll(not languageCode.oclIsUndefined()) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:recordTarget/hl7:patientRole/hl7:patient SHALL contain at least ONE hl7:languageCommunication OCL self.recordTarget.patientRole.patient->forAll(languageCommunication->size()>0) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:recordTarget/hl7:patientRole, the element(s) hl7:patient SHALL not have nullFlavor (mandatory) OCL self.recordTarget.patientRole.patient->forAll(nullFlavor.oclIsUndefined()) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:recordTarget/hl7:patientRole SHALL contain at least ONE hl7:patient OCL self.recordTarget.patientRole->forAll(not patient.oclIsUndefined()) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:recordTarget, the element(s) hl7:patientRole SHALL not have nullFlavor (mandatory) OCL self.recordTarget.patientRole->forAll(nullFlavor.oclIsUndefined()) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5'], the element(s) hl7:recordTarget SHALL not have nullFlavor (mandatory) OCL self.recordTarget->forAll(nullFlavor.oclIsUndefined()) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5'] SHALL contain at most ONE hl7:recordTarget OCL self.recordTarget->size()<2 In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:author, the attribute typeCode SHALL have the value 'AUT' if present OCL self.author->forAll(typeCode.oclIsUndefined() or typeCode=ParticipationType::AUT) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:author, the attribute contextControlCode SHALL have the value 'OP' if present OCL self.author->forAll(contextControlCode.oclIsUndefined() or contextControlCode=NullFlavor::OP) In epSOS-Medication Related Overview, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:author/hl7:functionCode SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.1 (Item : R1.10.6) OCL self.author.functionCode->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.1', code, codeSystem, null, null))) In epSOS-Medication Related Overview, the element defined by /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:author/hl7:assignedAuthor shall verify this requirement : If assignedAuthor has an associated representedOrganization with no assignedPerson or assignedAuthoringDevice, then the value for "ClinicalDocument/author/assignedAuthor/id/@nullFlavor" SHALL be "NA" "Not applicable" 2.16.840.1.113883.5.1008 NullFlavor STATIC. OCL self.author.assignedAuthor->reject(not nullFlavor.oclIsUndefined())->forAll(aa | CommonOperationsStatic::validateByXPATHV2(aa, '@nullFlavor or cda:assignedPerson or cda:assignedAuthoringDevice') ) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:author/hl7:assignedAuthor, the attribute classCode SHALL have the value 'ASSIGNED' if present OCL self.author.assignedAuthor->forAll(classCode.oclIsUndefined() or classCode=RoleClassAssignedEntity::ASSIGNED) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson, the attribute classCode SHALL have the value 'PSN' if present OCL self.author.assignedAuthor.assignedPerson->forAll(classCode.oclIsUndefined() or classCode=EntityClass::PSN) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.author.assignedAuthor.assignedPerson->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson/hl7:name SHALL contain at least ONE hl7:family (Item : R1.10.1) OCL self.author.assignedAuthor.assignedPerson.name->forAll(family->size()>0) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson/hl7:name SHALL contain at least ONE hl7:given (Item : R1.10.2) OCL self.author.assignedAuthor.assignedPerson.name->forAll(given->size()>0) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson/hl7:name SHALL contain at least ONE hl7:prefix (Item : R1.10.3) OCL self.author.assignedAuthor.assignedPerson.name->forAll(prefix->size()>0) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson/hl7:name SHALL contain at least ONE hl7:suffix (Item : R1.10.4) OCL self.author.assignedAuthor.assignedPerson.name->forAll(suffix->size()>0) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson SHALL contain at most ONE hl7:name (Item : IHE PCC) OCL self.author.assignedAuthor.assignedPerson->forAll(name->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson SHALL contain at least ONE hl7:name (Item : IHE PCC) OCL self.author.assignedAuthor.assignedPerson->forAll(name->size()>0) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:author/hl7:assignedAuthor/hl7:assignedAuthoringDevice, the attribute classCode SHALL have the value 'DEV' if present OCL self.author.assignedAuthor.assignedAuthoringDevice->forAll(classCode.oclIsUndefined() or classCode=EntityClassDevice::DEV) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:author/hl7:assignedAuthor/hl7:assignedAuthoringDevice, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.author.assignedAuthor.assignedAuthoringDevice->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-Medication Related Overview, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:author/hl7:assignedAuthor/hl7:assignedAuthoringDevice/hl7:code SHALL be from the valueSet 2.16.840.1.113883.1.11.16040 OCL self.author.assignedAuthor.assignedAuthoringDevice.code->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('2.16.840.1.113883.1.11.16040', code, codeSystem, null, null))) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:author/hl7:assignedAuthor/hl7:id, the attribute nullFlavor SHALL have the value 'NA' if present OCL self.author.assignedAuthor.id->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::NA) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:author/hl7:assignedAuthor SHALL contain at least ONE hl7:addr (Item : IHE PCC) OCL self.author.assignedAuthor->forAll(addr->size()>0) In epSOS-Medication Related Overview, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:author/hl7:assignedAuthor/hl7:telecom/@use SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.40 OCL self.author.assignedAuthor.telecom.use->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.40', aa))) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:author/hl7:assignedAuthor SHALL contain at least ONE hl7:telecom (Item : IHE PCC / R1.10.8 / R1.10.8.1 / R1.10.8.2) OCL self.author.assignedAuthor->forAll(telecom->size()>0) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization, the attribute classCode SHALL be present OCL self.author.assignedAuthor.representedOrganization->forAll((not nullFlavor.oclIsUndefined()) or (not classCode.oclIsUndefined())) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization, the attribute classCode SHALL have the value 'ORG' if present OCL self.author.assignedAuthor.representedOrganization->forAll(classCode.oclIsUndefined() or classCode=EntityClassOrganization::ORG) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization, the attribute determinerCode SHALL be present OCL self.author.assignedAuthor.representedOrganization->forAll((not nullFlavor.oclIsUndefined()) or (not determinerCode.oclIsUndefined())) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.author.assignedAuthor.representedOrganization->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at most ONE hl7:id (Item : R1.10.9.2) OCL self.author.assignedAuthor.representedOrganization->forAll(id->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at least ONE hl7:id (Item : R1.10.9.2) OCL self.author.assignedAuthor.representedOrganization->forAll(id->size()>0) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at most ONE hl7:name (Item : R1.10.9.1) OCL self.author.assignedAuthor.representedOrganization->forAll(name->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at least ONE hl7:name (Item : R1.10.9.1) OCL self.author.assignedAuthor.representedOrganization->forAll(name->size()>0) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:telecom, the attribute use SHALL be present OCL self.author.assignedAuthor.representedOrganization.telecom.use->size()>0 In epSOS-Medication Related Overview, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:telecom/@use SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.40 OCL self.author.assignedAuthor.representedOrganization.telecom.use->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.40', aa))) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:telecom, the attribute nullFlavor SHALL have the value 'UNK' if present OCL self.author.assignedAuthor.representedOrganization.telecom->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::UNK) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at least ONE hl7:telecom (Item : R1.10.9.4 / R1.10.9.4.1 / R1.10.9.4.2) OCL self.author.assignedAuthor.representedOrganization->forAll(telecom->size()>0) In epSOS-Medication Related Overview, the element defined by /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr shall verify this requirement : If addr is not nullflavored at least one sub element has to be provided (Item : R1.10.9.3) OCL self.author.assignedAuthor.representedOrganization.addr->reject(not nullFlavor.oclIsUndefined())->forAll(aa | CommonOperationsStatic::validateByXPATHV2(aa, '@nullFlavor or cda:*') ) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:streetAddressLine (Item : R1.10.9.3.1) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(streetAddressLine->size()>0) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:city (Item : R1.10.9.3.2) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(city->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:city (Item : R1.10.9.3.2) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(city->size()>0) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:postalCode (Item : R1.10.9.3.3) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(postalCode->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:postalCode (Item : R1.10.9.3.3) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(postalCode->size()>0) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:state (Item : R1.10.9.3.4) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(state->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:state (Item : R1.10.9.3.4) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(state->size()>0) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:country (Item : R1.10.9.3.5) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(country->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:country (Item : R1.10.9.3.5) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(country->size()>0) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization, the element(s) hl7:addr SHALL not have nullFlavor (mandatory) (Item : R1.10.9.3) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(nullFlavor.oclIsUndefined()) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at most ONE hl7:addr (Item : R1.10.9.3) OCL self.author.assignedAuthor.representedOrganization->forAll(addr->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at least ONE hl7:addr (Item : R1.10.9.3) OCL self.author.assignedAuthor.representedOrganization->forAll(addr->size()>0) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:author/hl7:assignedAuthor SHALL contain at least ONE hl7:representedOrganization (Item : R1.10.9) OCL self.author.assignedAuthor->forAll(not representedOrganization.oclIsUndefined()) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:custodian, the attribute typeCode SHALL have the value 'CST' if present OCL self.custodian->forAll(typeCode.oclIsUndefined() or typeCode=ParticipationType::CST) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:custodian/hl7:assignedCustodian, the attribute classCode SHALL have the value 'ASSIGNED' if present OCL self.custodian.assignedCustodian->forAll(classCode.oclIsUndefined() or classCode=RoleClassAssignedEntity::ASSIGNED) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization, the attribute classCode SHALL have the value 'ORG' if present OCL self.custodian.assignedCustodian.representedCustodianOrganization->forAll(classCode.oclIsUndefined() or classCode=EntityClassOrganization::ORG) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.custodian.assignedCustodian.representedCustodianOrganization->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization, the attribute classCode SHALL be present OCL self.custodian.assignedCustodian.representedCustodianOrganization->forAll((not nullFlavor.oclIsUndefined()) or (not classCode.oclIsUndefined())) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization, the attribute classCode SHALL have the value 'ORG' if present OCL self.custodian.assignedCustodian.representedCustodianOrganization->forAll(classCode.oclIsUndefined() or classCode=EntityClassOrganization::ORG) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization, the attribute determinerCode SHALL be present OCL self.custodian.assignedCustodian.representedCustodianOrganization->forAll((not nullFlavor.oclIsUndefined()) or (not determinerCode.oclIsUndefined())) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.custodian.assignedCustodian.representedCustodianOrganization->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization SHALL contain at most ONE hl7:id (Item : R1.10.9.2) OCL self.custodian.assignedCustodian.representedCustodianOrganization->forAll(id->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization SHALL contain at least ONE hl7:name (Item : R1.10.9.1) OCL self.custodian.assignedCustodian.representedCustodianOrganization->forAll(not name.oclIsUndefined()) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:telecom, the attribute use SHALL be present OCL self.custodian.assignedCustodian.representedCustodianOrganization.telecom.use->size()>0 In epSOS-Medication Related Overview, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:telecom/@use SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.40 OCL self.custodian.assignedCustodian.representedCustodianOrganization.telecom.use->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.40', aa))) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:telecom, the attribute nullFlavor SHALL have the value 'UNK' if present OCL self.custodian.assignedCustodian.representedCustodianOrganization.telecom->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::UNK) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization SHALL contain at least ONE hl7:telecom (Item : R1.10.9.4 / R1.10.9.4.1 / R1.10.9.4.2) OCL self.custodian.assignedCustodian.representedCustodianOrganization->forAll(not telecom.oclIsUndefined()) In epSOS-Medication Related Overview, the element defined by /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:addr shall verify this requirement : If addr is not nullflavored at least one sub element has to be provided (Item : R1.10.9.3) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->reject(not nullFlavor.oclIsUndefined())->forAll(aa | CommonOperationsStatic::validateByXPATHV2(aa, '@nullFlavor or cda:*') ) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:addr SHALL contain at least ONE hl7:streetAddressLine (Item : R1.10.9.3.1) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->forAll(streetAddressLine->size()>0) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:addr SHALL contain at most ONE hl7:city (Item : R1.10.9.3.2) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->forAll(city->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:addr SHALL contain at least ONE hl7:city (Item : R1.10.9.3.2) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->forAll(city->size()>0) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:addr SHALL contain at most ONE hl7:postalCode (Item : R1.10.9.3.3) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->forAll(postalCode->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:addr SHALL contain at least ONE hl7:postalCode (Item : R1.10.9.3.3) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->forAll(postalCode->size()>0) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:addr SHALL contain at most ONE hl7:state (Item : R1.10.9.3.4) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->forAll(state->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:addr SHALL contain at least ONE hl7:state (Item : R1.10.9.3.4) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->forAll(state->size()>0) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:addr SHALL contain at most ONE hl7:country (Item : R1.10.9.3.5) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->forAll(country->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:addr SHALL contain at least ONE hl7:country (Item : R1.10.9.3.5) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->forAll(country->size()>0) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization, the element(s) hl7:addr SHALL not have nullFlavor (mandatory) (Item : R1.10.9.3) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->forAll(nullFlavor.oclIsUndefined()) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization SHALL contain at least ONE hl7:addr (Item : R1.10.9.3) OCL self.custodian.assignedCustodian.representedCustodianOrganization->forAll(not addr.oclIsUndefined()) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5'], the element(s) hl7:custodian SHALL not have nullFlavor (mandatory) OCL self.custodian->forAll(nullFlavor.oclIsUndefined()) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:legalAuthenticator, the element(s) hl7:time SHALL not have nullFlavor (mandatory) OCL self.legalAuthenticator.time->forAll(nullFlavor.oclIsUndefined()) In epSOS-Medication Related Overview, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:legalAuthenticator/hl7:signatureCode SHALL be from the valueSet 2.16.840.1.113883.1.11.10282 OCL self.legalAuthenticator.signatureCode->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and matchesCodeToValueSet('2.16.840.1.113883.1.11.10282', code))) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:legalAuthenticator/hl7:assignedEntity, the element(s) hl7:id SHALL not have nullFlavor (mandatory) OCL self.legalAuthenticator.assignedEntity.id->forAll(nullFlavor.oclIsUndefined()) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:legalAuthenticator/hl7:assignedEntity SHALL contain at most ONE hl7:id OCL self.legalAuthenticator.assignedEntity->forAll(id->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:legalAuthenticator/hl7:assignedEntity SHALL contain at least ONE hl7:addr (Item : IHE PCC) OCL self.legalAuthenticator.assignedEntity->forAll(addr->size()>0) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:legalAuthenticator/hl7:assignedEntity SHALL contain at least ONE hl7:telecom (Item : IHE PCC) OCL self.legalAuthenticator.assignedEntity->forAll(telecom->size()>0) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:assignedPerson, the attribute classCode SHALL have the value 'PSN' if present OCL self.legalAuthenticator.assignedEntity.assignedPerson->forAll(classCode.oclIsUndefined() or classCode=EntityClass::PSN) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:assignedPerson, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.legalAuthenticator.assignedEntity.assignedPerson->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:assignedPerson, the attribute classCode SHALL have the value 'PSN' if present OCL self.legalAuthenticator.assignedEntity.assignedPerson->forAll(classCode.oclIsUndefined() or classCode=EntityClass::PSN) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:assignedPerson, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.legalAuthenticator.assignedEntity.assignedPerson->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:legalAuthenticator/hl7:assignedEntity SHALL contain at least ONE hl7:assignedPerson (Item : IHE PCC) OCL self.legalAuthenticator.assignedEntity->forAll(not assignedPerson.oclIsUndefined()) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization, the attribute classCode SHALL be present OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll((not nullFlavor.oclIsUndefined()) or (not classCode.oclIsUndefined())) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization, the attribute classCode SHALL have the value 'ORG' if present OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll(classCode.oclIsUndefined() or classCode=EntityClassOrganization::ORG) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization, the attribute determinerCode SHALL be present OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll((not nullFlavor.oclIsUndefined()) or (not determinerCode.oclIsUndefined())) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization SHALL contain at most ONE hl7:id (Item : R1.10.9.2) OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll(id->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization SHALL contain at least ONE hl7:id (Item : R1.10.9.2) OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll(id->size()>0) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization SHALL contain at most ONE hl7:name (Item : R1.10.9.1) OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll(name->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization SHALL contain at least ONE hl7:name (Item : R1.10.9.1) OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll(name->size()>0) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:telecom, the attribute use SHALL be present OCL self.legalAuthenticator.assignedEntity.representedOrganization.telecom.use->size()>0 In epSOS-Medication Related Overview, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:telecom/@use SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.40 OCL self.legalAuthenticator.assignedEntity.representedOrganization.telecom.use->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.40', aa))) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:telecom, the attribute nullFlavor SHALL have the value 'UNK' if present OCL self.legalAuthenticator.assignedEntity.representedOrganization.telecom->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::UNK) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization SHALL contain at least ONE hl7:telecom (Item : R1.10.9.4 / R1.10.9.4.1 / R1.10.9.4.2) OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll(telecom->size()>0) In epSOS-Medication Related Overview, the element defined by /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:addr shall verify this requirement : If addr is not nullflavored at least one sub element has to be provided (Item : R1.10.9.3) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->reject(not nullFlavor.oclIsUndefined())->forAll(aa | CommonOperationsStatic::validateByXPATHV2(aa, '@nullFlavor or cda:*') ) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:streetAddressLine (Item : R1.10.9.3.1) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(streetAddressLine->size()>0) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:city (Item : R1.10.9.3.2) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(city->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:city (Item : R1.10.9.3.2) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(city->size()>0) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:postalCode (Item : R1.10.9.3.3) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(postalCode->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:postalCode (Item : R1.10.9.3.3) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(postalCode->size()>0) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:state (Item : R1.10.9.3.4) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(state->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:state (Item : R1.10.9.3.4) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(state->size()>0) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:country (Item : R1.10.9.3.5) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(country->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:country (Item : R1.10.9.3.5) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(country->size()>0) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization, the element(s) hl7:addr SHALL not have nullFlavor (mandatory) (Item : R1.10.9.3) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(nullFlavor.oclIsUndefined()) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization SHALL contain at most ONE hl7:addr (Item : R1.10.9.3) OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll(addr->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization SHALL contain at least ONE hl7:addr (Item : R1.10.9.3) OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll(addr->size()>0) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:legalAuthenticator/hl7:assignedEntity, the element(s) hl7:representedOrganization SHALL not have nullFlavor (mandatory) OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll(nullFlavor.oclIsUndefined()) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:legalAuthenticator/hl7:assignedEntity SHALL contain at least ONE hl7:representedOrganization OCL self.legalAuthenticator.assignedEntity->forAll(not representedOrganization.oclIsUndefined()) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5'], the element(s) hl7:legalAuthenticator SHALL not have nullFlavor (mandatory) (Item : R1.11.9) OCL self.legalAuthenticator->forAll(nullFlavor.oclIsUndefined()) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5'] SHALL contain at least ONE hl7:legalAuthenticator (Item : R1.11.9) OCL (not self.nullFlavor.oclIsUndefined()) or self.legalAuthenticator->size()>0 In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:documentationOf, the attribute typeCode SHALL be present OCL self.documentationOf->forAll((not nullFlavor.oclIsUndefined()) or (not typeCode.oclIsUndefined())) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:documentationOf, the attribute typeCode SHALL have the value 'DOC' if present OCL self.documentationOf->forAll(typeCode.oclIsUndefined() or typeCode=ActRelationshipType::DOC) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:documentationOf/hl7:serviceEvent, the attribute classCode SHALL be present OCL self.documentationOf.serviceEvent->forAll((not nullFlavor.oclIsUndefined()) or (not classCode.oclIsUndefined())) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:documentationOf/hl7:serviceEvent, the attribute classCode SHALL have the value 'PCPR' if present OCL self.documentationOf.serviceEvent->forAll(classCode.oclIsUndefined() or classCode=ActClassRoot::PCPR) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:documentationOf/hl7:serviceEvent, the attribute moodCode SHALL be present OCL self.documentationOf.serviceEvent->forAll((not nullFlavor.oclIsUndefined()) or (not moodCode.oclIsUndefined())) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:documentationOf/hl7:serviceEvent, the attribute moodCode SHALL have the value 'EVN' if present OCL self.documentationOf.serviceEvent->forAll(moodCode.oclIsUndefined() or moodCode=ActMood::EVN) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:documentationOf/hl7:serviceEvent/hl7:effectiveTime SHALL contain at least ONE hl7:low OCL self.documentationOf.serviceEvent.effectiveTime->forAll(not low.oclIsUndefined()) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:documentationOf/hl7:serviceEvent/hl7:effectiveTime SHALL contain at least ONE hl7:high OCL self.documentationOf.serviceEvent.effectiveTime->forAll(not high.oclIsUndefined()) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:documentationOf/hl7:serviceEvent SHALL contain at least ONE hl7:effectiveTime OCL self.documentationOf.serviceEvent->forAll(not effectiveTime.oclIsUndefined()) In epSOS-Medication Related Overview, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/@typeCode SHALL be from the valueSet 2.16.840.1.113883.1.11.19601 OCL self.documentationOf.serviceEvent.performer.typeCode->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('2.16.840.1.113883.1.11.19601', CommonOperationsStatic::stringValueOf(aa)))) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:documentationOf/hl7:serviceEvent/hl7:performer SHALL contain at least ONE hl7:functionCode OCL self.documentationOf.serviceEvent.performer->forAll(not functionCode.oclIsUndefined()) In epSOS-Medication Related Overview, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:functionCode SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.1 OCL self.documentationOf.serviceEvent.performer.functionCode->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.1', code, codeSystem, null, null))) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity SHALL contain at least ONE hl7:addr (Item : IHE PCC) OCL self.documentationOf.serviceEvent.performer.assignedEntity->forAll(addr->size()>0) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity SHALL contain at least ONE hl7:telecom (Item : IHE PCC) OCL self.documentationOf.serviceEvent.performer.assignedEntity->forAll(telecom->size()>0) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:assignedPerson, the attribute classCode SHALL have the value 'PSN' if present OCL self.documentationOf.serviceEvent.performer.assignedEntity.assignedPerson->forAll(classCode.oclIsUndefined() or classCode=EntityClass::PSN) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:assignedPerson, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.documentationOf.serviceEvent.performer.assignedEntity.assignedPerson->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:assignedPerson SHALL contain at least ONE hl7:name (Item : IHE PCC) OCL self.documentationOf.serviceEvent.performer.assignedEntity.assignedPerson->forAll(name->size()>0) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization, the attribute classCode SHALL be present OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization->forAll((not nullFlavor.oclIsUndefined()) or (not classCode.oclIsUndefined())) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization, the attribute classCode SHALL have the value 'ORG' if present OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization->forAll(classCode.oclIsUndefined() or classCode=EntityClassOrganization::ORG) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization, the attribute determinerCode SHALL be present OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization->forAll((not nullFlavor.oclIsUndefined()) or (not determinerCode.oclIsUndefined())) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization SHALL contain at most ONE hl7:id (Item : R1.10.9.2) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization->forAll(id->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization SHALL contain at least ONE hl7:id (Item : R1.10.9.2) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization->forAll(id->size()>0) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization SHALL contain at most ONE hl7:name (Item : R1.10.9.1) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization->forAll(name->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization SHALL contain at least ONE hl7:name (Item : R1.10.9.1) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization->forAll(name->size()>0) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization/hl7:telecom, the attribute use SHALL be present OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization.telecom.use->size()>0 In epSOS-Medication Related Overview, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization/hl7:telecom/@use SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.40 OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization.telecom.use->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.40', aa))) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization/hl7:telecom, the attribute nullFlavor SHALL have the value 'UNK' if present OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization.telecom->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::UNK) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization SHALL contain at least ONE hl7:telecom (Item : R1.10.9.4 / R1.10.9.4.1 / R1.10.9.4.2) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization->forAll(telecom->size()>0) In epSOS-Medication Related Overview, the element defined by /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization/hl7:addr shall verify this requirement : If addr is not nullflavored at least one sub element has to be provided (Item : R1.10.9.3) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization.addr->reject(not nullFlavor.oclIsUndefined())->forAll(aa | CommonOperationsStatic::validateByXPATHV2(aa, '@nullFlavor or cda:*') ) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:streetAddressLine (Item : R1.10.9.3.1) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization.addr->forAll(streetAddressLine->size()>0) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:city (Item : R1.10.9.3.2) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization.addr->forAll(city->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:city (Item : R1.10.9.3.2) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization.addr->forAll(city->size()>0) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:postalCode (Item : R1.10.9.3.3) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization.addr->forAll(postalCode->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:postalCode (Item : R1.10.9.3.3) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization.addr->forAll(postalCode->size()>0) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:state (Item : R1.10.9.3.4) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization.addr->forAll(state->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:state (Item : R1.10.9.3.4) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization.addr->forAll(state->size()>0) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:country (Item : R1.10.9.3.5) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization.addr->forAll(country->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:country (Item : R1.10.9.3.5) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization.addr->forAll(country->size()>0) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization, the element(s) hl7:addr SHALL not have nullFlavor (mandatory) (Item : R1.10.9.3) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization.addr->forAll(nullFlavor.oclIsUndefined()) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization SHALL contain at most ONE hl7:addr (Item : R1.10.9.3) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization->forAll(addr->size()<2) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization SHALL contain at least ONE hl7:addr (Item : R1.10.9.3) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization->forAll(addr->size()>0) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:documentationOf/hl7:serviceEvent/hl7:performer, the element(s) hl7:assignedEntity SHALL not have nullFlavor (mandatory) OCL self.documentationOf.serviceEvent.performer.assignedEntity->forAll(nullFlavor.oclIsUndefined()) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5'] SHALL contain at most ONE hl7:documentationOf OCL self.documentationOf->size()<2 In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5'] SHALL contain at least ONE hl7:documentationOf OCL (not self.nullFlavor.oclIsUndefined()) or self.documentationOf->size()>0 In epSOS-Medication Related Overview, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:relatedDocument/@typeCode SHALL be from the valueSet 2.16.840.1.113883.1.11.11610 OCL self.relatedDocument.typeCode->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('2.16.840.1.113883.1.11.11610', CommonOperationsStatic::stringValueOf(aa)))) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:relatedDocument/hl7:parentDocument, the attribute classCode SHALL have the value 'DOCCLIN' if present OCL self.relatedDocument.parentDocument->forAll(classCode.oclIsUndefined() or classCode=ActClinicalDocument::DOCCLIN) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:relatedDocument/hl7:parentDocument, the attribute moodCode SHALL have the value 'EVN' if present OCL self.relatedDocument.parentDocument->forAll(moodCode.oclIsUndefined() or moodCode=ActMood::EVN) In epSOS-Medication Related Overview, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:relatedDocument/hl7:parentDocument/hl7:code SHALL have codeSystem='2.16.840.1.113883.6.1' OCL self.relatedDocument.parentDocument.code->forAll( (not nullFlavor.oclIsUndefined()) or ((not codeSystem.oclIsUndefined()) and codeSystem='2.16.840.1.113883.6.1')) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5'], the element(s) hl7:relatedDocument SHALL not have nullFlavor (mandatory) OCL self.relatedDocument->forAll(nullFlavor.oclIsUndefined()) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5'] SHALL contain at most ONE hl7:relatedDocument OCL self.relatedDocument->size()<2 In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5'] SHALL contain at least ONE hl7:relatedDocument OCL (not self.nullFlavor.oclIsUndefined()) or self.relatedDocument->size()>0 In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:component/hl7:structuredBody, the attribute classCode SHALL have the value 'DOCBODY' if present OCL self.component.structuredBody->forAll(classCode.oclIsUndefined() or classCode=ActClass::DOCBODY) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:component/hl7:structuredBody/hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.3']/hl7:section/hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.3'], the attribute root SHALL be present OCL self.component.structuredBody.component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.12559.11.10.1.3.1.2.3')).section.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.2.3')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:component/hl7:structuredBody SHALL contain at most ONE hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.3'] OCL self.component.structuredBody->forAll(component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.12559.11.10.1.3.1.2.3'))->size()<2) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:component/hl7:structuredBody/hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.13']/hl7:section/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.13'], the attribute root SHALL be present OCL self.component.structuredBody.component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.3.13')).section.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.13')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:component/hl7:structuredBody SHALL contain at most ONE hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.13'] OCL self.component.structuredBody->forAll(component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.3.13'))->size()<2) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:component/hl7:structuredBody/hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.6']/hl7:section/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.6'], the attribute root SHALL be present OCL self.component.structuredBody.component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.3.6')).section.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.6')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:component/hl7:structuredBody SHALL contain at most ONE hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.6'] OCL self.component.structuredBody->forAll(component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.3.6'))->size()<2) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:component/hl7:structuredBody/hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.23']/hl7:section/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.23'], the attribute root SHALL be present OCL self.component.structuredBody.component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.3.23')).section.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.23')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:component/hl7:structuredBody SHALL contain at most ONE hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.23'] OCL self.component.structuredBody->forAll(component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.3.23'))->size()<2) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:component/hl7:structuredBody/hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.16.1']/hl7:section/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.16.1'], the attribute root SHALL be present OCL self.component.structuredBody.component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.3.16.1')).section.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.16.1')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:component/hl7:structuredBody SHALL contain at most ONE hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.16.1'] OCL self.component.structuredBody->forAll(component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.3.16.1'))->size()<2) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:component/hl7:structuredBody/hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.4']/hl7:section/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.4'], the attribute root SHALL be present OCL self.component.structuredBody.component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.1.5.3.4')).section.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.4')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:component/hl7:structuredBody SHALL contain at most ONE hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.4'] OCL self.component.structuredBody->forAll(component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.1.5.3.4'))->size()<2) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:component/hl7:structuredBody/hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2']/hl7:section/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2'], the attribute root SHALL be present OCL self.component.structuredBody.component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2')).section.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:component/hl7:structuredBody SHALL contain at most ONE hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2'] OCL self.component.structuredBody->forAll(component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2'))->size()<2) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:component, the element(s) hl7:structuredBody SHALL not have nullFlavor (mandatory) OCL self.component.structuredBody->forAll(nullFlavor.oclIsUndefined()) In epSOS-Medication Related Overview, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5']/hl7:component SHALL contain at least ONE hl7:structuredBody OCL self.component->forAll(not structuredBody.oclIsUndefined()) In epSOS-Medication Related Overview, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5'], the element(s) hl7:component SHALL not have nullFlavor (mandatory) OCL self.component->forAll(nullFlavor.oclIsUndefined()) In Simple Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13'], the attribute classCode SHALL have the value 'OBS' if present OCL self.classCode.oclIsUndefined() or self.classCode=ActClassObservation::OBS In Simple Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13'], the attribute moodCode SHALL have the value 'EVN' if present OCL self.moodCode.oclIsUndefined() or self.moodCode=XActMoodDocumentObservation::EVN In Simple Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.13'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.13')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Simple Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13'], the element(s) hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.13'] SHALL not have nullFlavor (mandatory) OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.13')->forAll(nullFlavor.oclIsUndefined()) In Simple Observation, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.13'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.13')->size()<2 In Simple Observation, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.13'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Simple Observation, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13'] SHALL contain at least ONE hl7:templateId OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Simple Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13'], the element(s) hl7:id SHALL not have nullFlavor (mandatory) OCL self.id->forAll(nullFlavor.oclIsUndefined()) In Simple Observation, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13'] SHALL contain at most ONE hl7:id OCL self.id->size()<2 In Simple Observation, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13'] SHALL contain at least ONE hl7:id OCL (not self.nullFlavor.oclIsUndefined()) or self.id->size()>0 In Simple Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13']/hl7:code, the attribute code SHALL be present OCL self.code->forAll((not nullFlavor.oclIsUndefined()) or (not code.oclIsUndefined())) In Simple Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13']/hl7:code, the attribute code SHALL have the value '34530-6' if present OCL self.code->forAll(code.oclIsUndefined() or code='34530-6') In Simple Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13']/hl7:code, the attribute codeSystem SHALL have the value '2.16.840.1.113883.6.1' if present OCL self.code->forAll(codeSystem.oclIsUndefined() or codeSystem='2.16.840.1.113883.6.1') In Simple Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13'], the element(s) hl7:code SHALL not have nullFlavor (mandatory) OCL self.code->forAll(nullFlavor.oclIsUndefined()) In Simple Observation, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13'] SHALL contain at least ONE hl7:text OCL (not self.nullFlavor.oclIsUndefined()) or self.text->size()>0 In Simple Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13']/hl7:statusCode, the attribute code SHALL be present OCL self.statusCode->forAll((not nullFlavor.oclIsUndefined()) or (not code.oclIsUndefined())) In Simple Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13']/hl7:statusCode, the attribute code SHALL have the value 'completed' if present OCL self.statusCode->forAll(code.oclIsUndefined() or code='completed') In Simple Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13']/hl7:statusCode, the attribute codeSystem SHALL have the value '2.16.840.1.113883.5.14' if present OCL self.statusCode->forAll(codeSystem.oclIsUndefined() or codeSystem='2.16.840.1.113883.5.14') In Simple Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13'], the element(s) hl7:statusCode SHALL not have nullFlavor (mandatory) OCL self.statusCode->forAll(nullFlavor.oclIsUndefined()) In Simple Observation, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13'] SHALL contain at least ONE hl7:statusCode OCL (not self.nullFlavor.oclIsUndefined()) or self.statusCode->size()>0 In Simple Observation, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13'] SHALL contain at least ONE hl7:effectiveTime OCL (not self.nullFlavor.oclIsUndefined()) or self.effectiveTime->size()>0 In Simple Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13'], the element(s) hl7:value SHALL be from the datatype CD OCL self.value->forAll(oclIsKindOf(CD)) In Simple Observation, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13'] SHALL contain at least ONE hl7:value OCL (not self.nullFlavor.oclIsUndefined()) or self.value->size()>0 In Simple Observation, the code of /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13']/hl7:value SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.20 OCL self.value->forAll( (not nullFlavor.oclIsUndefined()) or ((not oclAsType(CD).code.oclIsUndefined()) and (not oclAsType(CD).codeSystem.oclIsUndefined()) and matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.20', oclAsType(CD).code, oclAsType(CD).codeSystem, null, null))) In Simple Observation, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13'] SHALL contain at least ONE hl7:author OCL (not self.nullFlavor.oclIsUndefined()) or self.author->size()>0 In epSOS Patient Medication Instructions, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.3'], the attribute classCode SHALL have the value 'ACT' if present OCL self.classCode.oclIsUndefined() or self.classCode=XActClassDocumentEntryAct::ACT In epSOS Patient Medication Instructions, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.3'], the attribute moodCode SHALL have the value 'INT' if present OCL self.moodCode.oclIsUndefined() or self.moodCode=XDocumentActMood::INT In epSOS Patient Medication Instructions, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.3']/hl7:templateId[@root='2.16.840.1.113883.10.20.1.49'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.49')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS Patient Medication Instructions, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.3'] SHALL contain at most ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.49'] OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.49')->size()<2 In epSOS Patient Medication Instructions, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.3'] SHALL contain at least ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.49'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In epSOS Patient Medication Instructions, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.3']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.3'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.3')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS Patient Medication Instructions, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.3'], the element(s) hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.3'] SHALL not have nullFlavor (mandatory) OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.3')->forAll(nullFlavor.oclIsUndefined()) In epSOS Patient Medication Instructions, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.3'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.3'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.3')->size()<2 In epSOS Patient Medication Instructions, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.3'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.3'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In epSOS Patient Medication Instructions, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.3']/hl7:code, the attribute code SHALL be present OCL self.code->forAll((not nullFlavor.oclIsUndefined()) or (not code.oclIsUndefined())) In epSOS Patient Medication Instructions, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.3']/hl7:code, the attribute code SHALL have the value 'PINSTRUCT' if present OCL self.code->forAll(code.oclIsUndefined() or code='PINSTRUCT') In epSOS Patient Medication Instructions, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.3']/hl7:code, the attribute codeSystem SHALL have the value '1.3.6.1.4.1.19376.1.5.3.2' if present OCL self.code->forAll(codeSystem.oclIsUndefined() or codeSystem='1.3.6.1.4.1.19376.1.5.3.2') In epSOS Patient Medication Instructions, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.3']/hl7:statusCode, the attribute code SHALL be present OCL self.statusCode->forAll((not nullFlavor.oclIsUndefined()) or (not code.oclIsUndefined())) In epSOS Patient Medication Instructions, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.3']/hl7:statusCode, the attribute code SHALL have the value 'completed' if present OCL self.statusCode->forAll(code.oclIsUndefined() or code='completed') In Section Pregnancy History, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.4'], the attribute classCode SHALL have the value 'DOCSECT' if present OCL self.classCode.oclIsUndefined() or self.classCode=ActClass::DOCSECT In Section Pregnancy History, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.4']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.4'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.4')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Section Pregnancy History, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.4'], the element(s) hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.4'] SHALL not have nullFlavor (mandatory) OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.4')->forAll(nullFlavor.oclIsUndefined()) In Section Pregnancy History, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.4'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.4'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.4')->size()<2 In Section Pregnancy History, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.4'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.4'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Section Pregnancy History, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.4'] SHALL contain at least ONE hl7:id OCL (not self.nullFlavor.oclIsUndefined()) or self.id->size()>0 In Section Pregnancy History, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.4']/hl7:code, the attribute code SHALL be present OCL self.code->forAll((not nullFlavor.oclIsUndefined()) or (not code.oclIsUndefined())) In Section Pregnancy History, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.4']/hl7:code, the attribute code SHALL have the value '10162-6' if present OCL self.code->forAll(code.oclIsUndefined() or code='10162-6') In Section Pregnancy History, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.4']/hl7:code, the attribute codeSystem SHALL have the value '2.16.840.1.113883.6.1' if present OCL self.code->forAll(codeSystem.oclIsUndefined() or codeSystem='2.16.840.1.113883.6.1') In Section Pregnancy History, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.4'], the element(s) hl7:code SHALL not have nullFlavor (mandatory) OCL self.code->forAll(nullFlavor.oclIsUndefined()) In Section Pregnancy History, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.4'] SHALL contain at least ONE hl7:code OCL (not self.nullFlavor.oclIsUndefined()) or self.code->size()>0 In Section Pregnancy History, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.4'], the element(s) hl7:title SHALL not have nullFlavor (mandatory) OCL self.title->forAll(nullFlavor.oclIsUndefined()) In Section Pregnancy History, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.4'] SHALL contain at least ONE hl7:title OCL (not self.nullFlavor.oclIsUndefined()) or self.title->size()>0 In Section Pregnancy History, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.4'], the element(s) hl7:text SHALL not have nullFlavor (mandatory) OCL self.text->forAll(nullFlavor.oclIsUndefined()) In Section Pregnancy History, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.4'] SHALL contain at least ONE hl7:text OCL (not self.nullFlavor.oclIsUndefined()) or self.text->size()>0 In Section Pregnancy History, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.4']/hl7:entry/hl7:observation/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.5'], the attribute root SHALL be present OCL self.entry.observation.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.13.5')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Section Pregnancy History, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.4'] SHALL contain at most ONE hl7:entry OCL self.entry->size()<2 In Section Pregnancy History, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.4'] SHALL contain at least ONE hl7:entry OCL (not self.nullFlavor.oclIsUndefined()) or self.entry->size()>0 In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1'], the element(s) hl7:realmCode SHALL not have nullFlavor (mandatory) OCL self.realmCode->forAll(nullFlavor.oclIsUndefined()) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1'] SHALL contain at most ONE hl7:realmCode OCL self.realmCode->size()<2 In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1'] SHALL contain at least ONE hl7:realmCode OCL (not self.nullFlavor.oclIsUndefined()) or self.realmCode->size()>0 In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:typeId, the attribute root SHALL be present OCL self.typeId->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:typeId, the attribute root SHALL have the value '2.16.840.1.113883.1.3' if present OCL self.typeId->forAll(root.oclIsUndefined() or root='2.16.840.1.113883.1.3') In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:typeId, the attribute extension SHALL be present OCL self.typeId->forAll((not nullFlavor.oclIsUndefined()) or (not extension.oclIsUndefined())) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:typeId, the attribute extension SHALL have the value 'POCD_HD000040' if present OCL self.typeId->forAll(extension.oclIsUndefined() or extension='POCD_HD000040') In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1'], the element(s) hl7:typeId SHALL not have nullFlavor (mandatory) OCL self.typeId->forAll(nullFlavor.oclIsUndefined()) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1'], the element(s) hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1'] SHALL not have nullFlavor (mandatory) OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1')->forAll(nullFlavor.oclIsUndefined()) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1')->size()<2 In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1'], the element(s) hl7:id SHALL not have nullFlavor (mandatory) (Item : R1.11.3) OCL self.id->forAll(nullFlavor.oclIsUndefined()) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:code, the attribute displayName SHALL be present OCL self.code->forAll((not nullFlavor.oclIsUndefined()) or (not displayName.oclIsUndefined())) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:code, the attribute code SHALL be present OCL self.code->forAll((not nullFlavor.oclIsUndefined()) or (not code.oclIsUndefined())) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:code, the attribute code SHALL have the value '57833-6' if present OCL self.code->forAll(code.oclIsUndefined() or code='57833-6') In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:code, the attribute codeSystem SHALL have the value '2.16.840.1.113883.6.1' if present OCL self.code->forAll(codeSystem.oclIsUndefined() or codeSystem='2.16.840.1.113883.6.1') In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1'], the element(s) hl7:code SHALL not have nullFlavor (mandatory) (Item : R1.11.6) OCL self.code->forAll(nullFlavor.oclIsUndefined()) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1'], the element(s) hl7:title SHALL not have nullFlavor (mandatory) (Item : R1.11.7) OCL self.title->forAll(nullFlavor.oclIsUndefined()) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1'] SHALL contain at least ONE hl7:title (Item : R1.11.7) OCL (not self.nullFlavor.oclIsUndefined()) or self.title->size()>0 In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1'], the element(s) hl7:effectiveTime SHALL not have nullFlavor (mandatory) (Item : R1.11.1) OCL self.effectiveTime->forAll(nullFlavor.oclIsUndefined()) In epSOS-ePrescription, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:confidentialityCode SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.31 (Item : R1.11.8) OCL self.confidentialityCode->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.31', code, codeSystem, null, null))) In epSOS-ePrescription, the element defined by /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:languageCode shall verify this requirement : The language code SHALL be in the form nn-CC where nn is ISO-639-1 epSOSLanguage and CC is ISO-3166 epSOSCountry (Item : R.11.10) OCL self.languageCode->reject(not nullFlavor.oclIsUndefined())->forAll(aa | CommonOperationsStatic::validateByXPATHV2(aa, 'matches(@code,\"[a-z]{2}-[A-Z]{2}\")') ) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1'], the element(s) hl7:languageCode SHALL not have nullFlavor (mandatory) (Item : R.11.10) OCL self.languageCode->forAll(nullFlavor.oclIsUndefined()) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1'] SHALL contain at least ONE hl7:languageCode (Item : R.11.10) OCL (not self.nullFlavor.oclIsUndefined()) or self.languageCode->size()>0 In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:recordTarget, the attribute typeCode SHALL have the value 'RCT' if present OCL self.recordTarget->forAll(typeCode.oclIsUndefined() or typeCode=ParticipationType::RCT) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:recordTarget, the attribute contextControlCode SHALL have the value 'OP' if present OCL self.recordTarget->forAll(contextControlCode.oclIsUndefined() or contextControlCode=NullFlavor::OP) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:recordTarget/hl7:patientRole, the attribute classCode SHALL have the value 'PAT' if present OCL self.recordTarget.patientRole->forAll(classCode.oclIsUndefined() or classCode=RoleClass::PAT) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:recordTarget/hl7:patientRole/hl7:addr, the attribute nullFlavor SHALL have the value 'NI' if present OCL self.recordTarget.patientRole.addr->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::NI) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:recordTarget/hl7:patientRole/hl7:addr SHALL contain at most ONE hl7:city (Item : R1.5.3) OCL self.recordTarget.patientRole.addr->forAll(city->size()<2) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:recordTarget/hl7:patientRole/hl7:addr SHALL contain at most ONE hl7:postalCode (Item : R1.5.4) OCL self.recordTarget.patientRole.addr->forAll(postalCode->size()<2) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:recordTarget/hl7:patientRole/hl7:addr SHALL contain at most ONE hl7:state (Item : R1.5.5) OCL self.recordTarget.patientRole.addr->forAll(state->size()<2) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:recordTarget/hl7:patientRole/hl7:addr SHALL contain at most ONE hl7:country (Item : R1.5.6) OCL self.recordTarget.patientRole.addr->forAll(country->size()<2) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:recordTarget/hl7:patientRole SHALL contain at most ONE hl7:addr (Item : R1.5) OCL self.recordTarget.patientRole->forAll(addr->size()<2) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:recordTarget/hl7:patientRole SHALL contain at least ONE hl7:addr (Item : R1.5) OCL self.recordTarget.patientRole->forAll(addr->size()>0) In epSOS-ePrescription, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:recordTarget/hl7:patientRole/hl7:telecom/@use SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.40 OCL self.recordTarget.patientRole.telecom.use->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.40', aa))) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:recordTarget/hl7:patientRole/hl7:telecom, the attribute nullFlavor SHALL have the value 'NI' if present OCL self.recordTarget.patientRole.telecom->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::NI) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:recordTarget/hl7:patientRole SHALL contain at least ONE hl7:telecom (Item : R1.6.1 / R1.6.2) OCL self.recordTarget.patientRole->forAll(telecom->size()>0) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:recordTarget/hl7:patientRole/hl7:patient, the attribute classCode SHALL have the value 'PSN' if present OCL self.recordTarget.patientRole.patient->forAll(classCode.oclIsUndefined() or classCode=EntityClass::PSN) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:recordTarget/hl7:patientRole/hl7:patient, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.recordTarget.patientRole.patient->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:name, the element(s) hl7:family SHALL not have nullFlavor (mandatory) (Item : R1.1.1) OCL self.recordTarget.patientRole.patient.name.family->forAll(nullFlavor.oclIsUndefined()) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:name SHALL contain at least ONE hl7:family (Item : R1.1.1) OCL self.recordTarget.patientRole.patient.name->forAll(family->size()>0) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:name, the element(s) hl7:given SHALL not have nullFlavor (mandatory) (Item : R1.1.3) OCL self.recordTarget.patientRole.patient.name.given->forAll(nullFlavor.oclIsUndefined()) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:name SHALL contain at least ONE hl7:given (Item : R1.1.3) OCL self.recordTarget.patientRole.patient.name->forAll(given->size()>0) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:recordTarget/hl7:patientRole/hl7:patient SHALL contain at least ONE hl7:name (Item : R1.1) OCL self.recordTarget.patientRole.patient->forAll(name->size()>0) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:administrativeGenderCode, the attribute nullFlavor SHALL have the value 'UNK' if present OCL self.recordTarget.patientRole.patient.administrativeGenderCode->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::UNK) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:recordTarget/hl7:patientRole/hl7:patient SHALL contain at least ONE hl7:administrativeGenderCode (Item : R1.2) OCL self.recordTarget.patientRole.patient->forAll(not administrativeGenderCode.oclIsUndefined()) In epSOS-ePrescription, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:administrativeGenderCode SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.34 (Item : R1.2) OCL self.recordTarget.patientRole.patient.administrativeGenderCode->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.34', code, codeSystem, null, null))) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:recordTarget/hl7:patientRole/hl7:patient, the element(s) hl7:birthTime SHALL not have nullFlavor (mandatory) (Item : R1.3) OCL self.recordTarget.patientRole.patient.birthTime->forAll(nullFlavor.oclIsUndefined()) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:recordTarget/hl7:patientRole/hl7:patient SHALL contain at least ONE hl7:birthTime (Item : R1.3) OCL self.recordTarget.patientRole.patient->forAll(not birthTime.oclIsUndefined()) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian, the attribute classCode SHALL be present OCL self.recordTarget.patientRole.patient.guardian->forAll((not nullFlavor.oclIsUndefined()) or (not classCode.oclIsUndefined())) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian, the attribute classCode SHALL have the value 'GUARD' if present OCL self.recordTarget.patientRole.patient.guardian->forAll(classCode.oclIsUndefined() or classCode=RoleClass::GUARD) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.2.4'], the attribute root SHALL be present OCL self.recordTarget.patientRole.patient.guardian.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.2.4')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian, the element(s) hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.2.4'] SHALL not have nullFlavor (mandatory) OCL self.recordTarget.patientRole.patient.guardian.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.2.4')->forAll(nullFlavor.oclIsUndefined()) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.2.4'] OCL self.recordTarget.patientRole.patient.guardian->forAll(templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.2.4')->size()<2) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.2.4'] OCL self.recordTarget.patientRole.patient.guardian->forAll(templateId->size()>0) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian/hl7:addr, the attribute nullFlavor SHALL have the value 'NI' if present OCL self.recordTarget.patientRole.patient.guardian.addr->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::NI) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian/hl7:addr SHALL contain at most ONE hl7:city (Item : R1.7.A.3.3) OCL self.recordTarget.patientRole.patient.guardian.addr->forAll(city->size()<2) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian/hl7:addr SHALL contain at most ONE hl7:postalCode (Item : R1.7.A.3.4) OCL self.recordTarget.patientRole.patient.guardian.addr->forAll(postalCode->size()<2) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian/hl7:addr SHALL contain at most ONE hl7:state (Item : R1.7.A.3.5) OCL self.recordTarget.patientRole.patient.guardian.addr->forAll(state->size()<2) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian/hl7:addr SHALL contain at most ONE hl7:country (Item : R1.7.A.3.6) OCL self.recordTarget.patientRole.patient.guardian.addr->forAll(country->size()<2) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian SHALL contain at most ONE hl7:addr OCL self.recordTarget.patientRole.patient.guardian->forAll(addr->size()<2) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian SHALL contain at least ONE hl7:addr OCL self.recordTarget.patientRole.patient.guardian->forAll(addr->size()>0) In epSOS-ePrescription, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian/hl7:telecom/@use SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.40 OCL self.recordTarget.patientRole.patient.guardian.telecom.use->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.40', aa))) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian/hl7:telecom, the attribute nullFlavor SHALL have the value 'NI' if present OCL self.recordTarget.patientRole.patient.guardian.telecom->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::NI) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian SHALL contain at least ONE hl7:telecom (Item : R1.7.A.4.1/R1.7.A.4.2) OCL self.recordTarget.patientRole.patient.guardian->forAll(telecom->size()>0) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian/hl7:guardianPerson, the number of elements of type 'family', 'given' SHALL be bigger or equal to 1 OCL self.recordTarget.patientRole.patient.guardian.guardianPerson.name->forAll( (family->size()+given->size())>=1) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian/hl7:guardianPerson SHALL contain at least ONE hl7:name (Item : IHE PCC) OCL self.recordTarget.patientRole.patient.guardian.guardianPerson->forAll(name->size()>0) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian SHALL contain at least ONE hl7:guardianPerson OCL self.recordTarget.patientRole.patient.guardian->forAll(not guardianPerson.oclIsUndefined()) In epSOS-ePrescription, the element defined by /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:languageCommunication/hl7:languageCode shall verify this requirement : The language code SHALL be in the form nn-CC where nn is ISO-639-1 epSOSLanguage and CC is ISO-3166 epSOSCountry (Item : R1.7) OCL self.recordTarget.patientRole.patient.languageCommunication.languageCode->reject(not nullFlavor.oclIsUndefined())->forAll(aa | CommonOperationsStatic::validateByXPATHV2(aa, 'matches(@code,\"[a-z]{2}-[A-Z]{2}\")') ) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:languageCommunication SHALL contain at least ONE hl7:languageCode (Item : R1.7) OCL self.recordTarget.patientRole.patient.languageCommunication->forAll(not languageCode.oclIsUndefined()) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:recordTarget/hl7:patientRole/hl7:patient SHALL contain at least ONE hl7:languageCommunication OCL self.recordTarget.patientRole.patient->forAll(languageCommunication->size()>0) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:recordTarget/hl7:patientRole, the element(s) hl7:patient SHALL not have nullFlavor (mandatory) OCL self.recordTarget.patientRole.patient->forAll(nullFlavor.oclIsUndefined()) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:recordTarget/hl7:patientRole SHALL contain at least ONE hl7:patient OCL self.recordTarget.patientRole->forAll(not patient.oclIsUndefined()) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:recordTarget, the element(s) hl7:patientRole SHALL not have nullFlavor (mandatory) OCL self.recordTarget.patientRole->forAll(nullFlavor.oclIsUndefined()) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1'], the element(s) hl7:recordTarget SHALL not have nullFlavor (mandatory) OCL self.recordTarget->forAll(nullFlavor.oclIsUndefined()) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1'] SHALL contain at most ONE hl7:recordTarget OCL self.recordTarget->size()<2 In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:author, the attribute typeCode SHALL have the value 'AUT' if present OCL self.author->forAll(typeCode.oclIsUndefined() or typeCode=ParticipationType::AUT) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:author, the attribute contextControlCode SHALL have the value 'OP' if present OCL self.author->forAll(contextControlCode.oclIsUndefined() or contextControlCode=NullFlavor::OP) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:author, the element(s) hl7:functionCode SHALL not have nullFlavor (mandatory) (Item : R1.10.6) OCL self.author.functionCode->forAll(nullFlavor.oclIsUndefined()) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:author SHALL contain at least ONE hl7:functionCode (Item : R1.10.6) OCL self.author->forAll(not functionCode.oclIsUndefined()) In epSOS-ePrescription, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:author/hl7:functionCode SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.1 (Item : R1.10.6) OCL self.author.functionCode->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.1', code, codeSystem, null, null))) In epSOS-ePrescription, the element defined by /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:author/hl7:assignedAuthor shall verify this requirement : If assignedAuthor has an associated representedOrganization with no assignedPerson or assignedAuthoringDevice, then the value for "ClinicalDocument/author/assignedAuthor/id/@NullFlavor" SHALL be "NA" "Not applicable" 2.16.840.1.113883.5.1008 NullFlavor STATIC. OCL self.author.assignedAuthor->reject(not nullFlavor.oclIsUndefined())->forAll(aa | CommonOperationsStatic::validateByXPATHV2(aa, '@nullFlavor or cda:assignedPerson or cda:assignedAuthoringDevice') ) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:author/hl7:assignedAuthor, the attribute classCode SHALL have the value 'ASSIGNED' if present OCL self.author.assignedAuthor->forAll(classCode.oclIsUndefined() or classCode=RoleClassAssignedEntity::ASSIGNED) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:author/hl7:assignedAuthor/hl7:id, the attribute nullFlavor SHALL have the value 'NA' if present OCL self.author.assignedAuthor.id->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::NA) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:author/hl7:assignedAuthor SHALL contain at least ONE hl7:addr (Item : IHE PCC) OCL self.author.assignedAuthor->forAll(addr->size()>0) In epSOS-ePrescription, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:author/hl7:assignedAuthor/hl7:telecom/@use SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.40 OCL self.author.assignedAuthor.telecom.use->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.40', aa))) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:author/hl7:assignedAuthor SHALL contain at least ONE hl7:telecom (Item : IHE PCC / R1.10.8 / R1.10.8.1 / R1.10.8.2) OCL self.author.assignedAuthor->forAll(telecom->size()>0) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson, the attribute classCode SHALL have the value 'PSN' if present OCL self.author.assignedAuthor.assignedPerson->forAll(classCode.oclIsUndefined() or classCode=EntityClass::PSN) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.author.assignedAuthor.assignedPerson->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson/hl7:name SHALL contain at least ONE hl7:family (Item : R1.10.1) OCL self.author.assignedAuthor.assignedPerson.name->forAll(family->size()>0) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson/hl7:name SHALL contain at least ONE hl7:given (Item : R1.10.2) OCL self.author.assignedAuthor.assignedPerson.name->forAll(given->size()>0) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson/hl7:name SHALL contain at least ONE hl7:prefix (Item : R1.10.3) OCL self.author.assignedAuthor.assignedPerson.name->forAll(prefix->size()>0) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson/hl7:name SHALL contain at least ONE hl7:suffix (Item : R1.10.4) OCL self.author.assignedAuthor.assignedPerson.name->forAll(suffix->size()>0) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson SHALL contain at most ONE hl7:name (Item : IHE PCC) OCL self.author.assignedAuthor.assignedPerson->forAll(name->size()<2) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson SHALL contain at least ONE hl7:name (Item : IHE PCC) OCL self.author.assignedAuthor.assignedPerson->forAll(name->size()>0) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:author/hl7:assignedAuthor, the element(s) hl7:assignedPerson SHALL not have nullFlavor (mandatory) OCL self.author.assignedAuthor.assignedPerson->forAll(nullFlavor.oclIsUndefined()) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:author/hl7:assignedAuthor SHALL contain at least ONE hl7:assignedPerson OCL self.author.assignedAuthor->forAll(not assignedPerson.oclIsUndefined()) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization, the attribute classCode SHALL be present OCL self.author.assignedAuthor.representedOrganization->forAll((not nullFlavor.oclIsUndefined()) or (not classCode.oclIsUndefined())) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization, the attribute classCode SHALL have the value 'ORG' if present OCL self.author.assignedAuthor.representedOrganization->forAll(classCode.oclIsUndefined() or classCode=EntityClassOrganization::ORG) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization, the attribute determinerCode SHALL be present OCL self.author.assignedAuthor.representedOrganization->forAll((not nullFlavor.oclIsUndefined()) or (not determinerCode.oclIsUndefined())) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.author.assignedAuthor.representedOrganization->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at most ONE hl7:id (Item : R1.10.9.2) OCL self.author.assignedAuthor.representedOrganization->forAll(id->size()<2) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at least ONE hl7:id (Item : R1.10.9.2) OCL self.author.assignedAuthor.representedOrganization->forAll(id->size()>0) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at most ONE hl7:name (Item : R1.10.9.1) OCL self.author.assignedAuthor.representedOrganization->forAll(name->size()<2) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at least ONE hl7:name (Item : R1.10.9.1) OCL self.author.assignedAuthor.representedOrganization->forAll(name->size()>0) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:telecom, the attribute use SHALL be present OCL self.author.assignedAuthor.representedOrganization.telecom.use->size()>0 In epSOS-ePrescription, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:telecom/@use SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.40 OCL self.author.assignedAuthor.representedOrganization.telecom.use->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.40', aa))) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:telecom, the attribute nullFlavor SHALL have the value 'UNK' if present OCL self.author.assignedAuthor.representedOrganization.telecom->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::UNK) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at least ONE hl7:telecom (Item : R1.10.9.4 / R1.10.9.4.1 / R1.10.9.4.2) OCL self.author.assignedAuthor.representedOrganization->forAll(telecom->size()>0) In epSOS-ePrescription, the element defined by /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr shall verify this requirement : If addr is not nullflavored at least one sub element has to be provided (Item : R1.10.9.3) OCL self.author.assignedAuthor.representedOrganization.addr->reject(not nullFlavor.oclIsUndefined())->forAll(aa | CommonOperationsStatic::validateByXPATHV2(aa, '@nullFlavor or cda:*') ) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:streetAddressLine (Item : R1.10.9.3.1) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(streetAddressLine->size()>0) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:city (Item : R1.10.9.3.2) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(city->size()<2) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:city (Item : R1.10.9.3.2) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(city->size()>0) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:postalCode (Item : R1.10.9.3.3) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(postalCode->size()<2) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:postalCode (Item : R1.10.9.3.3) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(postalCode->size()>0) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:state (Item : R1.10.9.3.4) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(state->size()<2) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:state (Item : R1.10.9.3.4) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(state->size()>0) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:country (Item : R1.10.9.3.5) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(country->size()<2) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:country (Item : R1.10.9.3.5) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(country->size()>0) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization, the element(s) hl7:addr SHALL not have nullFlavor (mandatory) (Item : R1.10.9.3) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(nullFlavor.oclIsUndefined()) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at most ONE hl7:addr (Item : R1.10.9.3) OCL self.author.assignedAuthor.representedOrganization->forAll(addr->size()<2) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at least ONE hl7:addr (Item : R1.10.9.3) OCL self.author.assignedAuthor.representedOrganization->forAll(addr->size()>0) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:author/hl7:assignedAuthor SHALL contain at least ONE hl7:representedOrganization (Item : R1.10.9) OCL self.author.assignedAuthor->forAll(not representedOrganization.oclIsUndefined()) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1'], the element(s) hl7:author SHALL not have nullFlavor (mandatory) OCL self.author->forAll(nullFlavor.oclIsUndefined()) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:custodian, the attribute typeCode SHALL have the value 'CST' if present OCL self.custodian->forAll(typeCode.oclIsUndefined() or typeCode=ParticipationType::CST) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:custodian/hl7:assignedCustodian, the attribute classCode SHALL have the value 'ASSIGNED' if present OCL self.custodian.assignedCustodian->forAll(classCode.oclIsUndefined() or classCode=RoleClassAssignedEntity::ASSIGNED) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization, the attribute classCode SHALL have the value 'ORG' if present OCL self.custodian.assignedCustodian.representedCustodianOrganization->forAll(classCode.oclIsUndefined() or classCode=EntityClassOrganization::ORG) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.custodian.assignedCustodian.representedCustodianOrganization->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization, the attribute classCode SHALL be present OCL self.custodian.assignedCustodian.representedCustodianOrganization->forAll((not nullFlavor.oclIsUndefined()) or (not classCode.oclIsUndefined())) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization, the attribute classCode SHALL have the value 'ORG' if present OCL self.custodian.assignedCustodian.representedCustodianOrganization->forAll(classCode.oclIsUndefined() or classCode=EntityClassOrganization::ORG) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization, the attribute determinerCode SHALL be present OCL self.custodian.assignedCustodian.representedCustodianOrganization->forAll((not nullFlavor.oclIsUndefined()) or (not determinerCode.oclIsUndefined())) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.custodian.assignedCustodian.representedCustodianOrganization->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization SHALL contain at most ONE hl7:id (Item : R1.10.9.2) OCL self.custodian.assignedCustodian.representedCustodianOrganization->forAll(id->size()<2) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization SHALL contain at least ONE hl7:name (Item : R1.10.9.1) OCL self.custodian.assignedCustodian.representedCustodianOrganization->forAll(not name.oclIsUndefined()) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:telecom, the attribute use SHALL be present OCL self.custodian.assignedCustodian.representedCustodianOrganization.telecom.use->size()>0 In epSOS-ePrescription, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:telecom/@use SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.40 OCL self.custodian.assignedCustodian.representedCustodianOrganization.telecom.use->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.40', aa))) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:telecom, the attribute nullFlavor SHALL have the value 'UNK' if present OCL self.custodian.assignedCustodian.representedCustodianOrganization.telecom->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::UNK) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization SHALL contain at least ONE hl7:telecom (Item : R1.10.9.4 / R1.10.9.4.1 / R1.10.9.4.2) OCL self.custodian.assignedCustodian.representedCustodianOrganization->forAll(not telecom.oclIsUndefined()) In epSOS-ePrescription, the element defined by /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:addr shall verify this requirement : If addr is not nullflavored at least one sub element has to be provided (Item : R1.10.9.3) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->reject(not nullFlavor.oclIsUndefined())->forAll(aa | CommonOperationsStatic::validateByXPATHV2(aa, '@nullFlavor or cda:*') ) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:addr SHALL contain at least ONE hl7:streetAddressLine (Item : R1.10.9.3.1) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->forAll(streetAddressLine->size()>0) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:addr SHALL contain at most ONE hl7:city (Item : R1.10.9.3.2) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->forAll(city->size()<2) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:addr SHALL contain at least ONE hl7:city (Item : R1.10.9.3.2) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->forAll(city->size()>0) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:addr SHALL contain at most ONE hl7:postalCode (Item : R1.10.9.3.3) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->forAll(postalCode->size()<2) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:addr SHALL contain at least ONE hl7:postalCode (Item : R1.10.9.3.3) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->forAll(postalCode->size()>0) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:addr SHALL contain at most ONE hl7:state (Item : R1.10.9.3.4) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->forAll(state->size()<2) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:addr SHALL contain at least ONE hl7:state (Item : R1.10.9.3.4) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->forAll(state->size()>0) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:addr SHALL contain at most ONE hl7:country (Item : R1.10.9.3.5) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->forAll(country->size()<2) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:addr SHALL contain at least ONE hl7:country (Item : R1.10.9.3.5) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->forAll(country->size()>0) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization, the element(s) hl7:addr SHALL not have nullFlavor (mandatory) (Item : R1.10.9.3) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->forAll(nullFlavor.oclIsUndefined()) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization SHALL contain at least ONE hl7:addr (Item : R1.10.9.3) OCL self.custodian.assignedCustodian.representedCustodianOrganization->forAll(not addr.oclIsUndefined()) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1'], the element(s) hl7:custodian SHALL not have nullFlavor (mandatory) OCL self.custodian->forAll(nullFlavor.oclIsUndefined()) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:legalAuthenticator, the element(s) hl7:time SHALL not have nullFlavor (mandatory) OCL self.legalAuthenticator.time->forAll(nullFlavor.oclIsUndefined()) In epSOS-ePrescription, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:legalAuthenticator/hl7:signatureCode SHALL be from the valueSet 2.16.840.1.113883.1.11.10282 OCL self.legalAuthenticator.signatureCode->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and matchesCodeToValueSet('2.16.840.1.113883.1.11.10282', code))) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:legalAuthenticator/hl7:assignedEntity, the element(s) hl7:id SHALL not have nullFlavor (mandatory) OCL self.legalAuthenticator.assignedEntity.id->forAll(nullFlavor.oclIsUndefined()) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:legalAuthenticator/hl7:assignedEntity SHALL contain at most ONE hl7:id OCL self.legalAuthenticator.assignedEntity->forAll(id->size()<2) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:legalAuthenticator/hl7:assignedEntity SHALL contain at least ONE hl7:addr (Item : IHE PCC) OCL self.legalAuthenticator.assignedEntity->forAll(addr->size()>0) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:legalAuthenticator/hl7:assignedEntity SHALL contain at least ONE hl7:telecom (Item : IHE PCC) OCL self.legalAuthenticator.assignedEntity->forAll(telecom->size()>0) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:assignedPerson, the attribute classCode SHALL have the value 'PSN' if present OCL self.legalAuthenticator.assignedEntity.assignedPerson->forAll(classCode.oclIsUndefined() or classCode=EntityClass::PSN) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:assignedPerson, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.legalAuthenticator.assignedEntity.assignedPerson->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:assignedPerson, the attribute classCode SHALL have the value 'PSN' if present OCL self.legalAuthenticator.assignedEntity.assignedPerson->forAll(classCode.oclIsUndefined() or classCode=EntityClass::PSN) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:assignedPerson, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.legalAuthenticator.assignedEntity.assignedPerson->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:legalAuthenticator/hl7:assignedEntity SHALL contain at least ONE hl7:assignedPerson (Item : IHE PCC) OCL self.legalAuthenticator.assignedEntity->forAll(not assignedPerson.oclIsUndefined()) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization, the attribute classCode SHALL be present OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll((not nullFlavor.oclIsUndefined()) or (not classCode.oclIsUndefined())) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization, the attribute classCode SHALL have the value 'ORG' if present OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll(classCode.oclIsUndefined() or classCode=EntityClassOrganization::ORG) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization, the attribute determinerCode SHALL be present OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll((not nullFlavor.oclIsUndefined()) or (not determinerCode.oclIsUndefined())) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization SHALL contain at most ONE hl7:id (Item : R1.10.9.2) OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll(id->size()<2) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization SHALL contain at least ONE hl7:id (Item : R1.10.9.2) OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll(id->size()>0) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization SHALL contain at most ONE hl7:name (Item : R1.10.9.1) OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll(name->size()<2) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization SHALL contain at least ONE hl7:name (Item : R1.10.9.1) OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll(name->size()>0) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:telecom, the attribute use SHALL be present OCL self.legalAuthenticator.assignedEntity.representedOrganization.telecom.use->size()>0 In epSOS-ePrescription, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:telecom/@use SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.40 OCL self.legalAuthenticator.assignedEntity.representedOrganization.telecom.use->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.40', aa))) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:telecom, the attribute nullFlavor SHALL have the value 'UNK' if present OCL self.legalAuthenticator.assignedEntity.representedOrganization.telecom->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::UNK) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization SHALL contain at least ONE hl7:telecom (Item : R1.10.9.4 / R1.10.9.4.1 / R1.10.9.4.2) OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll(telecom->size()>0) In epSOS-ePrescription, the element defined by /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:addr shall verify this requirement : If addr is not nullflavored at least one sub element has to be provided (Item : R1.10.9.3) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->reject(not nullFlavor.oclIsUndefined())->forAll(aa | CommonOperationsStatic::validateByXPATHV2(aa, '@nullFlavor or cda:*') ) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:streetAddressLine (Item : R1.10.9.3.1) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(streetAddressLine->size()>0) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:city (Item : R1.10.9.3.2) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(city->size()<2) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:city (Item : R1.10.9.3.2) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(city->size()>0) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:postalCode (Item : R1.10.9.3.3) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(postalCode->size()<2) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:postalCode (Item : R1.10.9.3.3) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(postalCode->size()>0) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:state (Item : R1.10.9.3.4) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(state->size()<2) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:state (Item : R1.10.9.3.4) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(state->size()>0) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:country (Item : R1.10.9.3.5) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(country->size()<2) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:country (Item : R1.10.9.3.5) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(country->size()>0) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization, the element(s) hl7:addr SHALL not have nullFlavor (mandatory) (Item : R1.10.9.3) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(nullFlavor.oclIsUndefined()) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization SHALL contain at most ONE hl7:addr (Item : R1.10.9.3) OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll(addr->size()<2) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization SHALL contain at least ONE hl7:addr (Item : R1.10.9.3) OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll(addr->size()>0) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:legalAuthenticator/hl7:assignedEntity, the element(s) hl7:representedOrganization SHALL not have nullFlavor (mandatory) OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll(nullFlavor.oclIsUndefined()) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:legalAuthenticator/hl7:assignedEntity SHALL contain at least ONE hl7:representedOrganization OCL self.legalAuthenticator.assignedEntity->forAll(not representedOrganization.oclIsUndefined()) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1'], the element(s) hl7:legalAuthenticator SHALL not have nullFlavor (mandatory) (Item : R1.11.9) OCL self.legalAuthenticator->forAll(nullFlavor.oclIsUndefined()) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1'] SHALL contain at least ONE hl7:legalAuthenticator (Item : R1.11.9) OCL (not self.nullFlavor.oclIsUndefined()) or self.legalAuthenticator->size()>0 In epSOS-ePrescription, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:relatedDocument/@typeCode SHALL be from the valueSet 2.16.840.1.113883.1.11.11610 OCL self.relatedDocument.typeCode->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('2.16.840.1.113883.1.11.11610', CommonOperationsStatic::stringValueOf(aa)))) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:relatedDocument/hl7:parentDocument, the attribute classCode SHALL have the value 'DOCCLIN' if present OCL self.relatedDocument.parentDocument->forAll(classCode.oclIsUndefined() or classCode=ActClinicalDocument::DOCCLIN) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:relatedDocument/hl7:parentDocument, the attribute moodCode SHALL have the value 'EVN' if present OCL self.relatedDocument.parentDocument->forAll(moodCode.oclIsUndefined() or moodCode=ActMood::EVN) In epSOS-ePrescription, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:relatedDocument/hl7:parentDocument/hl7:code SHALL have codeSystem='2.16.840.1.113883.6.1' OCL self.relatedDocument.parentDocument.code->forAll( (not nullFlavor.oclIsUndefined()) or ((not codeSystem.oclIsUndefined()) and codeSystem='2.16.840.1.113883.6.1')) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1'], the element(s) hl7:relatedDocument SHALL not have nullFlavor (mandatory) OCL self.relatedDocument->forAll(nullFlavor.oclIsUndefined()) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1'] SHALL contain at most ONE hl7:relatedDocument OCL self.relatedDocument->size()<2 In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1'] SHALL contain at least ONE hl7:relatedDocument OCL (not self.nullFlavor.oclIsUndefined()) or self.relatedDocument->size()>0 In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:component/hl7:structuredBody, the attribute classCode SHALL have the value 'DOCBODY' if present OCL self.component.structuredBody->forAll(classCode.oclIsUndefined() or classCode=ActClass::DOCBODY) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:component/hl7:structuredBody/hl7:component/hl7:section/hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.1'], the attribute root SHALL be present OCL self.component.structuredBody.component.section.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.2.1')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:component, the element(s) hl7:structuredBody SHALL not have nullFlavor (mandatory) OCL self.component.structuredBody->forAll(nullFlavor.oclIsUndefined()) In epSOS-ePrescription, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1']/hl7:component SHALL contain at least ONE hl7:structuredBody OCL self.component->forAll(not structuredBody.oclIsUndefined()) In epSOS-ePrescription, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1'], the element(s) hl7:component SHALL not have nullFlavor (mandatory) OCL self.component->forAll(nullFlavor.oclIsUndefined()) In Section Coded Results, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.28'], the attribute classCode SHALL have the value 'DOCSECT' if present OCL self.classCode.oclIsUndefined() or self.classCode=ActClass::DOCSECT In Section Coded Results, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.28']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.28'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.28')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Section Coded Results, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.28'], the element(s) hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.28'] SHALL not have nullFlavor (mandatory) OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.28')->forAll(nullFlavor.oclIsUndefined()) In Section Coded Results, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.28'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.28'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.28')->size()<2 In Section Coded Results, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.28'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.28'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Section Coded Results, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.28'] SHALL contain at least ONE hl7:id OCL (not self.nullFlavor.oclIsUndefined()) or self.id->size()>0 In Section Coded Results, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.28']/hl7:code, the attribute code SHALL be present OCL self.code->forAll((not nullFlavor.oclIsUndefined()) or (not code.oclIsUndefined())) In Section Coded Results, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.28']/hl7:code, the attribute code SHALL have the value '30954-2' if present OCL self.code->forAll(code.oclIsUndefined() or code='30954-2') In Section Coded Results, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.28']/hl7:code, the attribute codeSystem SHALL have the value '2.16.840.1.113883.6.1' if present OCL self.code->forAll(codeSystem.oclIsUndefined() or codeSystem='2.16.840.1.113883.6.1') In Section Coded Results, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.28'], the element(s) hl7:code SHALL not have nullFlavor (mandatory) OCL self.code->forAll(nullFlavor.oclIsUndefined()) In Section Coded Results, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.28'] SHALL contain at least ONE hl7:code OCL (not self.nullFlavor.oclIsUndefined()) or self.code->size()>0 In Section Coded Results, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.28'], the element(s) hl7:title SHALL not have nullFlavor (mandatory) OCL self.title->forAll(nullFlavor.oclIsUndefined()) In Section Coded Results, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.28'] SHALL contain at least ONE hl7:title OCL (not self.nullFlavor.oclIsUndefined()) or self.title->size()>0 In Section Coded Results, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.28'], the element(s) hl7:text SHALL not have nullFlavor (mandatory) OCL self.text->forAll(nullFlavor.oclIsUndefined()) In Section Coded Results, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.28'] SHALL contain at least ONE hl7:text OCL (not self.nullFlavor.oclIsUndefined()) or self.text->size()>0 In Section Coded Results, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.28']/hl7:entry[hl7:procedure/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.19']/hl7:procedure/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.19'], the attribute root SHALL be present OCL self.entry->select(procedure.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.4.19')).procedure.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.19')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Section Coded Results, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.28'] SHALL contain at most ONE hl7:entry[hl7:procedure/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.19'] OCL self.entry->select(procedure.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.4.19'))->size()<2 In Section Coded Results, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.28']/hl7:entry[hl7:act/@classCode='ACT']/hl7:act, the attribute moodCode SHALL have the value 'EVN' if present OCL self.entry->select((not act.classCode.oclIsUndefined()) and act.classCode=XActClassDocumentEntryAct::ACT).act->forAll(moodCode.oclIsUndefined() or moodCode=XDocumentActMood::EVN) In Section Coded Results, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.28']/hl7:entry[hl7:act/@classCode='ACT']/hl7:act/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.4'], the attribute root SHALL be present OCL self.entry->select((not act.classCode.oclIsUndefined()) and act.classCode=XActClassDocumentEntryAct::ACT).act.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.4')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Section Coded Results, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.28']/hl7:entry[hl7:act/@classCode='ACT']/hl7:act SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.4'] OCL self.entry->select((not act.classCode.oclIsUndefined()) and act.classCode=XActClassDocumentEntryAct::ACT).act->forAll(templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.4')->size()<2) In Section Coded Results, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.28']/hl7:entry[hl7:act/@classCode='ACT']/hl7:act SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.4'] OCL self.entry->select((not act.classCode.oclIsUndefined()) and act.classCode=XActClassDocumentEntryAct::ACT).act->forAll(templateId->size()>0) In Section Coded Results, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.28']/hl7:entry[hl7:act/@classCode='ACT']/hl7:act SHALL contain at most ONE hl7:id OCL self.entry->select((not act.classCode.oclIsUndefined()) and act.classCode=XActClassDocumentEntryAct::ACT).act->forAll(id->size()<2) In Section Coded Results, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.28']/hl7:entry[hl7:act/@classCode='ACT']/hl7:act SHALL contain at least ONE hl7:id OCL self.entry->select((not act.classCode.oclIsUndefined()) and act.classCode=XActClassDocumentEntryAct::ACT).act->forAll(id->size()>0) In Section Coded Results, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.28']/hl7:entry[hl7:act/@classCode='ACT']/hl7:act/hl7:code, the attribute nullFlavor SHALL be present OCL self.entry->select((not act.classCode.oclIsUndefined()) and act.classCode=XActClassDocumentEntryAct::ACT).act.code->forAll(not nullFlavor.oclIsUndefined()) In Section Coded Results, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.28']/hl7:entry[hl7:act/@classCode='ACT']/hl7:act/hl7:code, the attribute nullFlavor SHALL have the value 'NA' if present OCL self.entry->select((not act.classCode.oclIsUndefined()) and act.classCode=XActClassDocumentEntryAct::ACT).act.code->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::NA) In Section Coded Results, the code of /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.28']/hl7:entry[hl7:act/@classCode='ACT']/hl7:act/hl7:reference/@typeCode SHALL have code='SPRT' OR SHALL have code='REFR' OCL self.entry->select((not act.classCode.oclIsUndefined()) and act.classCode=XActClassDocumentEntryAct::ACT).act.reference.typeCode->forAll( aa | (CommonOperationsStatic::stringValueOf(aa)='SPRT') or (CommonOperationsStatic::stringValueOf(aa)='REFR')) In Section Coded Results, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.28']/hl7:entry[hl7:act/@classCode='ACT']/hl7:act/hl7:reference/hl7:externalDocument, the attribute classCode SHALL have the value 'DOC' if present OCL self.entry->select((not act.classCode.oclIsUndefined()) and act.classCode=XActClassDocumentEntryAct::ACT).act.reference.externalDocument->forAll(classCode.oclIsUndefined() or classCode=ActClassDocument::DOC) In Section Coded Results, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.28']/hl7:entry[hl7:act/@classCode='ACT']/hl7:act/hl7:reference/hl7:externalDocument, the attribute moodCode SHALL have the value 'EVN' if present OCL self.entry->select((not act.classCode.oclIsUndefined()) and act.classCode=XActClassDocumentEntryAct::ACT).act.reference.externalDocument->forAll(moodCode.oclIsUndefined() or moodCode=ActMood::EVN) In Section Coded Results, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.28']/hl7:entry[hl7:act/@classCode='ACT']/hl7:act/hl7:reference/hl7:externalDocument SHALL contain at most ONE hl7:id OCL self.entry->select((not act.classCode.oclIsUndefined()) and act.classCode=XActClassDocumentEntryAct::ACT).act.reference.externalDocument->forAll(id->size()<2) In Section Coded Results, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.28']/hl7:entry[hl7:act/@classCode='ACT']/hl7:act/hl7:reference/hl7:externalDocument SHALL contain at least ONE hl7:id OCL self.entry->select((not act.classCode.oclIsUndefined()) and act.classCode=XActClassDocumentEntryAct::ACT).act.reference.externalDocument->forAll(id->size()>0) In Section Coded Results, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.28'] SHALL contain at most ONE hl7:entry[hl7:act/@classCode='ACT'] OCL self.entry->select((not act.classCode.oclIsUndefined()) and act.classCode=XActClassDocumentEntryAct::ACT)->size()<2 In Section Coded Results, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.28']/hl7:entry[hl7:observation/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13']/hl7:observation/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.13'], the attribute root SHALL be present OCL self.entry->select(observation.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.4.13')).observation.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.13')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Section Coded Results, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.28'] SHALL contain at least ONE hl7:entry[hl7:observation/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13'] OCL (not self.nullFlavor.oclIsUndefined()) or self.entry->size()>0 In Social History Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.4']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.13'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.13')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Social History Observation, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.4'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.13'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.13')->size()<2 In Social History Observation, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.4'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.13'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Social History Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.4']/hl7:templateId[@root='2.16.840.1.113883.10.20.1.33'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.33')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Social History Observation, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.4'] SHALL contain at most ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.33'] OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.33')->size()<2 In Social History Observation, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.4'] SHALL contain at least ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.33'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Social History Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.4']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.4'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.13.4')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Social History Observation, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.4'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.4'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.13.4')->size()<2 In Social History Observation, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.4'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.4'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Social History Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.4'], the element(s) hl7:code SHALL not have nullFlavor (mandatory) OCL self.code->forAll(nullFlavor.oclIsUndefined()) In Social History Observation, the code of /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.4']/hl7:code SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.14 OCL self.code->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.14', code, codeSystem, null, null))) In Social History Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.4']/hl7:statusCode, the attribute code SHALL be present OCL self.statusCode->forAll((not nullFlavor.oclIsUndefined()) or (not code.oclIsUndefined())) In Social History Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.4']/hl7:statusCode, the attribute code SHALL have the value 'completed' if present OCL self.statusCode->forAll(code.oclIsUndefined() or code='completed') In Social History Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.4']/hl7:statusCode, the attribute codeSystem SHALL have the value '2.16.840.1.113883.5.14' if present OCL self.statusCode->forAll(codeSystem.oclIsUndefined() or codeSystem='2.16.840.1.113883.5.14') In Social History Observation, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.4'] SHALL contain at least ONE hl7:statusCode OCL (not self.nullFlavor.oclIsUndefined()) or self.statusCode->size()>0 In Social History Observation, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.4'] SHALL contain at least ONE hl7:value OCL (not self.nullFlavor.oclIsUndefined()) or self.value->size()>0 In Allergies And Intolerances, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.6'], the attribute classCode SHALL have the value 'OBS' if present OCL self.classCode.oclIsUndefined() or self.classCode=ActClassObservation::OBS In Allergies And Intolerances, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.6'], the attribute moodCode SHALL have the value 'EVN' if present OCL self.moodCode.oclIsUndefined() or self.moodCode=XActMoodDocumentObservation::EVN In Allergies And Intolerances, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.6']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.5'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.5')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Allergies And Intolerances, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.6'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.5'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.5')->size()<2 In Allergies And Intolerances, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.6'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.5'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Allergies And Intolerances, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.6']/hl7:templateId[@root='2.16.840.1.113883.10.20.1.18'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.18')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Allergies And Intolerances, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.6'] SHALL contain at most ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.18'] OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.18')->size()<2 In Allergies And Intolerances, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.6'] SHALL contain at least ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.18'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Allergies And Intolerances, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.6']/hl7:templateId[@root='2.16.840.1.113883.10.20.1.28'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.28')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Allergies And Intolerances, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.6'] SHALL contain at most ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.28'] OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.28')->size()<2 In Allergies And Intolerances, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.6'] SHALL contain at least ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.28'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Allergies And Intolerances, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.6']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.6'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.6')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Allergies And Intolerances, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.6'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.6'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.6')->size()<2 In Allergies And Intolerances, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.6'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.6'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Allergies And Intolerances, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.6'], the element(s) hl7:id SHALL not have nullFlavor (mandatory) OCL self.id->forAll(nullFlavor.oclIsUndefined()) In Allergies And Intolerances, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.6'] SHALL contain at least ONE hl7:id OCL (not self.nullFlavor.oclIsUndefined()) or self.id->size()>0 In Allergies And Intolerances, the code of /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.6']/hl7:code SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.18 OCL self.code->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.18', code, codeSystem, null, null))) In Allergies And Intolerances, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.6'] SHALL contain at least ONE hl7:text OCL (not self.nullFlavor.oclIsUndefined()) or self.text->size()>0 In Allergies And Intolerances, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.6']/hl7:statusCode, the attribute code SHALL be present OCL self.statusCode->forAll((not nullFlavor.oclIsUndefined()) or (not code.oclIsUndefined())) In Allergies And Intolerances, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.6']/hl7:statusCode, the attribute code SHALL have the value 'completed' if present OCL self.statusCode->forAll(code.oclIsUndefined() or code='completed') In Allergies And Intolerances, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.6']/hl7:statusCode, the attribute codeSystem SHALL have the value '2.16.840.1.113883.5.14' if present OCL self.statusCode->forAll(codeSystem.oclIsUndefined() or codeSystem='2.16.840.1.113883.5.14') In Allergies And Intolerances, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.6'] SHALL contain at least ONE hl7:statusCode OCL (not self.nullFlavor.oclIsUndefined()) or self.statusCode->size()>0 In Allergies And Intolerances, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.6'], the element(s) hl7:value SHALL be from the datatype CD OCL self.value->forAll(oclIsKindOf(CD)) In Allergies And Intolerances, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.6'] SHALL contain at least ONE hl7:participant OCL (not self.nullFlavor.oclIsUndefined()) or self.participant->size()>0 In Allergies And Intolerances, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.6']/hl7:entryRelationship[hl7:observation/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5']/hl7:observation/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.5'], the attribute root SHALL be present OCL self.entryRelationship->select(observation.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.4.5')).observation.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.5')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Allergies And Intolerances, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.6']/hl7:entryRelationship[hl7:observation/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1']/hl7:observation/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.1'], the attribute root SHALL be present OCL self.entryRelationship->select(observation.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.4.1')).observation.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.1')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Allergies And Intolerances, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.6'] SHALL contain at most ONE hl7:entryRelationship[hl7:observation/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1'] OCL self.entryRelationship->select(observation.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.4.1'))->size()<2 In Section Dispensation, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.2'], the attribute classCode SHALL have the value 'DOCSECT' if present OCL self.classCode.oclIsUndefined() or self.classCode=ActClass::DOCSECT In Section Dispensation, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.2'], the attribute moodCode SHALL have the value 'EVN' if present OCL self.moodCode.oclIsUndefined() or self.moodCode=ActMood::EVN In Section Dispensation, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.2']/hl7:templateId[@root='2.16.840.1.113883.10.20.1.8'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.8')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Section Dispensation, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.2'] SHALL contain at most ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.8'] OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.8')->size()<2 In Section Dispensation, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.2'] SHALL contain at least ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.8'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Section Dispensation, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.2']/hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.2'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.2.2')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Section Dispensation, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.2'], the element(s) hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.2'] SHALL not have nullFlavor (mandatory) OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.2.2')->forAll(nullFlavor.oclIsUndefined()) In Section Dispensation, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.2'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.2'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.2.2')->size()<2 In Section Dispensation, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.2'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.2'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Section Dispensation, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.2'], the element(s) hl7:id SHALL not have nullFlavor (mandatory) OCL self.id->forAll(nullFlavor.oclIsUndefined()) In Section Dispensation, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.2'] SHALL contain at least ONE hl7:id OCL (not self.nullFlavor.oclIsUndefined()) or self.id->size()>0 In Section Dispensation, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.2']/hl7:code, the attribute code SHALL be present OCL self.code->forAll((not nullFlavor.oclIsUndefined()) or (not code.oclIsUndefined())) In Section Dispensation, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.2']/hl7:code, the attribute code SHALL have the value '60590-7' if present OCL self.code->forAll(code.oclIsUndefined() or code='60590-7') In Section Dispensation, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.2']/hl7:code, the attribute codeSystem SHALL have the value '2.16.840.1.113883.6.1' if present OCL self.code->forAll(codeSystem.oclIsUndefined() or codeSystem='2.16.840.1.113883.6.1') In Section Dispensation, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.2'] SHALL contain at least ONE hl7:code OCL (not self.nullFlavor.oclIsUndefined()) or self.code->size()>0 In Section Dispensation, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.2'] SHALL contain at least ONE hl7:title OCL (not self.nullFlavor.oclIsUndefined()) or self.title->size()>0 In Section Dispensation, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.2'] SHALL contain at least ONE hl7:text OCL (not self.nullFlavor.oclIsUndefined()) or self.text->size()>0 In Section Dispensation, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.2']/hl7:entry, the attribute typeCode SHALL be present OCL self.entry->forAll((not nullFlavor.oclIsUndefined()) or (not typeCode.oclIsUndefined())) In Section Dispensation, the code of /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.2']/hl7:entry/@typeCode SHALL be from the valueSet 2.16.840.1.113883.1.11.19446 OCL self.entry.typeCode->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('2.16.840.1.113883.1.11.19446', CommonOperationsStatic::stringValueOf(aa)))) In Section Dispensation, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.2']/hl7:entry/hl7:supply/hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3'], the attribute root SHALL be present OCL self.entry.supply.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Section Dispensation, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.2'] SHALL contain at least ONE hl7:entry OCL (not self.nullFlavor.oclIsUndefined()) or self.entry->size()>0 In epSOS CDA Supply, in /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3'], the attribute classCode SHALL have the value 'SPLY' if present OCL self.classCode.oclIsUndefined() or self.classCode=ActClassSupply::SPLY In epSOS CDA Supply, in /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3'], the attribute moodCode SHALL have the value 'EVN' if present OCL self.moodCode.oclIsUndefined() or self.moodCode=XDocumentSubstanceMood::EVN In epSOS CDA Supply, in /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:templateId[@root='2.16.840.1.113883.10.20.1.34'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.34')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS CDA Supply, in /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3'], the element(s) hl7:templateId[@root='2.16.840.1.113883.10.20.1.34'] SHALL not have nullFlavor (mandatory) OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.34')->forAll(nullFlavor.oclIsUndefined()) In epSOS CDA Supply, /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3'] SHALL contain at most ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.34'] OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.34')->size()<2 In epSOS CDA Supply, /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3'] SHALL contain at least ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.34'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In epSOS CDA Supply, in /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.7.3'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.7.3')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS CDA Supply, in /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3'], the element(s) hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.7.3'] SHALL not have nullFlavor (mandatory) OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.7.3')->forAll(nullFlavor.oclIsUndefined()) In epSOS CDA Supply, /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.7.3'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.7.3')->size()<2 In epSOS CDA Supply, /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.7.3'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In epSOS CDA Supply, in /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS CDA Supply, in /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3'], the element(s) hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3'] SHALL not have nullFlavor (mandatory) OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3')->forAll(nullFlavor.oclIsUndefined()) In epSOS CDA Supply, /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3')->size()<2 In epSOS CDA Supply, /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In epSOS CDA Supply, in /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3'], the element(s) hl7:id SHALL not have nullFlavor (mandatory) OCL self.id->forAll(nullFlavor.oclIsUndefined()) In epSOS CDA Supply, /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3'] SHALL contain at most ONE hl7:id OCL self.id->size()<2 In epSOS CDA Supply, /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3'] SHALL contain at least ONE hl7:id OCL (not self.nullFlavor.oclIsUndefined()) or self.id->size()>0 In epSOS CDA Supply, in /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3'], the element(s) hl7:quantity SHALL not have nullFlavor (mandatory) OCL self.quantity->forAll(nullFlavor.oclIsUndefined()) In epSOS CDA Supply, /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3'] SHALL contain at least ONE hl7:quantity OCL (not self.nullFlavor.oclIsUndefined()) or self.quantity->size()>0 In epSOS CDA Supply, in /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:product, the attribute typeCode SHALL have the value 'PRD' if present OCL self.product->forAll(typeCode.oclIsUndefined() or typeCode=ParticipationType::PRD) In epSOS CDA Supply, in /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:product/hl7:manufacturedProduct, the attribute classCode SHALL have the value 'MANU' if present OCL self.product.manufacturedProduct->forAll(classCode.oclIsUndefined() or classCode=RoleClassManufacturedProduct::MANU) In epSOS CDA Supply, in /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:product/hl7:manufacturedProduct/hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.1'], the attribute root SHALL be present OCL self.product.manufacturedProduct.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.3.1')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS CDA Supply, /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:product/hl7:manufacturedProduct SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.1'] OCL self.product.manufacturedProduct->forAll(templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.3.1')->size()<2) In epSOS CDA Supply, /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:product/hl7:manufacturedProduct SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.1'] OCL self.product.manufacturedProduct->forAll(templateId->size()>0) In epSOS CDA Supply, in /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:product/hl7:manufacturedProduct/hl7:manufacturedMaterial, the attribute classCode SHALL be present OCL self.product.manufacturedProduct.manufacturedMaterial->forAll((not nullFlavor.oclIsUndefined()) or (not classCode.oclIsUndefined())) In epSOS CDA Supply, in /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:product/hl7:manufacturedProduct/hl7:manufacturedMaterial, the attribute classCode SHALL have the value 'MMAT' if present OCL self.product.manufacturedProduct.manufacturedMaterial->forAll(classCode.oclIsUndefined() or classCode=EntityClassManufacturedMaterial::MMAT) In epSOS CDA Supply, in /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:product/hl7:manufacturedProduct/hl7:manufacturedMaterial, the attribute determinerCode SHALL be present OCL self.product.manufacturedProduct.manufacturedMaterial->forAll((not nullFlavor.oclIsUndefined()) or (not determinerCode.oclIsUndefined())) In epSOS CDA Supply, in /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:product/hl7:manufacturedProduct/hl7:manufacturedMaterial, the attribute determinerCode SHALL have the value 'KIND' if present OCL self.product.manufacturedProduct.manufacturedMaterial->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminerDetermined::KIND) In epSOS CDA Supply, the code of /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:product/hl7:manufacturedProduct/hl7:manufacturedMaterial/hl7:code SHALL be from the valueSet 2.16.840.1.113883.1.11.16041 OCL self.product.manufacturedProduct.manufacturedMaterial.code->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('2.16.840.1.113883.1.11.16041', code, codeSystem, null, null))) In epSOS CDA Supply, /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3'] SHALL contain at least ONE hl7:product OCL (not self.nullFlavor.oclIsUndefined()) or self.product->size()>0 In epSOS CDA Supply, in /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:performer, the attribute typeCode SHALL have the value 'PRF' if present OCL self.performer->forAll(typeCode.oclIsUndefined() or typeCode=ParticipationPhysicalPerformer::PRF) In epSOS CDA Supply, the code of /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:performer/hl7:modeCode SHALL be from the valueSet 2.16.840.1.113883.1.11.16543 OCL self.performer.modeCode->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('2.16.840.1.113883.1.11.16543', code, codeSystem, null, null))) In epSOS CDA Supply, in /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:performer/hl7:assignedEntity, the attribute classCode SHALL have the value 'ASSIGNED' if present OCL self.performer.assignedEntity->forAll(classCode.oclIsUndefined() or classCode=RoleClassAssignedEntity::ASSIGNED) In epSOS CDA Supply, the code of /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:performer/hl7:assignedEntity/hl7:code SHALL have codeSystem='2.16.840.1.113883.5.111' OCL self.performer.assignedEntity.code->forAll( (not nullFlavor.oclIsUndefined()) or ((not codeSystem.oclIsUndefined()) and codeSystem='2.16.840.1.113883.5.111')) In epSOS CDA Supply, /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:performer/hl7:assignedEntity SHALL contain at least ONE hl7:addr (Item : IHE PCC) OCL self.performer.assignedEntity->forAll(addr->size()>0) In epSOS CDA Supply, /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:performer/hl7:assignedEntity SHALL contain at least ONE hl7:telecom (Item : IHE PCC) OCL self.performer.assignedEntity->forAll(telecom->size()>0) In epSOS CDA Supply, in /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:performer/hl7:assignedEntity/hl7:assignedPerson, the attribute classCode SHALL have the value 'PSN' if present OCL self.performer.assignedEntity.assignedPerson->forAll(classCode.oclIsUndefined() or classCode=EntityClass::PSN) In epSOS CDA Supply, in /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:performer/hl7:assignedEntity/hl7:assignedPerson, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.performer.assignedEntity.assignedPerson->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS CDA Supply, /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:performer/hl7:assignedEntity/hl7:assignedPerson SHALL contain at least ONE hl7:name (Item : IHE PCC) OCL self.performer.assignedEntity.assignedPerson->forAll(name->size()>0) In epSOS CDA Supply, in /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:performer/hl7:assignedEntity/hl7:representedOrganization, the attribute classCode SHALL be present OCL self.performer.assignedEntity.representedOrganization->forAll((not nullFlavor.oclIsUndefined()) or (not classCode.oclIsUndefined())) In epSOS CDA Supply, in /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:performer/hl7:assignedEntity/hl7:representedOrganization, the attribute classCode SHALL have the value 'ORG' if present OCL self.performer.assignedEntity.representedOrganization->forAll(classCode.oclIsUndefined() or classCode=EntityClassOrganization::ORG) In epSOS CDA Supply, in /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:performer/hl7:assignedEntity/hl7:representedOrganization, the attribute determinerCode SHALL be present OCL self.performer.assignedEntity.representedOrganization->forAll((not nullFlavor.oclIsUndefined()) or (not determinerCode.oclIsUndefined())) In epSOS CDA Supply, in /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:performer/hl7:assignedEntity/hl7:representedOrganization, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.performer.assignedEntity.representedOrganization->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS CDA Supply, /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:performer/hl7:assignedEntity/hl7:representedOrganization SHALL contain at most ONE hl7:id (Item : R1.10.9.2) OCL self.performer.assignedEntity.representedOrganization->forAll(id->size()<2) In epSOS CDA Supply, /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:performer/hl7:assignedEntity/hl7:representedOrganization SHALL contain at least ONE hl7:id (Item : R1.10.9.2) OCL self.performer.assignedEntity.representedOrganization->forAll(id->size()>0) In epSOS CDA Supply, /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:performer/hl7:assignedEntity/hl7:representedOrganization SHALL contain at most ONE hl7:name (Item : R1.10.9.1) OCL self.performer.assignedEntity.representedOrganization->forAll(name->size()<2) In epSOS CDA Supply, /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:performer/hl7:assignedEntity/hl7:representedOrganization SHALL contain at least ONE hl7:name (Item : R1.10.9.1) OCL self.performer.assignedEntity.representedOrganization->forAll(name->size()>0) In epSOS CDA Supply, in /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:performer/hl7:assignedEntity/hl7:representedOrganization/hl7:telecom, the attribute use SHALL be present OCL self.performer.assignedEntity.representedOrganization.telecom.use->size()>0 In epSOS CDA Supply, the code of /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:performer/hl7:assignedEntity/hl7:representedOrganization/hl7:telecom/@use SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.40 OCL self.performer.assignedEntity.representedOrganization.telecom.use->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.40', aa))) In epSOS CDA Supply, in /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:performer/hl7:assignedEntity/hl7:representedOrganization/hl7:telecom, the attribute nullFlavor SHALL have the value 'UNK' if present OCL self.performer.assignedEntity.representedOrganization.telecom->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::UNK) In epSOS CDA Supply, /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:performer/hl7:assignedEntity/hl7:representedOrganization SHALL contain at least ONE hl7:telecom (Item : R1.10.9.4 / R1.10.9.4.1 / R1.10.9.4.2) OCL self.performer.assignedEntity.representedOrganization->forAll(telecom->size()>0) In epSOS CDA Supply, the element defined by /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:performer/hl7:assignedEntity/hl7:representedOrganization/hl7:addr shall verify this requirement : If addr is not nullflavored at least one sub element has to be provided (Item : R1.10.9.3) OCL self.performer.assignedEntity.representedOrganization.addr->reject(not nullFlavor.oclIsUndefined())->forAll(aa | CommonOperationsStatic::validateByXPATHV2(aa, '@nullFlavor or cda:*') ) In epSOS CDA Supply, /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:performer/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:streetAddressLine (Item : R1.10.9.3.1) OCL self.performer.assignedEntity.representedOrganization.addr->forAll(streetAddressLine->size()>0) In epSOS CDA Supply, /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:performer/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:city (Item : R1.10.9.3.2) OCL self.performer.assignedEntity.representedOrganization.addr->forAll(city->size()<2) In epSOS CDA Supply, /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:performer/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:city (Item : R1.10.9.3.2) OCL self.performer.assignedEntity.representedOrganization.addr->forAll(city->size()>0) In epSOS CDA Supply, /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:performer/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:postalCode (Item : R1.10.9.3.3) OCL self.performer.assignedEntity.representedOrganization.addr->forAll(postalCode->size()<2) In epSOS CDA Supply, /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:performer/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:postalCode (Item : R1.10.9.3.3) OCL self.performer.assignedEntity.representedOrganization.addr->forAll(postalCode->size()>0) In epSOS CDA Supply, /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:performer/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:state (Item : R1.10.9.3.4) OCL self.performer.assignedEntity.representedOrganization.addr->forAll(state->size()<2) In epSOS CDA Supply, /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:performer/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:state (Item : R1.10.9.3.4) OCL self.performer.assignedEntity.representedOrganization.addr->forAll(state->size()>0) In epSOS CDA Supply, /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:performer/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:country (Item : R1.10.9.3.5) OCL self.performer.assignedEntity.representedOrganization.addr->forAll(country->size()<2) In epSOS CDA Supply, /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:performer/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:country (Item : R1.10.9.3.5) OCL self.performer.assignedEntity.representedOrganization.addr->forAll(country->size()>0) In epSOS CDA Supply, in /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:performer/hl7:assignedEntity/hl7:representedOrganization, the element(s) hl7:addr SHALL not have nullFlavor (mandatory) (Item : R1.10.9.3) OCL self.performer.assignedEntity.representedOrganization.addr->forAll(nullFlavor.oclIsUndefined()) In epSOS CDA Supply, /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:performer/hl7:assignedEntity/hl7:representedOrganization SHALL contain at most ONE hl7:addr (Item : R1.10.9.3) OCL self.performer.assignedEntity.representedOrganization->forAll(addr->size()<2) In epSOS CDA Supply, /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:performer/hl7:assignedEntity/hl7:representedOrganization SHALL contain at least ONE hl7:addr (Item : R1.10.9.3) OCL self.performer.assignedEntity.representedOrganization->forAll(addr->size()>0) In epSOS CDA Supply, /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3'] SHALL contain at most ONE hl7:performer OCL self.performer->size()<2 In epSOS CDA Supply, /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3'] SHALL contain at least ONE hl7:performer OCL (not self.nullFlavor.oclIsUndefined()) or self.performer->size()>0 In epSOS CDA Supply, in /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:entryRelationship[hl7:substanceAdministration/@moodCode='EVN']/hl7:substanceAdministration, the attribute classCode SHALL have the value 'SBADM' if present OCL self.entryRelationship->select((not substanceAdministration.moodCode.oclIsUndefined()) and substanceAdministration.moodCode=XDocumentSubstanceMood::EVN).substanceAdministration->forAll(classCode.oclIsUndefined() or classCode=ActClass::SBADM) In epSOS CDA Supply, /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:entryRelationship[hl7:substanceAdministration/@moodCode='EVN']/hl7:substanceAdministration SHALL contain at most ONE hl7:id OCL self.entryRelationship->select((not substanceAdministration.moodCode.oclIsUndefined()) and substanceAdministration.moodCode=XDocumentSubstanceMood::EVN).substanceAdministration->forAll(id->size()<2) In epSOS CDA Supply, /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:entryRelationship[hl7:substanceAdministration/@moodCode='EVN']/hl7:substanceAdministration SHALL contain at least ONE hl7:id OCL self.entryRelationship->select((not substanceAdministration.moodCode.oclIsUndefined()) and substanceAdministration.moodCode=XDocumentSubstanceMood::EVN).substanceAdministration->forAll(id->size()>0) In epSOS CDA Supply, in /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3'], the element(s) hl7:entryRelationship[hl7:substanceAdministration/@moodCode='EVN'] SHALL not have nullFlavor (mandatory) OCL self.entryRelationship->select((not substanceAdministration.moodCode.oclIsUndefined()) and substanceAdministration.moodCode=XDocumentSubstanceMood::EVN)->forAll(nullFlavor.oclIsUndefined()) In epSOS CDA Supply, /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3'] SHALL contain at most ONE hl7:entryRelationship[hl7:substanceAdministration/@moodCode='EVN'] OCL self.entryRelationship->select((not substanceAdministration.moodCode.oclIsUndefined()) and substanceAdministration.moodCode=XDocumentSubstanceMood::EVN)->size()<2 In epSOS CDA Supply, /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3'] SHALL contain at least ONE hl7:entryRelationship[hl7:substanceAdministration/@moodCode='EVN'] OCL (not self.nullFlavor.oclIsUndefined()) or self.entryRelationship->size()>0 In epSOS CDA Supply, in /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:entryRelationship[hl7:act/@classCode='ACT'], the attribute typeCode SHALL have the value 'COMP' if present OCL self.entryRelationship->select((not act.classCode.oclIsUndefined()) and act.classCode=XActClassDocumentEntryAct::ACT)->forAll(typeCode.oclIsUndefined() or typeCode=XActRelationshipEntryRelationship::COMP) In epSOS CDA Supply, in /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:entryRelationship[hl7:act/@classCode='ACT']/hl7:act, the attribute moodCode SHALL have the value 'EVN' if present OCL self.entryRelationship->select((not act.classCode.oclIsUndefined()) and act.classCode=XActClassDocumentEntryAct::ACT).act->forAll(moodCode.oclIsUndefined() or moodCode=XDocumentActMood::EVN) In epSOS CDA Supply, in /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:entryRelationship[hl7:act/@classCode='ACT']/hl7:act/hl7:code, the attribute code SHALL be present OCL self.entryRelationship->select((not act.classCode.oclIsUndefined()) and act.classCode=XActClassDocumentEntryAct::ACT).act.code->forAll((not nullFlavor.oclIsUndefined()) or (not code.oclIsUndefined())) In epSOS CDA Supply, in /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:entryRelationship[hl7:act/@classCode='ACT']/hl7:act/hl7:code, the attribute code SHALL have the value 'SUBST' if present OCL self.entryRelationship->select((not act.classCode.oclIsUndefined()) and act.classCode=XActClassDocumentEntryAct::ACT).act.code->forAll(code.oclIsUndefined() or code='SUBST') In epSOS CDA Supply, in /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:entryRelationship[hl7:act/@classCode='ACT']/hl7:act/hl7:code, the attribute codeSystem SHALL have the value '2.16.840.1.113883.5.6' if present OCL self.entryRelationship->select((not act.classCode.oclIsUndefined()) and act.classCode=XActClassDocumentEntryAct::ACT).act.code->forAll(codeSystem.oclIsUndefined() or codeSystem='2.16.840.1.113883.5.6') In epSOS CDA Supply, /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/hl7:entryRelationship[hl7:act/@classCode='ACT'] SHALL contain at least ONE hl7:act OCL self.entryRelationship->select((not act.classCode.oclIsUndefined()) and act.classCode=XActClassDocumentEntryAct::ACT)->forAll(not act.oclIsUndefined()) In epSOS CDA Supply, /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3'] SHALL contain at most ONE hl7:entryRelationship[hl7:act/@classCode='ACT'] OCL self.entryRelationship->select((not act.classCode.oclIsUndefined()) and act.classCode=XActClassDocumentEntryAct::ACT)->size()<2 In Section Functional Status, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.17'], the attribute classCode SHALL have the value 'DOCSECT' if present OCL self.classCode.oclIsUndefined() or self.classCode=ActClass::DOCSECT In Section Functional Status, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.17']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.17'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.17')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Section Functional Status, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.17'], the element(s) hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.17'] SHALL not have nullFlavor (mandatory) OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.17')->forAll(nullFlavor.oclIsUndefined()) In Section Functional Status, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.17'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.17'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.17')->size()<2 In Section Functional Status, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.17'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.17'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Section Functional Status, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.17']/hl7:templateId[@root='2.16.840.1.113883.10.20.1.5'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.5')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Section Functional Status, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.17'], the element(s) hl7:templateId[@root='2.16.840.1.113883.10.20.1.5'] SHALL not have nullFlavor (mandatory) OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.5')->forAll(nullFlavor.oclIsUndefined()) In Section Functional Status, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.17'] SHALL contain at most ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.5'] OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.5')->size()<2 In Section Functional Status, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.17'] SHALL contain at least ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.5'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Section Functional Status, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.17'] SHALL contain at least ONE hl7:id OCL (not self.nullFlavor.oclIsUndefined()) or self.id->size()>0 In Section Functional Status, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.17']/hl7:code, the attribute code SHALL be present OCL self.code->forAll((not nullFlavor.oclIsUndefined()) or (not code.oclIsUndefined())) In Section Functional Status, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.17']/hl7:code, the attribute code SHALL have the value '47420-5' if present OCL self.code->forAll(code.oclIsUndefined() or code='47420-5') In Section Functional Status, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.17']/hl7:code, the attribute codeSystem SHALL have the value '2.16.840.1.113883.6.1' if present OCL self.code->forAll(codeSystem.oclIsUndefined() or codeSystem='2.16.840.1.113883.6.1') In Section Functional Status, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.17'], the element(s) hl7:code SHALL not have nullFlavor (mandatory) OCL self.code->forAll(nullFlavor.oclIsUndefined()) In Section Functional Status, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.17'] SHALL contain at least ONE hl7:code OCL (not self.nullFlavor.oclIsUndefined()) or self.code->size()>0 In Section Functional Status, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.17'], the element(s) hl7:title SHALL not have nullFlavor (mandatory) OCL self.title->forAll(nullFlavor.oclIsUndefined()) In Section Functional Status, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.17'] SHALL contain at least ONE hl7:title OCL (not self.nullFlavor.oclIsUndefined()) or self.title->size()>0 In Section Functional Status, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.17'], the element(s) hl7:text SHALL not have nullFlavor (mandatory) OCL self.text->forAll(nullFlavor.oclIsUndefined()) In Section Functional Status, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.17'] SHALL contain at least ONE hl7:text OCL (not self.nullFlavor.oclIsUndefined()) or self.text->size()>0 In Section Health Maintenance Care Plan, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.9.50'], the attribute classCode SHALL have the value 'DOCSECT' if present OCL self.classCode.oclIsUndefined() or self.classCode=ActClass::DOCSECT In Section Health Maintenance Care Plan, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.9.50']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.1.9.50'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.1.9.50')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Section Health Maintenance Care Plan, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.9.50'], the element(s) hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.1.9.50'] SHALL not have nullFlavor (mandatory) OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.1.9.50')->forAll(nullFlavor.oclIsUndefined()) In Section Health Maintenance Care Plan, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.9.50'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.1.9.50'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.1.9.50')->size()<2 In Section Health Maintenance Care Plan, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.9.50'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.1.9.50'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Section Health Maintenance Care Plan, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.9.50']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.31'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.31')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Section Health Maintenance Care Plan, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.9.50'], the element(s) hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.31'] SHALL not have nullFlavor (mandatory) OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.31')->forAll(nullFlavor.oclIsUndefined()) In Section Health Maintenance Care Plan, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.9.50'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.31'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.31')->size()<2 In Section Health Maintenance Care Plan, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.9.50'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.31'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Section Health Maintenance Care Plan, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.9.50'] SHALL contain at least ONE hl7:id OCL (not self.nullFlavor.oclIsUndefined()) or self.id->size()>0 In Section Health Maintenance Care Plan, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.9.50']/hl7:code, the attribute code SHALL be present OCL self.code->forAll((not nullFlavor.oclIsUndefined()) or (not code.oclIsUndefined())) In Section Health Maintenance Care Plan, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.9.50']/hl7:code, the attribute code SHALL have the value '18776-5' if present OCL self.code->forAll(code.oclIsUndefined() or code='18776-5') In Section Health Maintenance Care Plan, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.9.50']/hl7:code, the attribute codeSystem SHALL have the value '2.16.840.1.113883.6.1' if present OCL self.code->forAll(codeSystem.oclIsUndefined() or codeSystem='2.16.840.1.113883.6.1') In Section Health Maintenance Care Plan, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.9.50'], the element(s) hl7:code SHALL not have nullFlavor (mandatory) OCL self.code->forAll(nullFlavor.oclIsUndefined()) In Section Health Maintenance Care Plan, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.9.50'] SHALL contain at least ONE hl7:code OCL (not self.nullFlavor.oclIsUndefined()) or self.code->size()>0 In Section Health Maintenance Care Plan, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.9.50'], the element(s) hl7:title SHALL not have nullFlavor (mandatory) OCL self.title->forAll(nullFlavor.oclIsUndefined()) In Section Health Maintenance Care Plan, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.9.50'] SHALL contain at least ONE hl7:title OCL (not self.nullFlavor.oclIsUndefined()) or self.title->size()>0 In Section Health Maintenance Care Plan, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.9.50'], the element(s) hl7:text SHALL not have nullFlavor (mandatory) OCL self.text->forAll(nullFlavor.oclIsUndefined()) In Section Health Maintenance Care Plan, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.9.50'] SHALL contain at least ONE hl7:text OCL (not self.nullFlavor.oclIsUndefined()) or self.text->size()>0 In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4'], the attribute typeCode SHALL have the value 'IND' if present (Item : R1.8.5) OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4'))->forAll(typeCode.oclIsUndefined() or typeCode=ParticipationType::IND) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.2.4'], the attribute root SHALL be present OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')).templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.2.4')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4'], the element(s) hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.2.4'] SHALL not have nullFlavor (mandatory) OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')).templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.2.4')->forAll(nullFlavor.oclIsUndefined()) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.2.4'] OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4'))->forAll(templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.2.4')->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.2.4'] OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4'))->forAll(templateId->size()>0) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4']/hl7:functionCode, the attribute code SHALL be present OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')).functionCode->forAll((not nullFlavor.oclIsUndefined()) or (not code.oclIsUndefined())) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4']/hl7:functionCode, the attribute code SHALL have the value 'PCP' if present OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')).functionCode->forAll(code.oclIsUndefined() or code='PCP') In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4']/hl7:functionCode, the attribute codeSystem SHALL have the value '2.16.840.1.113883.5.88' if present OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')).functionCode->forAll(codeSystem.oclIsUndefined() or codeSystem='2.16.840.1.113883.5.88') In epSOS-Health Care Encounter Report, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4']/hl7:associatedEntity/@classCode SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.39 OR SHALL have code='PRS' (Item : R1.8.6) OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')).associatedEntity.classCode->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.39', CommonOperationsStatic::stringValueOf(aa))) or (CommonOperationsStatic::stringValueOf(aa)='PRS')) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4']/hl7:associatedEntity/hl7:associatedPerson, the number of elements of type 'family', 'given' SHALL be bigger or equal to 1 OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')).associatedEntity.associatedPerson.name->forAll( (family->size()+given->size())>=1) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4']/hl7:associatedEntity/hl7:associatedPerson SHALL contain at most ONE hl7:name (Item : IHE PCC / R1.9.1) OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')).associatedEntity.associatedPerson->forAll(name->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4']/hl7:associatedEntity/hl7:associatedPerson SHALL contain at least ONE hl7:name (Item : IHE PCC / R1.9.1) OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')).associatedEntity.associatedPerson->forAll(name->size()>0) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4']/hl7:associatedEntity/hl7:scopingOrganization SHALL contain at most ONE hl7:name (Item : R1.9.1) OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')).associatedEntity.scopingOrganization->forAll(name->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4']/hl7:associatedEntity/hl7:scopingOrganization SHALL contain at least ONE hl7:name (Item : R1.9.1) OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')).associatedEntity.scopingOrganization->forAll(name->size()>0) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4'], the number of elements of type 'associatedPerson', 'scopingOrganization' SHALL be lower or equal to 1 OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')).associatedEntity->forAll( (associatedPerson->size()+scopingOrganization->size())<=1) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4'], the number of elements of type 'associatedPerson', 'scopingOrganization' SHALL be bigger or equal to 1 OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')).associatedEntity->forAll( (associatedPerson->size()+scopingOrganization->size())>=1) In epSOS-Health Care Encounter Report, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4']/hl7:associatedEntity/hl7:code SHALL have codeSystem='2.16.840.1.113883.5.111' (Item : R1.8.6) OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')).associatedEntity.code->forAll( (not nullFlavor.oclIsUndefined()) or ((not codeSystem.oclIsUndefined()) and codeSystem='2.16.840.1.113883.5.111')) In epSOS-Health Care Encounter Report, the element defined by /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4']/hl7:associatedEntity/hl7:addr shall verify this requirement : If addr is not nullflavored at least one sub element has to be provided (Item : R1.8.3 / R1.9.2) OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')).associatedEntity.addr->reject(not nullFlavor.oclIsUndefined())->forAll(aa | CommonOperationsStatic::validateByXPATHV2(aa, '@nullFlavor or cda:*') ) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4']/hl7:associatedEntity/hl7:addr, the attribute nullFlavor SHALL have the value 'NI' if present OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')).associatedEntity.addr->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::NI) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4']/hl7:associatedEntity/hl7:addr SHALL contain at most ONE hl7:city (Item : R1.8.2.3 / R1.9.2.3) OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')).associatedEntity.addr->forAll(city->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4']/hl7:associatedEntity/hl7:addr SHALL contain at most ONE hl7:postalCode (Item : R1.8.2.4 / R1.9.2.4) OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')).associatedEntity.addr->forAll(postalCode->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4']/hl7:associatedEntity/hl7:addr SHALL contain at most ONE hl7:state (Item : R1.8.2.5 / R1.9.2.5) OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')).associatedEntity.addr->forAll(state->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4']/hl7:associatedEntity/hl7:addr SHALL contain at most ONE hl7:country (Item : R1.8.2.6 / R1.9.2.6) OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')).associatedEntity.addr->forAll(country->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4']/hl7:associatedEntity SHALL contain at most ONE hl7:addr (Item : R1.8.3 / R1.9.2) OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')).associatedEntity->forAll(addr->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4']/hl7:associatedEntity SHALL contain at least ONE hl7:addr (Item : R1.8.3 / R1.9.2) OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')).associatedEntity->forAll(addr->size()>0) In epSOS-Health Care Encounter Report, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4']/hl7:associatedEntity/hl7:telecom/@use SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.40 OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')).associatedEntity.telecom.use->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.40', aa))) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4']/hl7:associatedEntity/hl7:telecom, the attribute nullFlavor SHALL have the value 'UNK' if present OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')).associatedEntity.telecom->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::UNK) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.2.4']/hl7:associatedEntity SHALL contain at least ONE hl7:telecom (Item : R1.8.4.1 / R1.8.4.2 / R1.9.3.1 / R1.9.3.2) OCL self.participant->select(templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')).associatedEntity->forAll(telecom->size()>0) In epSOS-Health Care Encounter Report, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant/@typeCode SHALL be from the valueSet 2.16.840.1.113883.1.11.10901 OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).typeCode->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('2.16.840.1.113883.1.11.10901', CommonOperationsStatic::stringValueOf(aa)))) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant, the attribute contextControlCode SHALL be present OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4'))))->forAll((not nullFlavor.oclIsUndefined()) or (not contextControlCode.oclIsUndefined())) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant, the attribute contextControlCode SHALL have the value 'OP' if present OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4'))))->forAll(contextControlCode.oclIsUndefined() or contextControlCode=NullFlavor::OP) In epSOS-Health Care Encounter Report, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant/hl7:functionCode SHALL be from the valueSet 2.16.840.1.113883.1.11.10267 OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).functionCode->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('2.16.840.1.113883.1.11.10267', code, codeSystem, null, null))) In epSOS-Health Care Encounter Report, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant/hl7:associatedEntity/@classCode SHALL be from the valueSet 2.16.840.1.113883.1.11.19313 OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.classCode->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('2.16.840.1.113883.1.11.19313', CommonOperationsStatic::stringValueOf(aa)))) In epSOS-Health Care Encounter Report, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant/hl7:associatedEntity/hl7:code SHALL have codeSystem='2.16.840.1.113883.5.111' OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.code->forAll( (not nullFlavor.oclIsUndefined()) or ((not codeSystem.oclIsUndefined()) and codeSystem='2.16.840.1.113883.5.111')) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant/hl7:associatedEntity/hl7:associatedPerson, the attribute classCode SHALL have the value 'PSN' if present OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.associatedPerson->forAll(classCode.oclIsUndefined() or classCode=EntityClass::PSN) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant/hl7:associatedEntity/hl7:associatedPerson, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.associatedPerson->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant/hl7:associatedEntity/hl7:associatedPerson SHALL contain at least ONE hl7:name (Item : IHE PCC) OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.associatedPerson->forAll(name->size()>0) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant/hl7:associatedEntity/hl7:scopingOrganization, the attribute classCode SHALL be present OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.scopingOrganization->forAll((not nullFlavor.oclIsUndefined()) or (not classCode.oclIsUndefined())) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant/hl7:associatedEntity/hl7:scopingOrganization, the attribute classCode SHALL have the value 'ORG' if present OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.scopingOrganization->forAll(classCode.oclIsUndefined() or classCode=EntityClassOrganization::ORG) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant/hl7:associatedEntity/hl7:scopingOrganization, the attribute determinerCode SHALL be present OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.scopingOrganization->forAll((not nullFlavor.oclIsUndefined()) or (not determinerCode.oclIsUndefined())) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant/hl7:associatedEntity/hl7:scopingOrganization, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.scopingOrganization->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant/hl7:associatedEntity/hl7:scopingOrganization SHALL contain at most ONE hl7:id (Item : R1.10.9.2) OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.scopingOrganization->forAll(id->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant/hl7:associatedEntity/hl7:scopingOrganization SHALL contain at least ONE hl7:id (Item : R1.10.9.2) OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.scopingOrganization->forAll(id->size()>0) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant/hl7:associatedEntity/hl7:scopingOrganization SHALL contain at most ONE hl7:name (Item : R1.10.9.1) OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.scopingOrganization->forAll(name->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant/hl7:associatedEntity/hl7:scopingOrganization SHALL contain at least ONE hl7:name (Item : R1.10.9.1) OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.scopingOrganization->forAll(name->size()>0) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant/hl7:associatedEntity/hl7:scopingOrganization/hl7:telecom, the attribute use SHALL be present OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.scopingOrganization.telecom.use->size()>0 In epSOS-Health Care Encounter Report, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant/hl7:associatedEntity/hl7:scopingOrganization/hl7:telecom/@use SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.40 OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.scopingOrganization.telecom.use->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.40', aa))) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant/hl7:associatedEntity/hl7:scopingOrganization/hl7:telecom, the attribute nullFlavor SHALL have the value 'UNK' if present OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.scopingOrganization.telecom->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::UNK) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant/hl7:associatedEntity/hl7:scopingOrganization SHALL contain at least ONE hl7:telecom (Item : R1.10.9.4 / R1.10.9.4.1 / R1.10.9.4.2) OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.scopingOrganization->forAll(telecom->size()>0) In epSOS-Health Care Encounter Report, the element defined by /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant/hl7:associatedEntity/hl7:scopingOrganization/hl7:addr shall verify this requirement : If addr is not nullflavored at least one sub element has to be provided (Item : R1.10.9.3) OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.scopingOrganization.addr->reject(not nullFlavor.oclIsUndefined())->forAll(aa | CommonOperationsStatic::validateByXPATHV2(aa, '@nullFlavor or cda:*') ) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant/hl7:associatedEntity/hl7:scopingOrganization/hl7:addr SHALL contain at least ONE hl7:streetAddressLine (Item : R1.10.9.3.1) OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.scopingOrganization.addr->forAll(streetAddressLine->size()>0) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant/hl7:associatedEntity/hl7:scopingOrganization/hl7:addr SHALL contain at most ONE hl7:city (Item : R1.10.9.3.2) OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.scopingOrganization.addr->forAll(city->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant/hl7:associatedEntity/hl7:scopingOrganization/hl7:addr SHALL contain at least ONE hl7:city (Item : R1.10.9.3.2) OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.scopingOrganization.addr->forAll(city->size()>0) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant/hl7:associatedEntity/hl7:scopingOrganization/hl7:addr SHALL contain at most ONE hl7:postalCode (Item : R1.10.9.3.3) OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.scopingOrganization.addr->forAll(postalCode->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant/hl7:associatedEntity/hl7:scopingOrganization/hl7:addr SHALL contain at least ONE hl7:postalCode (Item : R1.10.9.3.3) OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.scopingOrganization.addr->forAll(postalCode->size()>0) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant/hl7:associatedEntity/hl7:scopingOrganization/hl7:addr SHALL contain at most ONE hl7:state (Item : R1.10.9.3.4) OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.scopingOrganization.addr->forAll(state->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant/hl7:associatedEntity/hl7:scopingOrganization/hl7:addr SHALL contain at least ONE hl7:state (Item : R1.10.9.3.4) OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.scopingOrganization.addr->forAll(state->size()>0) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant/hl7:associatedEntity/hl7:scopingOrganization/hl7:addr SHALL contain at most ONE hl7:country (Item : R1.10.9.3.5) OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.scopingOrganization.addr->forAll(country->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant/hl7:associatedEntity/hl7:scopingOrganization/hl7:addr SHALL contain at least ONE hl7:country (Item : R1.10.9.3.5) OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.scopingOrganization.addr->forAll(country->size()>0) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant/hl7:associatedEntity/hl7:scopingOrganization, the element(s) hl7:addr SHALL not have nullFlavor (mandatory) (Item : R1.10.9.3) OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.scopingOrganization.addr->forAll(nullFlavor.oclIsUndefined()) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant/hl7:associatedEntity/hl7:scopingOrganization SHALL contain at most ONE hl7:addr (Item : R1.10.9.3) OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.scopingOrganization->forAll(addr->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:participant/hl7:associatedEntity/hl7:scopingOrganization SHALL contain at least ONE hl7:addr (Item : R1.10.9.3) OCL self.participant->select((not (templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.2.4')))).associatedEntity.scopingOrganization->forAll(addr->size()>0) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4'], the element(s) hl7:realmCode SHALL not have nullFlavor (mandatory) OCL self.realmCode->forAll(nullFlavor.oclIsUndefined()) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4'] SHALL contain at most ONE hl7:realmCode OCL self.realmCode->size()<2 In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4'] SHALL contain at least ONE hl7:realmCode OCL (not self.nullFlavor.oclIsUndefined()) or self.realmCode->size()>0 In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:typeId, the attribute root SHALL be present OCL self.typeId->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:typeId, the attribute root SHALL have the value '2.16.840.1.113883.1.3' if present OCL self.typeId->forAll(root.oclIsUndefined() or root='2.16.840.1.113883.1.3') In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:typeId, the attribute extension SHALL be present OCL self.typeId->forAll((not nullFlavor.oclIsUndefined()) or (not extension.oclIsUndefined())) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:typeId, the attribute extension SHALL have the value 'POCD_HD000040' if present OCL self.typeId->forAll(extension.oclIsUndefined() or extension='POCD_HD000040') In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4'], the element(s) hl7:typeId SHALL not have nullFlavor (mandatory) OCL self.typeId->forAll(nullFlavor.oclIsUndefined()) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4'], the element(s) hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4'] SHALL not have nullFlavor (mandatory) OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4')->forAll(nullFlavor.oclIsUndefined()) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4')->size()<2 In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4'], the element(s) hl7:id SHALL not have nullFlavor (mandatory) (Item : R1.11.3) OCL self.id->forAll(nullFlavor.oclIsUndefined()) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:code, the attribute displayName SHALL be present OCL self.code->forAll((not nullFlavor.oclIsUndefined()) or (not displayName.oclIsUndefined())) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:code, the attribute code SHALL be present OCL self.code->forAll((not nullFlavor.oclIsUndefined()) or (not code.oclIsUndefined())) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:code, the attribute code SHALL have the value '34133-9' if present OCL self.code->forAll(code.oclIsUndefined() or code='34133-9') In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:code, the attribute codeSystem SHALL have the value '2.16.840.1.113883.6.1' if present OCL self.code->forAll(codeSystem.oclIsUndefined() or codeSystem='2.16.840.1.113883.6.1') In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4'], the element(s) hl7:code SHALL not have nullFlavor (mandatory) (Item : R1.11.6) OCL self.code->forAll(nullFlavor.oclIsUndefined()) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4'], the element(s) hl7:title SHALL not have nullFlavor (mandatory) (Item : R1.11.7) OCL self.title->forAll(nullFlavor.oclIsUndefined()) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4'] SHALL contain at least ONE hl7:title (Item : R1.11.7) OCL (not self.nullFlavor.oclIsUndefined()) or self.title->size()>0 In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4'], the element(s) hl7:effectiveTime SHALL not have nullFlavor (mandatory) (Item : R1.11.1) OCL self.effectiveTime->forAll(nullFlavor.oclIsUndefined()) In epSOS-Health Care Encounter Report, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:confidentialityCode SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.31 (Item : R1.11.8) OCL self.confidentialityCode->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.31', code, codeSystem, null, null))) In epSOS-Health Care Encounter Report, the element defined by /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:languageCode shall verify this requirement : The language code SHALL be in the form nn-CC where nn is ISO-639-1 epSOSLanguage and CC is ISO-3166 epSOSCountry (Item : R.11.10) OCL self.languageCode->reject(not nullFlavor.oclIsUndefined())->forAll(aa | CommonOperationsStatic::validateByXPATHV2(aa, 'matches(@code,\"[a-z]{2}-[A-Z]{2}\")') ) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4'], the element(s) hl7:languageCode SHALL not have nullFlavor (mandatory) (Item : R.11.10) OCL self.languageCode->forAll(nullFlavor.oclIsUndefined()) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4'] SHALL contain at least ONE hl7:languageCode (Item : R.11.10) OCL (not self.nullFlavor.oclIsUndefined()) or self.languageCode->size()>0 In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:recordTarget, the attribute typeCode SHALL have the value 'RCT' if present OCL self.recordTarget->forAll(typeCode.oclIsUndefined() or typeCode=ParticipationType::RCT) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:recordTarget, the attribute contextControlCode SHALL have the value 'OP' if present OCL self.recordTarget->forAll(contextControlCode.oclIsUndefined() or contextControlCode=NullFlavor::OP) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:recordTarget/hl7:patientRole, the attribute classCode SHALL have the value 'PAT' if present OCL self.recordTarget.patientRole->forAll(classCode.oclIsUndefined() or classCode=RoleClass::PAT) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:recordTarget/hl7:patientRole/hl7:addr, the attribute nullFlavor SHALL have the value 'NI' if present OCL self.recordTarget.patientRole.addr->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::NI) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:recordTarget/hl7:patientRole/hl7:addr SHALL contain at most ONE hl7:city (Item : R1.5.3) OCL self.recordTarget.patientRole.addr->forAll(city->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:recordTarget/hl7:patientRole/hl7:addr SHALL contain at most ONE hl7:postalCode (Item : R1.5.4) OCL self.recordTarget.patientRole.addr->forAll(postalCode->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:recordTarget/hl7:patientRole/hl7:addr SHALL contain at most ONE hl7:state (Item : R1.5.5) OCL self.recordTarget.patientRole.addr->forAll(state->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:recordTarget/hl7:patientRole/hl7:addr SHALL contain at most ONE hl7:country (Item : R1.5.6) OCL self.recordTarget.patientRole.addr->forAll(country->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:recordTarget/hl7:patientRole SHALL contain at most ONE hl7:addr (Item : R1.5) OCL self.recordTarget.patientRole->forAll(addr->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:recordTarget/hl7:patientRole SHALL contain at least ONE hl7:addr (Item : R1.5) OCL self.recordTarget.patientRole->forAll(addr->size()>0) In epSOS-Health Care Encounter Report, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:recordTarget/hl7:patientRole/hl7:telecom/@use SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.40 OCL self.recordTarget.patientRole.telecom.use->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.40', aa))) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:recordTarget/hl7:patientRole/hl7:telecom, the attribute nullFlavor SHALL have the value 'NI' if present OCL self.recordTarget.patientRole.telecom->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::NI) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:recordTarget/hl7:patientRole SHALL contain at least ONE hl7:telecom (Item : R1.6.1 / R1.6.2) OCL self.recordTarget.patientRole->forAll(telecom->size()>0) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:recordTarget/hl7:patientRole/hl7:patient, the attribute classCode SHALL have the value 'PSN' if present OCL self.recordTarget.patientRole.patient->forAll(classCode.oclIsUndefined() or classCode=EntityClass::PSN) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:recordTarget/hl7:patientRole/hl7:patient, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.recordTarget.patientRole.patient->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:name, the element(s) hl7:family SHALL not have nullFlavor (mandatory) (Item : R1.1.1) OCL self.recordTarget.patientRole.patient.name.family->forAll(nullFlavor.oclIsUndefined()) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:name SHALL contain at least ONE hl7:family (Item : R1.1.1) OCL self.recordTarget.patientRole.patient.name->forAll(family->size()>0) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:name, the element(s) hl7:given SHALL not have nullFlavor (mandatory) (Item : R1.1.3) OCL self.recordTarget.patientRole.patient.name.given->forAll(nullFlavor.oclIsUndefined()) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:name SHALL contain at least ONE hl7:given (Item : R1.1.3) OCL self.recordTarget.patientRole.patient.name->forAll(given->size()>0) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:recordTarget/hl7:patientRole/hl7:patient SHALL contain at least ONE hl7:name (Item : R1.1) OCL self.recordTarget.patientRole.patient->forAll(name->size()>0) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:administrativeGenderCode, the attribute nullFlavor SHALL have the value 'UNK' if present OCL self.recordTarget.patientRole.patient.administrativeGenderCode->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::UNK) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:recordTarget/hl7:patientRole/hl7:patient SHALL contain at least ONE hl7:administrativeGenderCode (Item : R1.2) OCL self.recordTarget.patientRole.patient->forAll(not administrativeGenderCode.oclIsUndefined()) In epSOS-Health Care Encounter Report, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:administrativeGenderCode SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.34 (Item : R1.2) OCL self.recordTarget.patientRole.patient.administrativeGenderCode->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.34', code, codeSystem, null, null))) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:recordTarget/hl7:patientRole/hl7:patient, the element(s) hl7:birthTime SHALL not have nullFlavor (mandatory) (Item : R1.3) OCL self.recordTarget.patientRole.patient.birthTime->forAll(nullFlavor.oclIsUndefined()) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:recordTarget/hl7:patientRole/hl7:patient SHALL contain at least ONE hl7:birthTime (Item : R1.3) OCL self.recordTarget.patientRole.patient->forAll(not birthTime.oclIsUndefined()) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian, the attribute classCode SHALL be present OCL self.recordTarget.patientRole.patient.guardian->forAll((not nullFlavor.oclIsUndefined()) or (not classCode.oclIsUndefined())) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian, the attribute classCode SHALL have the value 'GUARD' if present OCL self.recordTarget.patientRole.patient.guardian->forAll(classCode.oclIsUndefined() or classCode=RoleClass::GUARD) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.2.4'], the attribute root SHALL be present OCL self.recordTarget.patientRole.patient.guardian.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.2.4')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian, the element(s) hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.2.4'] SHALL not have nullFlavor (mandatory) OCL self.recordTarget.patientRole.patient.guardian.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.2.4')->forAll(nullFlavor.oclIsUndefined()) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.2.4'] OCL self.recordTarget.patientRole.patient.guardian->forAll(templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.2.4')->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.2.4'] OCL self.recordTarget.patientRole.patient.guardian->forAll(templateId->size()>0) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian/hl7:addr, the attribute nullFlavor SHALL have the value 'NI' if present OCL self.recordTarget.patientRole.patient.guardian.addr->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::NI) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian/hl7:addr SHALL contain at most ONE hl7:city (Item : R1.7.A.3.3) OCL self.recordTarget.patientRole.patient.guardian.addr->forAll(city->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian/hl7:addr SHALL contain at most ONE hl7:postalCode (Item : R1.7.A.3.4) OCL self.recordTarget.patientRole.patient.guardian.addr->forAll(postalCode->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian/hl7:addr SHALL contain at most ONE hl7:state (Item : R1.7.A.3.5) OCL self.recordTarget.patientRole.patient.guardian.addr->forAll(state->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian/hl7:addr SHALL contain at most ONE hl7:country (Item : R1.7.A.3.6) OCL self.recordTarget.patientRole.patient.guardian.addr->forAll(country->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian SHALL contain at most ONE hl7:addr OCL self.recordTarget.patientRole.patient.guardian->forAll(addr->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian SHALL contain at least ONE hl7:addr OCL self.recordTarget.patientRole.patient.guardian->forAll(addr->size()>0) In epSOS-Health Care Encounter Report, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian/hl7:telecom/@use SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.40 OCL self.recordTarget.patientRole.patient.guardian.telecom.use->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.40', aa))) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian/hl7:telecom, the attribute nullFlavor SHALL have the value 'NI' if present OCL self.recordTarget.patientRole.patient.guardian.telecom->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::NI) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian SHALL contain at least ONE hl7:telecom (Item : R1.7.A.4.1/R1.7.A.4.2) OCL self.recordTarget.patientRole.patient.guardian->forAll(telecom->size()>0) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian/hl7:guardianPerson, the number of elements of type 'family', 'given' SHALL be bigger or equal to 1 OCL self.recordTarget.patientRole.patient.guardian.guardianPerson.name->forAll( (family->size()+given->size())>=1) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian/hl7:guardianPerson SHALL contain at least ONE hl7:name (Item : IHE PCC) OCL self.recordTarget.patientRole.patient.guardian.guardianPerson->forAll(name->size()>0) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian SHALL contain at least ONE hl7:guardianPerson OCL self.recordTarget.patientRole.patient.guardian->forAll(not guardianPerson.oclIsUndefined()) In epSOS-Health Care Encounter Report, the element defined by /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:languageCommunication/hl7:languageCode shall verify this requirement : The language code SHALL be in the form nn-CC where nn is ISO-639-1 epSOSLanguage and CC is ISO-3166 epSOSCountry (Item : R1.7) OCL self.recordTarget.patientRole.patient.languageCommunication.languageCode->reject(not nullFlavor.oclIsUndefined())->forAll(aa | CommonOperationsStatic::validateByXPATHV2(aa, 'matches(@code,\"[a-z]{2}-[A-Z]{2}\")') ) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:languageCommunication SHALL contain at least ONE hl7:languageCode (Item : R1.7) OCL self.recordTarget.patientRole.patient.languageCommunication->forAll(not languageCode.oclIsUndefined()) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:recordTarget/hl7:patientRole/hl7:patient SHALL contain at least ONE hl7:languageCommunication OCL self.recordTarget.patientRole.patient->forAll(languageCommunication->size()>0) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:recordTarget/hl7:patientRole, the element(s) hl7:patient SHALL not have nullFlavor (mandatory) OCL self.recordTarget.patientRole.patient->forAll(nullFlavor.oclIsUndefined()) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:recordTarget/hl7:patientRole SHALL contain at least ONE hl7:patient OCL self.recordTarget.patientRole->forAll(not patient.oclIsUndefined()) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:recordTarget, the element(s) hl7:patientRole SHALL not have nullFlavor (mandatory) OCL self.recordTarget.patientRole->forAll(nullFlavor.oclIsUndefined()) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4'], the element(s) hl7:recordTarget SHALL not have nullFlavor (mandatory) OCL self.recordTarget->forAll(nullFlavor.oclIsUndefined()) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4'] SHALL contain at most ONE hl7:recordTarget OCL self.recordTarget->size()<2 In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:author, the attribute typeCode SHALL have the value 'AUT' if present OCL self.author->forAll(typeCode.oclIsUndefined() or typeCode=ParticipationType::AUT) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:author, the attribute contextControlCode SHALL have the value 'OP' if present OCL self.author->forAll(contextControlCode.oclIsUndefined() or contextControlCode=NullFlavor::OP) In epSOS-Health Care Encounter Report, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:author/hl7:functionCode SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.1 (Item : R1.10.6) OCL self.author.functionCode->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.1', code, codeSystem, null, null))) In epSOS-Health Care Encounter Report, the element defined by /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:author/hl7:assignedAuthor shall verify this requirement : If assignedAuthor has an associated representedOrganization with no assignedPerson or assignedAuthoringDevice, then the value for "ClinicalDocument/author/assignedAuthor/id/@nullFlavor" SHALL be "NA" "Not applicable" 2.16.840.1.113883.5.1008 NullFlavor STATIC. OCL self.author.assignedAuthor->reject(not nullFlavor.oclIsUndefined())->forAll(aa | CommonOperationsStatic::validateByXPATHV2(aa, '@nullFlavor or cda:assignedPerson or cda:assignedAuthoringDevice') ) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:author/hl7:assignedAuthor, the attribute classCode SHALL have the value 'ASSIGNED' if present OCL self.author.assignedAuthor->forAll(classCode.oclIsUndefined() or classCode=RoleClassAssignedEntity::ASSIGNED) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson, the attribute classCode SHALL have the value 'PSN' if present OCL self.author.assignedAuthor.assignedPerson->forAll(classCode.oclIsUndefined() or classCode=EntityClass::PSN) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.author.assignedAuthor.assignedPerson->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson/hl7:name SHALL contain at least ONE hl7:family (Item : R1.10.1) OCL self.author.assignedAuthor.assignedPerson.name->forAll(family->size()>0) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson/hl7:name SHALL contain at least ONE hl7:given (Item : R1.10.2) OCL self.author.assignedAuthor.assignedPerson.name->forAll(given->size()>0) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson/hl7:name SHALL contain at least ONE hl7:prefix (Item : R1.10.3) OCL self.author.assignedAuthor.assignedPerson.name->forAll(prefix->size()>0) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson/hl7:name SHALL contain at least ONE hl7:suffix (Item : R1.10.4) OCL self.author.assignedAuthor.assignedPerson.name->forAll(suffix->size()>0) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson SHALL contain at most ONE hl7:name (Item : IHE PCC) OCL self.author.assignedAuthor.assignedPerson->forAll(name->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson SHALL contain at least ONE hl7:name (Item : IHE PCC) OCL self.author.assignedAuthor.assignedPerson->forAll(name->size()>0) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:author/hl7:assignedAuthor/hl7:assignedAuthoringDevice, the attribute classCode SHALL have the value 'DEV' if present OCL self.author.assignedAuthor.assignedAuthoringDevice->forAll(classCode.oclIsUndefined() or classCode=EntityClassDevice::DEV) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:author/hl7:assignedAuthor/hl7:assignedAuthoringDevice, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.author.assignedAuthor.assignedAuthoringDevice->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-Health Care Encounter Report, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:author/hl7:assignedAuthor/hl7:assignedAuthoringDevice/hl7:code SHALL be from the valueSet 2.16.840.1.113883.1.11.16040 OCL self.author.assignedAuthor.assignedAuthoringDevice.code->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('2.16.840.1.113883.1.11.16040', code, codeSystem, null, null))) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:author/hl7:assignedAuthor/hl7:id, the attribute nullFlavor SHALL have the value 'NA' if present OCL self.author.assignedAuthor.id->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::NA) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:author/hl7:assignedAuthor SHALL contain at least ONE hl7:addr (Item : IHE PCC) OCL self.author.assignedAuthor->forAll(addr->size()>0) In epSOS-Health Care Encounter Report, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:author/hl7:assignedAuthor/hl7:telecom/@use SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.40 OCL self.author.assignedAuthor.telecom.use->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.40', aa))) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:author/hl7:assignedAuthor SHALL contain at least ONE hl7:telecom (Item : IHE PCC / R1.10.8 / R1.10.8.1 / R1.10.8.2) OCL self.author.assignedAuthor->forAll(telecom->size()>0) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization, the attribute classCode SHALL be present OCL self.author.assignedAuthor.representedOrganization->forAll((not nullFlavor.oclIsUndefined()) or (not classCode.oclIsUndefined())) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization, the attribute classCode SHALL have the value 'ORG' if present OCL self.author.assignedAuthor.representedOrganization->forAll(classCode.oclIsUndefined() or classCode=EntityClassOrganization::ORG) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization, the attribute determinerCode SHALL be present OCL self.author.assignedAuthor.representedOrganization->forAll((not nullFlavor.oclIsUndefined()) or (not determinerCode.oclIsUndefined())) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.author.assignedAuthor.representedOrganization->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at most ONE hl7:id (Item : R1.10.9.2) OCL self.author.assignedAuthor.representedOrganization->forAll(id->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at least ONE hl7:id (Item : R1.10.9.2) OCL self.author.assignedAuthor.representedOrganization->forAll(id->size()>0) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at most ONE hl7:name (Item : R1.10.9.1) OCL self.author.assignedAuthor.representedOrganization->forAll(name->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at least ONE hl7:name (Item : R1.10.9.1) OCL self.author.assignedAuthor.representedOrganization->forAll(name->size()>0) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:telecom, the attribute use SHALL be present OCL self.author.assignedAuthor.representedOrganization.telecom.use->size()>0 In epSOS-Health Care Encounter Report, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:telecom/@use SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.40 OCL self.author.assignedAuthor.representedOrganization.telecom.use->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.40', aa))) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:telecom, the attribute nullFlavor SHALL have the value 'UNK' if present OCL self.author.assignedAuthor.representedOrganization.telecom->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::UNK) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at least ONE hl7:telecom (Item : R1.10.9.4 / R1.10.9.4.1 / R1.10.9.4.2) OCL self.author.assignedAuthor.representedOrganization->forAll(telecom->size()>0) In epSOS-Health Care Encounter Report, the element defined by /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr shall verify this requirement : If addr is not nullflavored at least one sub element has to be provided (Item : R1.10.9.3) OCL self.author.assignedAuthor.representedOrganization.addr->reject(not nullFlavor.oclIsUndefined())->forAll(aa | CommonOperationsStatic::validateByXPATHV2(aa, '@nullFlavor or cda:*') ) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:streetAddressLine (Item : R1.10.9.3.1) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(streetAddressLine->size()>0) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:city (Item : R1.10.9.3.2) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(city->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:city (Item : R1.10.9.3.2) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(city->size()>0) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:postalCode (Item : R1.10.9.3.3) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(postalCode->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:postalCode (Item : R1.10.9.3.3) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(postalCode->size()>0) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:state (Item : R1.10.9.3.4) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(state->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:state (Item : R1.10.9.3.4) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(state->size()>0) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:country (Item : R1.10.9.3.5) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(country->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:country (Item : R1.10.9.3.5) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(country->size()>0) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization, the element(s) hl7:addr SHALL not have nullFlavor (mandatory) (Item : R1.10.9.3) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(nullFlavor.oclIsUndefined()) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at most ONE hl7:addr (Item : R1.10.9.3) OCL self.author.assignedAuthor.representedOrganization->forAll(addr->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at least ONE hl7:addr (Item : R1.10.9.3) OCL self.author.assignedAuthor.representedOrganization->forAll(addr->size()>0) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:author/hl7:assignedAuthor SHALL contain at least ONE hl7:representedOrganization (Item : R1.10.9) OCL self.author.assignedAuthor->forAll(not representedOrganization.oclIsUndefined()) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:custodian, the attribute typeCode SHALL have the value 'CST' if present OCL self.custodian->forAll(typeCode.oclIsUndefined() or typeCode=ParticipationType::CST) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:custodian/hl7:assignedCustodian, the attribute classCode SHALL have the value 'ASSIGNED' if present OCL self.custodian.assignedCustodian->forAll(classCode.oclIsUndefined() or classCode=RoleClassAssignedEntity::ASSIGNED) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization, the attribute classCode SHALL have the value 'ORG' if present OCL self.custodian.assignedCustodian.representedCustodianOrganization->forAll(classCode.oclIsUndefined() or classCode=EntityClassOrganization::ORG) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.custodian.assignedCustodian.representedCustodianOrganization->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization, the attribute classCode SHALL be present OCL self.custodian.assignedCustodian.representedCustodianOrganization->forAll((not nullFlavor.oclIsUndefined()) or (not classCode.oclIsUndefined())) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization, the attribute classCode SHALL have the value 'ORG' if present OCL self.custodian.assignedCustodian.representedCustodianOrganization->forAll(classCode.oclIsUndefined() or classCode=EntityClassOrganization::ORG) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization, the attribute determinerCode SHALL be present OCL self.custodian.assignedCustodian.representedCustodianOrganization->forAll((not nullFlavor.oclIsUndefined()) or (not determinerCode.oclIsUndefined())) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.custodian.assignedCustodian.representedCustodianOrganization->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization SHALL contain at most ONE hl7:id (Item : R1.10.9.2) OCL self.custodian.assignedCustodian.representedCustodianOrganization->forAll(id->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization SHALL contain at least ONE hl7:name (Item : R1.10.9.1) OCL self.custodian.assignedCustodian.representedCustodianOrganization->forAll(not name.oclIsUndefined()) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:telecom, the attribute use SHALL be present OCL self.custodian.assignedCustodian.representedCustodianOrganization.telecom.use->size()>0 In epSOS-Health Care Encounter Report, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:telecom/@use SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.40 OCL self.custodian.assignedCustodian.representedCustodianOrganization.telecom.use->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.40', aa))) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:telecom, the attribute nullFlavor SHALL have the value 'UNK' if present OCL self.custodian.assignedCustodian.representedCustodianOrganization.telecom->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::UNK) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization SHALL contain at least ONE hl7:telecom (Item : R1.10.9.4 / R1.10.9.4.1 / R1.10.9.4.2) OCL self.custodian.assignedCustodian.representedCustodianOrganization->forAll(not telecom.oclIsUndefined()) In epSOS-Health Care Encounter Report, the element defined by /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:addr shall verify this requirement : If addr is not nullflavored at least one sub element has to be provided (Item : R1.10.9.3) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->reject(not nullFlavor.oclIsUndefined())->forAll(aa | CommonOperationsStatic::validateByXPATHV2(aa, '@nullFlavor or cda:*') ) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:addr SHALL contain at least ONE hl7:streetAddressLine (Item : R1.10.9.3.1) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->forAll(streetAddressLine->size()>0) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:addr SHALL contain at most ONE hl7:city (Item : R1.10.9.3.2) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->forAll(city->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:addr SHALL contain at least ONE hl7:city (Item : R1.10.9.3.2) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->forAll(city->size()>0) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:addr SHALL contain at most ONE hl7:postalCode (Item : R1.10.9.3.3) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->forAll(postalCode->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:addr SHALL contain at least ONE hl7:postalCode (Item : R1.10.9.3.3) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->forAll(postalCode->size()>0) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:addr SHALL contain at most ONE hl7:state (Item : R1.10.9.3.4) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->forAll(state->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:addr SHALL contain at least ONE hl7:state (Item : R1.10.9.3.4) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->forAll(state->size()>0) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:addr SHALL contain at most ONE hl7:country (Item : R1.10.9.3.5) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->forAll(country->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:addr SHALL contain at least ONE hl7:country (Item : R1.10.9.3.5) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->forAll(country->size()>0) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization, the element(s) hl7:addr SHALL not have nullFlavor (mandatory) (Item : R1.10.9.3) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->forAll(nullFlavor.oclIsUndefined()) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization SHALL contain at least ONE hl7:addr (Item : R1.10.9.3) OCL self.custodian.assignedCustodian.representedCustodianOrganization->forAll(not addr.oclIsUndefined()) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4'], the element(s) hl7:custodian SHALL not have nullFlavor (mandatory) OCL self.custodian->forAll(nullFlavor.oclIsUndefined()) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:legalAuthenticator, the element(s) hl7:time SHALL not have nullFlavor (mandatory) OCL self.legalAuthenticator.time->forAll(nullFlavor.oclIsUndefined()) In epSOS-Health Care Encounter Report, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:legalAuthenticator/hl7:signatureCode SHALL be from the valueSet 2.16.840.1.113883.1.11.10282 OCL self.legalAuthenticator.signatureCode->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and matchesCodeToValueSet('2.16.840.1.113883.1.11.10282', code))) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:legalAuthenticator/hl7:assignedEntity, the element(s) hl7:id SHALL not have nullFlavor (mandatory) OCL self.legalAuthenticator.assignedEntity.id->forAll(nullFlavor.oclIsUndefined()) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:legalAuthenticator/hl7:assignedEntity SHALL contain at most ONE hl7:id OCL self.legalAuthenticator.assignedEntity->forAll(id->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:legalAuthenticator/hl7:assignedEntity SHALL contain at least ONE hl7:addr (Item : IHE PCC) OCL self.legalAuthenticator.assignedEntity->forAll(addr->size()>0) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:legalAuthenticator/hl7:assignedEntity SHALL contain at least ONE hl7:telecom (Item : IHE PCC) OCL self.legalAuthenticator.assignedEntity->forAll(telecom->size()>0) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:assignedPerson, the attribute classCode SHALL have the value 'PSN' if present OCL self.legalAuthenticator.assignedEntity.assignedPerson->forAll(classCode.oclIsUndefined() or classCode=EntityClass::PSN) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:assignedPerson, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.legalAuthenticator.assignedEntity.assignedPerson->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:assignedPerson, the attribute classCode SHALL have the value 'PSN' if present OCL self.legalAuthenticator.assignedEntity.assignedPerson->forAll(classCode.oclIsUndefined() or classCode=EntityClass::PSN) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:assignedPerson, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.legalAuthenticator.assignedEntity.assignedPerson->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:legalAuthenticator/hl7:assignedEntity SHALL contain at least ONE hl7:assignedPerson (Item : IHE PCC) OCL self.legalAuthenticator.assignedEntity->forAll(not assignedPerson.oclIsUndefined()) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization, the attribute classCode SHALL be present OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll((not nullFlavor.oclIsUndefined()) or (not classCode.oclIsUndefined())) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization, the attribute classCode SHALL have the value 'ORG' if present OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll(classCode.oclIsUndefined() or classCode=EntityClassOrganization::ORG) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization, the attribute determinerCode SHALL be present OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll((not nullFlavor.oclIsUndefined()) or (not determinerCode.oclIsUndefined())) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization SHALL contain at most ONE hl7:id (Item : R1.10.9.2) OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll(id->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization SHALL contain at least ONE hl7:id (Item : R1.10.9.2) OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll(id->size()>0) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization SHALL contain at most ONE hl7:name (Item : R1.10.9.1) OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll(name->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization SHALL contain at least ONE hl7:name (Item : R1.10.9.1) OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll(name->size()>0) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:telecom, the attribute use SHALL be present OCL self.legalAuthenticator.assignedEntity.representedOrganization.telecom.use->size()>0 In epSOS-Health Care Encounter Report, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:telecom/@use SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.40 OCL self.legalAuthenticator.assignedEntity.representedOrganization.telecom.use->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.40', aa))) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:telecom, the attribute nullFlavor SHALL have the value 'UNK' if present OCL self.legalAuthenticator.assignedEntity.representedOrganization.telecom->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::UNK) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization SHALL contain at least ONE hl7:telecom (Item : R1.10.9.4 / R1.10.9.4.1 / R1.10.9.4.2) OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll(telecom->size()>0) In epSOS-Health Care Encounter Report, the element defined by /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:addr shall verify this requirement : If addr is not nullflavored at least one sub element has to be provided (Item : R1.10.9.3) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->reject(not nullFlavor.oclIsUndefined())->forAll(aa | CommonOperationsStatic::validateByXPATHV2(aa, '@nullFlavor or cda:*') ) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:streetAddressLine (Item : R1.10.9.3.1) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(streetAddressLine->size()>0) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:city (Item : R1.10.9.3.2) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(city->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:city (Item : R1.10.9.3.2) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(city->size()>0) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:postalCode (Item : R1.10.9.3.3) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(postalCode->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:postalCode (Item : R1.10.9.3.3) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(postalCode->size()>0) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:state (Item : R1.10.9.3.4) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(state->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:state (Item : R1.10.9.3.4) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(state->size()>0) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:country (Item : R1.10.9.3.5) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(country->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:country (Item : R1.10.9.3.5) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(country->size()>0) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization, the element(s) hl7:addr SHALL not have nullFlavor (mandatory) (Item : R1.10.9.3) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(nullFlavor.oclIsUndefined()) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization SHALL contain at most ONE hl7:addr (Item : R1.10.9.3) OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll(addr->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization SHALL contain at least ONE hl7:addr (Item : R1.10.9.3) OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll(addr->size()>0) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:legalAuthenticator/hl7:assignedEntity, the element(s) hl7:representedOrganization SHALL not have nullFlavor (mandatory) OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll(nullFlavor.oclIsUndefined()) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:legalAuthenticator/hl7:assignedEntity SHALL contain at least ONE hl7:representedOrganization OCL self.legalAuthenticator.assignedEntity->forAll(not representedOrganization.oclIsUndefined()) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4'], the element(s) hl7:legalAuthenticator SHALL not have nullFlavor (mandatory) (Item : R1.11.9) OCL self.legalAuthenticator->forAll(nullFlavor.oclIsUndefined()) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4'] SHALL contain at least ONE hl7:legalAuthenticator (Item : R1.11.9) OCL (not self.nullFlavor.oclIsUndefined()) or self.legalAuthenticator->size()>0 In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:documentationOf, the attribute typeCode SHALL be present OCL self.documentationOf->forAll((not nullFlavor.oclIsUndefined()) or (not typeCode.oclIsUndefined())) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:documentationOf, the attribute typeCode SHALL have the value 'DOC' if present OCL self.documentationOf->forAll(typeCode.oclIsUndefined() or typeCode=ActRelationshipType::DOC) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:documentationOf/hl7:serviceEvent, the attribute classCode SHALL be present OCL self.documentationOf.serviceEvent->forAll((not nullFlavor.oclIsUndefined()) or (not classCode.oclIsUndefined())) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:documentationOf/hl7:serviceEvent, the attribute classCode SHALL have the value 'PCPR' if present OCL self.documentationOf.serviceEvent->forAll(classCode.oclIsUndefined() or classCode=ActClassRoot::PCPR) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:documentationOf/hl7:serviceEvent, the attribute moodCode SHALL be present OCL self.documentationOf.serviceEvent->forAll((not nullFlavor.oclIsUndefined()) or (not moodCode.oclIsUndefined())) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:documentationOf/hl7:serviceEvent, the attribute moodCode SHALL have the value 'EVN' if present OCL self.documentationOf.serviceEvent->forAll(moodCode.oclIsUndefined() or moodCode=ActMood::EVN) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:documentationOf/hl7:serviceEvent/hl7:effectiveTime SHALL contain at least ONE hl7:low OCL self.documentationOf.serviceEvent.effectiveTime->forAll(not low.oclIsUndefined()) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:documentationOf/hl7:serviceEvent/hl7:effectiveTime SHALL contain at least ONE hl7:high OCL self.documentationOf.serviceEvent.effectiveTime->forAll(not high.oclIsUndefined()) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:documentationOf/hl7:serviceEvent SHALL contain at least ONE hl7:effectiveTime OCL self.documentationOf.serviceEvent->forAll(not effectiveTime.oclIsUndefined()) In epSOS-Health Care Encounter Report, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/@typeCode SHALL be from the valueSet 2.16.840.1.113883.1.11.19601 OCL self.documentationOf.serviceEvent.performer.typeCode->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('2.16.840.1.113883.1.11.19601', CommonOperationsStatic::stringValueOf(aa)))) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:documentationOf/hl7:serviceEvent/hl7:performer SHALL contain at least ONE hl7:functionCode OCL self.documentationOf.serviceEvent.performer->forAll(not functionCode.oclIsUndefined()) In epSOS-Health Care Encounter Report, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:functionCode SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.1 OCL self.documentationOf.serviceEvent.performer.functionCode->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.1', code, codeSystem, null, null))) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity SHALL contain at least ONE hl7:addr (Item : IHE PCC) OCL self.documentationOf.serviceEvent.performer.assignedEntity->forAll(addr->size()>0) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity SHALL contain at least ONE hl7:telecom (Item : IHE PCC) OCL self.documentationOf.serviceEvent.performer.assignedEntity->forAll(telecom->size()>0) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:assignedPerson, the attribute classCode SHALL have the value 'PSN' if present OCL self.documentationOf.serviceEvent.performer.assignedEntity.assignedPerson->forAll(classCode.oclIsUndefined() or classCode=EntityClass::PSN) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:assignedPerson, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.documentationOf.serviceEvent.performer.assignedEntity.assignedPerson->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:assignedPerson SHALL contain at least ONE hl7:name (Item : IHE PCC) OCL self.documentationOf.serviceEvent.performer.assignedEntity.assignedPerson->forAll(name->size()>0) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization, the attribute classCode SHALL be present OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization->forAll((not nullFlavor.oclIsUndefined()) or (not classCode.oclIsUndefined())) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization, the attribute classCode SHALL have the value 'ORG' if present OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization->forAll(classCode.oclIsUndefined() or classCode=EntityClassOrganization::ORG) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization, the attribute determinerCode SHALL be present OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization->forAll((not nullFlavor.oclIsUndefined()) or (not determinerCode.oclIsUndefined())) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization SHALL contain at most ONE hl7:id (Item : R1.10.9.2) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization->forAll(id->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization SHALL contain at least ONE hl7:id (Item : R1.10.9.2) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization->forAll(id->size()>0) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization SHALL contain at most ONE hl7:name (Item : R1.10.9.1) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization->forAll(name->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization SHALL contain at least ONE hl7:name (Item : R1.10.9.1) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization->forAll(name->size()>0) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization/hl7:telecom, the attribute use SHALL be present OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization.telecom.use->size()>0 In epSOS-Health Care Encounter Report, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization/hl7:telecom/@use SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.40 OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization.telecom.use->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.40', aa))) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization/hl7:telecom, the attribute nullFlavor SHALL have the value 'UNK' if present OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization.telecom->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::UNK) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization SHALL contain at least ONE hl7:telecom (Item : R1.10.9.4 / R1.10.9.4.1 / R1.10.9.4.2) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization->forAll(telecom->size()>0) In epSOS-Health Care Encounter Report, the element defined by /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization/hl7:addr shall verify this requirement : If addr is not nullflavored at least one sub element has to be provided (Item : R1.10.9.3) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization.addr->reject(not nullFlavor.oclIsUndefined())->forAll(aa | CommonOperationsStatic::validateByXPATHV2(aa, '@nullFlavor or cda:*') ) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:streetAddressLine (Item : R1.10.9.3.1) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization.addr->forAll(streetAddressLine->size()>0) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:city (Item : R1.10.9.3.2) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization.addr->forAll(city->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:city (Item : R1.10.9.3.2) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization.addr->forAll(city->size()>0) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:postalCode (Item : R1.10.9.3.3) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization.addr->forAll(postalCode->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:postalCode (Item : R1.10.9.3.3) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization.addr->forAll(postalCode->size()>0) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:state (Item : R1.10.9.3.4) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization.addr->forAll(state->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:state (Item : R1.10.9.3.4) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization.addr->forAll(state->size()>0) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:country (Item : R1.10.9.3.5) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization.addr->forAll(country->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:country (Item : R1.10.9.3.5) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization.addr->forAll(country->size()>0) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization, the element(s) hl7:addr SHALL not have nullFlavor (mandatory) (Item : R1.10.9.3) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization.addr->forAll(nullFlavor.oclIsUndefined()) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization SHALL contain at most ONE hl7:addr (Item : R1.10.9.3) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization->forAll(addr->size()<2) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization SHALL contain at least ONE hl7:addr (Item : R1.10.9.3) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization->forAll(addr->size()>0) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:documentationOf/hl7:serviceEvent/hl7:performer, the element(s) hl7:assignedEntity SHALL not have nullFlavor (mandatory) OCL self.documentationOf.serviceEvent.performer.assignedEntity->forAll(nullFlavor.oclIsUndefined()) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4'] SHALL contain at most ONE hl7:documentationOf OCL self.documentationOf->size()<2 In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4'] SHALL contain at least ONE hl7:documentationOf OCL (not self.nullFlavor.oclIsUndefined()) or self.documentationOf->size()>0 In epSOS-Health Care Encounter Report, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:relatedDocument/@typeCode SHALL be from the valueSet 2.16.840.1.113883.1.11.11610 OCL self.relatedDocument.typeCode->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('2.16.840.1.113883.1.11.11610', CommonOperationsStatic::stringValueOf(aa)))) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:relatedDocument/hl7:parentDocument, the attribute classCode SHALL have the value 'DOCCLIN' if present OCL self.relatedDocument.parentDocument->forAll(classCode.oclIsUndefined() or classCode=ActClinicalDocument::DOCCLIN) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:relatedDocument/hl7:parentDocument, the attribute moodCode SHALL have the value 'EVN' if present OCL self.relatedDocument.parentDocument->forAll(moodCode.oclIsUndefined() or moodCode=ActMood::EVN) In epSOS-Health Care Encounter Report, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:relatedDocument/hl7:parentDocument/hl7:code SHALL have codeSystem='2.16.840.1.113883.6.1' OCL self.relatedDocument.parentDocument.code->forAll( (not nullFlavor.oclIsUndefined()) or ((not codeSystem.oclIsUndefined()) and codeSystem='2.16.840.1.113883.6.1')) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4'], the element(s) hl7:relatedDocument SHALL not have nullFlavor (mandatory) OCL self.relatedDocument->forAll(nullFlavor.oclIsUndefined()) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4'] SHALL contain at most ONE hl7:relatedDocument OCL self.relatedDocument->size()<2 In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4'] SHALL contain at least ONE hl7:relatedDocument OCL (not self.nullFlavor.oclIsUndefined()) or self.relatedDocument->size()>0 In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:component/hl7:structuredBody, the attribute classCode SHALL have the value 'DOCBODY' if present OCL self.component.structuredBody->forAll(classCode.oclIsUndefined() or classCode=ActClass::DOCBODY) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:component/hl7:structuredBody/hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.3']/hl7:section/hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.3'], the attribute root SHALL be present OCL self.component.structuredBody.component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.12559.11.10.1.3.1.2.3')).section.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.2.3')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:component/hl7:structuredBody SHALL contain at most ONE hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.3'] OCL self.component.structuredBody->forAll(component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.12559.11.10.1.3.1.2.3'))->size()<2) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:component/hl7:structuredBody/hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.13']/hl7:section/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.13'], the attribute root SHALL be present OCL self.component.structuredBody.component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.3.13')).section.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.13')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:component/hl7:structuredBody SHALL contain at most ONE hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.13'] OCL self.component.structuredBody->forAll(component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.3.13'))->size()<2) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:component/hl7:structuredBody/hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.12']/hl7:section/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.12'], the attribute root SHALL be present OCL self.component.structuredBody.component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.3.12')).section.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.12')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:component/hl7:structuredBody SHALL contain at most ONE hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.12'] OCL self.component.structuredBody->forAll(component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.3.12'))->size()<2) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:component/hl7:structuredBody/hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.6']/hl7:section/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.6'], the attribute root SHALL be present OCL self.component.structuredBody.component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.3.6')).section.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.6')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:component/hl7:structuredBody SHALL contain at most ONE hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.6'] OCL self.component.structuredBody->forAll(component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.3.6'))->size()<2) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:component/hl7:structuredBody/hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.4']/hl7:section/hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.4'], the attribute root SHALL be present OCL self.component.structuredBody.component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.12559.11.10.1.3.1.2.4')).section.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.2.4')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:component/hl7:structuredBody SHALL contain at most ONE hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.4'] OCL self.component.structuredBody->forAll(component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.12559.11.10.1.3.1.2.4'))->size()<2) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:component/hl7:structuredBody/hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.23']/hl7:section/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.23'], the attribute root SHALL be present OCL self.component.structuredBody.component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.3.23')).section.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.23')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:component/hl7:structuredBody SHALL contain at most ONE hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.23'] OCL self.component.structuredBody->forAll(component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.3.23'))->size()<2) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:component/hl7:structuredBody/hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.9.50']/hl7:section/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.1.9.50'], the attribute root SHALL be present OCL self.component.structuredBody.component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.1.9.50')).section.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.1.9.50')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:component/hl7:structuredBody SHALL contain at most ONE hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.9.50'] OCL self.component.structuredBody->forAll(component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.1.9.50'))->size()<2) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:component/hl7:structuredBody/hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.8']/hl7:section/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.8'], the attribute root SHALL be present OCL self.component.structuredBody.component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.3.8')).section.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.8')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:component/hl7:structuredBody SHALL contain at most ONE hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.8'] OCL self.component.structuredBody->forAll(component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.3.8'))->size()<2) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:component/hl7:structuredBody/hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.16.1']/hl7:section/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.16.1'], the attribute root SHALL be present OCL self.component.structuredBody.component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.3.16.1')).section.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.16.1')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:component/hl7:structuredBody SHALL contain at most ONE hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.16.1'] OCL self.component.structuredBody->forAll(component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.3.16.1'))->size()<2) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:component/hl7:structuredBody/hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.4']/hl7:section/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.4'], the attribute root SHALL be present OCL self.component.structuredBody.component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.1.5.3.4')).section.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.4')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:component/hl7:structuredBody SHALL contain at most ONE hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.4'] OCL self.component.structuredBody->forAll(component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.1.5.3.4'))->size()<2) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:component/hl7:structuredBody/hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2']/hl7:section/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2'], the attribute root SHALL be present OCL self.component.structuredBody.component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2')).section.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:component/hl7:structuredBody SHALL contain at most ONE hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2'] OCL self.component.structuredBody->forAll(component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2'))->size()<2) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:component/hl7:structuredBody/hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.28']/hl7:section/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.28'], the attribute root SHALL be present OCL self.component.structuredBody.component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.3.28')).section.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.28')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:component/hl7:structuredBody SHALL contain at most ONE hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.28'] OCL self.component.structuredBody->forAll(component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.3.28'))->size()<2) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:component, the number of elements of type 'component', 'component', 'component', 'component', 'component', 'component', 'component', 'component', 'component', 'component', 'component', 'component' SHALL be bigger or equal to 1 OCL self.component.structuredBody->forAll( (component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.12559.11.10.1.3.1.2.3'))->size()+component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.12559.11.10.1.3.1.2.4'))->size()+component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2'))->size()+component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.1.5.3.4'))->size()+component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.1.9.50'))->size()+component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.3.12'))->size()+component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.3.13'))->size()+component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.3.16.1'))->size()+component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.3.23'))->size()+component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.3.28'))->size()+component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.3.6'))->size()+component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.3.8'))->size())>=1) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:component, the element(s) hl7:structuredBody SHALL not have nullFlavor (mandatory) OCL self.component.structuredBody->forAll(nullFlavor.oclIsUndefined()) In epSOS-Health Care Encounter Report, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4']/hl7:component SHALL contain at least ONE hl7:structuredBody OCL self.component->forAll(not structuredBody.oclIsUndefined()) In epSOS-Health Care Encounter Report, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4'], the element(s) hl7:component SHALL not have nullFlavor (mandatory) OCL self.component->forAll(nullFlavor.oclIsUndefined()) In Comment, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2'], the attribute classCode SHALL have the value 'ACT' if present OCL self.classCode.oclIsUndefined() or self.classCode=XActClassDocumentEntryAct::ACT In Comment, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2'], the attribute moodCode SHALL have the value 'EVN' if present OCL self.moodCode.oclIsUndefined() or self.moodCode=XDocumentActMood::EVN In Comment, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:templateId[@root='2.16.840.1.113883.10.20.1.40'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.40')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Comment, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2'] SHALL contain at most ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.40'] OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.40')->size()<2 In Comment, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2'] SHALL contain at least ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.40'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Comment, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.2'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.2')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Comment, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.2'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.2')->size()<2 In Comment, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.2'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Comment, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:code, the attribute code SHALL be present OCL self.code->forAll((not nullFlavor.oclIsUndefined()) or (not code.oclIsUndefined())) In Comment, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:code, the attribute code SHALL have the value '48767-8' if present OCL self.code->forAll(code.oclIsUndefined() or code='48767-8') In Comment, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:code, the attribute codeSystem SHALL have the value '2.16.840.1.113883.6.1' if present OCL self.code->forAll(codeSystem.oclIsUndefined() or codeSystem='2.16.840.1.113883.6.1') In Comment, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:statusCode, the attribute code SHALL be present OCL self.statusCode->forAll((not nullFlavor.oclIsUndefined()) or (not code.oclIsUndefined())) In Comment, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:statusCode, the attribute code SHALL have the value 'completed' if present OCL self.statusCode->forAll(code.oclIsUndefined() or code='completed') In Comment, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:statusCode, the attribute codeSystem SHALL have the value '2.16.840.1.113883.5.14' if present OCL self.statusCode->forAll(codeSystem.oclIsUndefined() or codeSystem='2.16.840.1.113883.5.14') In Comment, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2'] SHALL contain at least ONE hl7:statusCode OCL (not self.nullFlavor.oclIsUndefined()) or self.statusCode->size()>0 In Comment, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2'] SHALL contain at least ONE hl7:text OCL (not self.nullFlavor.oclIsUndefined()) or self.text->size()>0 In Comment, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:author, the attribute typeCode SHALL have the value 'AUT' if present OCL self.author->forAll(typeCode.oclIsUndefined() or typeCode=ParticipationType::AUT) In Comment, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:author, the attribute contextControlCode SHALL have the value 'OP' if present OCL self.author->forAll(contextControlCode.oclIsUndefined() or contextControlCode=NullFlavor::OP) In Comment, the code of /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:author/hl7:functionCode SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.1 (Item : R1.10.6) OCL self.author.functionCode->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.1', code, codeSystem, null, null))) In Comment, the element defined by /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:author/hl7:assignedAuthor shall verify this requirement : If assignedAuthor has an associated representedOrganization with no assignedPerson or assignedAuthoringDevice, then the value for "ClinicalDocument/author/assignedAuthor/id/@nullFlavor" SHALL be "NA" "Not applicable" 2.16.840.1.113883.5.1008 NullFlavor STATIC. OCL self.author.assignedAuthor->reject(not nullFlavor.oclIsUndefined())->forAll(aa | CommonOperationsStatic::validateByXPATHV2(aa, '@nullFlavor or cda:assignedPerson or cda:assignedAuthoringDevice') ) In Comment, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:author/hl7:assignedAuthor, the attribute classCode SHALL have the value 'ASSIGNED' if present OCL self.author.assignedAuthor->forAll(classCode.oclIsUndefined() or classCode=RoleClassAssignedEntity::ASSIGNED) In Comment, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson, the attribute classCode SHALL have the value 'PSN' if present OCL self.author.assignedAuthor.assignedPerson->forAll(classCode.oclIsUndefined() or classCode=EntityClass::PSN) In Comment, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.author.assignedAuthor.assignedPerson->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In Comment, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson/hl7:name SHALL contain at least ONE hl7:family (Item : R1.10.1) OCL self.author.assignedAuthor.assignedPerson.name->forAll(family->size()>0) In Comment, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson/hl7:name SHALL contain at least ONE hl7:given (Item : R1.10.2) OCL self.author.assignedAuthor.assignedPerson.name->forAll(given->size()>0) In Comment, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson/hl7:name SHALL contain at least ONE hl7:prefix (Item : R1.10.3) OCL self.author.assignedAuthor.assignedPerson.name->forAll(prefix->size()>0) In Comment, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson/hl7:name SHALL contain at least ONE hl7:suffix (Item : R1.10.4) OCL self.author.assignedAuthor.assignedPerson.name->forAll(suffix->size()>0) In Comment, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson SHALL contain at most ONE hl7:name (Item : IHE PCC) OCL self.author.assignedAuthor.assignedPerson->forAll(name->size()<2) In Comment, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson SHALL contain at least ONE hl7:name (Item : IHE PCC) OCL self.author.assignedAuthor.assignedPerson->forAll(name->size()>0) In Comment, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:author/hl7:assignedAuthor/hl7:assignedAuthoringDevice, the attribute classCode SHALL have the value 'DEV' if present OCL self.author.assignedAuthor.assignedAuthoringDevice->forAll(classCode.oclIsUndefined() or classCode=EntityClassDevice::DEV) In Comment, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:author/hl7:assignedAuthor/hl7:assignedAuthoringDevice, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.author.assignedAuthor.assignedAuthoringDevice->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In Comment, the code of /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:author/hl7:assignedAuthor/hl7:assignedAuthoringDevice/hl7:code SHALL be from the valueSet 2.16.840.1.113883.1.11.16040 OCL self.author.assignedAuthor.assignedAuthoringDevice.code->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('2.16.840.1.113883.1.11.16040', code, codeSystem, null, null))) In Comment, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:author/hl7:assignedAuthor/hl7:id, the attribute nullFlavor SHALL have the value 'NA' if present OCL self.author.assignedAuthor.id->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::NA) In Comment, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:author/hl7:assignedAuthor SHALL contain at least ONE hl7:addr (Item : IHE PCC) OCL self.author.assignedAuthor->forAll(addr->size()>0) In Comment, the code of /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:author/hl7:assignedAuthor/hl7:telecom/@use SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.40 OCL self.author.assignedAuthor.telecom.use->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.40', aa))) In Comment, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:author/hl7:assignedAuthor SHALL contain at least ONE hl7:telecom (Item : IHE PCC / R1.10.8 / R1.10.8.1 / R1.10.8.2) OCL self.author.assignedAuthor->forAll(telecom->size()>0) In Comment, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization, the attribute classCode SHALL be present OCL self.author.assignedAuthor.representedOrganization->forAll((not nullFlavor.oclIsUndefined()) or (not classCode.oclIsUndefined())) In Comment, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization, the attribute classCode SHALL have the value 'ORG' if present OCL self.author.assignedAuthor.representedOrganization->forAll(classCode.oclIsUndefined() or classCode=EntityClassOrganization::ORG) In Comment, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization, the attribute determinerCode SHALL be present OCL self.author.assignedAuthor.representedOrganization->forAll((not nullFlavor.oclIsUndefined()) or (not determinerCode.oclIsUndefined())) In Comment, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.author.assignedAuthor.representedOrganization->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In Comment, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at most ONE hl7:id (Item : R1.10.9.2) OCL self.author.assignedAuthor.representedOrganization->forAll(id->size()<2) In Comment, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at least ONE hl7:id (Item : R1.10.9.2) OCL self.author.assignedAuthor.representedOrganization->forAll(id->size()>0) In Comment, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at most ONE hl7:name (Item : R1.10.9.1) OCL self.author.assignedAuthor.representedOrganization->forAll(name->size()<2) In Comment, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at least ONE hl7:name (Item : R1.10.9.1) OCL self.author.assignedAuthor.representedOrganization->forAll(name->size()>0) In Comment, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:telecom, the attribute use SHALL be present OCL self.author.assignedAuthor.representedOrganization.telecom.use->size()>0 In Comment, the code of /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:telecom/@use SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.40 OCL self.author.assignedAuthor.representedOrganization.telecom.use->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.40', aa))) In Comment, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:telecom, the attribute nullFlavor SHALL have the value 'UNK' if present OCL self.author.assignedAuthor.representedOrganization.telecom->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::UNK) In Comment, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at least ONE hl7:telecom (Item : R1.10.9.4 / R1.10.9.4.1 / R1.10.9.4.2) OCL self.author.assignedAuthor.representedOrganization->forAll(telecom->size()>0) In Comment, the element defined by /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr shall verify this requirement : If addr is not nullflavored at least one sub element has to be provided (Item : R1.10.9.3) OCL self.author.assignedAuthor.representedOrganization.addr->reject(not nullFlavor.oclIsUndefined())->forAll(aa | CommonOperationsStatic::validateByXPATHV2(aa, '@nullFlavor or cda:*') ) In Comment, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:streetAddressLine (Item : R1.10.9.3.1) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(streetAddressLine->size()>0) In Comment, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:city (Item : R1.10.9.3.2) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(city->size()<2) In Comment, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:city (Item : R1.10.9.3.2) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(city->size()>0) In Comment, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:postalCode (Item : R1.10.9.3.3) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(postalCode->size()<2) In Comment, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:postalCode (Item : R1.10.9.3.3) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(postalCode->size()>0) In Comment, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:state (Item : R1.10.9.3.4) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(state->size()<2) In Comment, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:state (Item : R1.10.9.3.4) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(state->size()>0) In Comment, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:country (Item : R1.10.9.3.5) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(country->size()<2) In Comment, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:country (Item : R1.10.9.3.5) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(country->size()>0) In Comment, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization, the element(s) hl7:addr SHALL not have nullFlavor (mandatory) (Item : R1.10.9.3) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(nullFlavor.oclIsUndefined()) In Comment, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at most ONE hl7:addr (Item : R1.10.9.3) OCL self.author.assignedAuthor.representedOrganization->forAll(addr->size()<2) In Comment, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at least ONE hl7:addr (Item : R1.10.9.3) OCL self.author.assignedAuthor.representedOrganization->forAll(addr->size()>0) In Comment, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:author/hl7:assignedAuthor SHALL contain at least ONE hl7:representedOrganization (Item : R1.10.9) OCL self.author.assignedAuthor->forAll(not representedOrganization.oclIsUndefined()) In Immunizations, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.12'], the attribute classCode SHALL have the value 'SBADM' if present OCL self.classCode.oclIsUndefined() or self.classCode=ActClass::SBADM In Immunizations, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.12'], the attribute moodCode SHALL have the value 'EVN' if present OCL self.moodCode.oclIsUndefined() or self.moodCode=XDocumentSubstanceMood::EVN In Immunizations, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.12'], the attribute negationInd SHALL be present OCL (not self.nullFlavor.oclIsUndefined()) or (not self.negationInd.oclIsUndefined()) In Immunizations, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.12']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.12'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.12')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Immunizations, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.12'], the element(s) hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.12'] SHALL not have nullFlavor (mandatory) OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.12')->forAll(nullFlavor.oclIsUndefined()) In Immunizations, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.12'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.12'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.12')->size()<2 In Immunizations, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.12'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.12'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Immunizations, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.12']/hl7:templateId[@root='2.16.840.1.113883.10.20.1.24'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.24')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Immunizations, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.12'], the element(s) hl7:templateId[@root='2.16.840.1.113883.10.20.1.24'] SHALL not have nullFlavor (mandatory) OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.24')->forAll(nullFlavor.oclIsUndefined()) In Immunizations, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.12'] SHALL contain at most ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.24'] OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.24')->size()<2 In Immunizations, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.12'] SHALL contain at least ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.24'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Immunizations, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.12'], the element(s) hl7:id SHALL not have nullFlavor (mandatory) OCL self.id->forAll(nullFlavor.oclIsUndefined()) In Immunizations, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.12'] SHALL contain at most ONE hl7:id OCL self.id->size()<2 In Immunizations, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.12'] SHALL contain at least ONE hl7:id OCL (not self.nullFlavor.oclIsUndefined()) or self.id->size()>0 In Immunizations, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.12']/hl7:code, the attribute code SHALL be present OCL self.code->forAll((not nullFlavor.oclIsUndefined()) or (not code.oclIsUndefined())) In Immunizations, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.12']/hl7:code, the attribute code SHALL have the value 'IMMUNIZ' if present OCL self.code->forAll(code.oclIsUndefined() or code='IMMUNIZ') In Immunizations, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.12']/hl7:code, the attribute codeSystem SHALL have the value '1.3.5.1.4.1.19376.1.5.3.2' if present OCL self.code->forAll(codeSystem.oclIsUndefined() or codeSystem='1.3.5.1.4.1.19376.1.5.3.2') In Immunizations, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.12'], the element(s) hl7:code SHALL not have nullFlavor (mandatory) OCL self.code->forAll(nullFlavor.oclIsUndefined()) In Immunizations, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.12'] SHALL contain at least ONE hl7:code OCL (not self.nullFlavor.oclIsUndefined()) or self.code->size()>0 In Immunizations, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.12'] SHALL contain at least ONE hl7:text OCL (not self.nullFlavor.oclIsUndefined()) or self.text->size()>0 In Immunizations, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.12']/hl7:statusCode, the attribute code SHALL be present OCL self.statusCode->forAll((not nullFlavor.oclIsUndefined()) or (not code.oclIsUndefined())) In Immunizations, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.12']/hl7:statusCode, the attribute code SHALL have the value 'completed' if present OCL self.statusCode->forAll(code.oclIsUndefined() or code='completed') In Immunizations, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.12']/hl7:statusCode, the attribute codeSystem SHALL have the value '2.16.840.1.113883.5.14' if present OCL self.statusCode->forAll(codeSystem.oclIsUndefined() or codeSystem='2.16.840.1.113883.5.14') In Immunizations, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.12'] SHALL contain at least ONE hl7:statusCode OCL (not self.nullFlavor.oclIsUndefined()) or self.statusCode->size()>0 In Immunizations, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.12'] SHALL contain at most ONE hl7:effectiveTime OCL self.effectiveTime->size()<2 In Immunizations, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.12'] SHALL contain at least ONE hl7:effectiveTime OCL (not self.nullFlavor.oclIsUndefined()) or self.effectiveTime->size()>0 In Immunizations, the code of /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.12']/hl7:routeCode SHALL be from the valueSet 2.16.840.1.113883.1.11.14581 OCL self.routeCode->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('2.16.840.1.113883.1.11.14581', code, codeSystem, null, null))) In Immunizations, the code of /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.12']/hl7:approachSiteCode SHALL have codeSystem='2.16.840.1.113883.5.1052' OCL self.approachSiteCode->forAll( (not nullFlavor.oclIsUndefined()) or ((not codeSystem.oclIsUndefined()) and codeSystem='2.16.840.1.113883.5.1052')) In Immunizations, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.12']/hl7:consumable, the attribute typeCode SHALL be present OCL self.consumable->forAll((not nullFlavor.oclIsUndefined()) or (not typeCode.oclIsUndefined())) In Immunizations, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.12']/hl7:consumable, the attribute typeCode SHALL have the value 'CSM' if present OCL self.consumable->forAll(typeCode.oclIsUndefined() or typeCode=ParticipationType::CSM) In Immunizations, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.12']/hl7:consumable/hl7:manufacturedProduct, the attribute classCode SHALL have the value 'MANU' if present OCL self.consumable.manufacturedProduct->forAll(classCode.oclIsUndefined() or classCode=RoleClassManufacturedProduct::MANU) In Immunizations, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.12']/hl7:consumable/hl7:manufacturedProduct/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.7.2'], the attribute root SHALL be present OCL self.consumable.manufacturedProduct.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.7.2')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Immunizations, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.12']/hl7:consumable/hl7:manufacturedProduct SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.7.2'] OCL self.consumable.manufacturedProduct->forAll(templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.7.2')->size()<2) In Immunizations, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.12']/hl7:consumable/hl7:manufacturedProduct SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.7.2'] OCL self.consumable.manufacturedProduct->forAll(templateId->size()>0) In Immunizations, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.12']/hl7:consumable/hl7:manufacturedProduct/hl7:templateId[@root='2.16.840.1.113883.10.20.1.53'], the attribute root SHALL be present OCL self.consumable.manufacturedProduct.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.53')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Immunizations, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.12']/hl7:consumable/hl7:manufacturedProduct SHALL contain at most ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.53'] OCL self.consumable.manufacturedProduct->forAll(templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.53')->size()<2) In Immunizations, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.12']/hl7:consumable/hl7:manufacturedProduct SHALL contain at least ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.53'] OCL self.consumable.manufacturedProduct->forAll(templateId->size()>0) In Immunizations, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.12']/hl7:consumable/hl7:manufacturedProduct/hl7:manufacturedMaterial, the attribute classCode SHALL have the value 'MMAT' if present OCL self.consumable.manufacturedProduct.manufacturedMaterial->forAll(classCode.oclIsUndefined() or classCode=EntityClassManufacturedMaterial::MMAT) In Immunizations, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.12']/hl7:consumable/hl7:manufacturedProduct/hl7:manufacturedMaterial, the attribute determinerCode SHALL have the value 'KIND' if present OCL self.consumable.manufacturedProduct.manufacturedMaterial->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminerDetermined::KIND) In Immunizations, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.12']/hl7:consumable/hl7:manufacturedProduct/hl7:manufacturedMaterial SHALL contain at least ONE hl7:code OCL self.consumable.manufacturedProduct.manufacturedMaterial->forAll(not code.oclIsUndefined()) In Immunizations, the code of /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.12']/hl7:consumable/hl7:manufacturedProduct/hl7:manufacturedMaterial/hl7:code SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.28 OCL self.consumable.manufacturedProduct.manufacturedMaterial.code->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.28', code, codeSystem, null, null))) In Immunizations, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.12']/hl7:consumable/hl7:manufacturedProduct/hl7:manufacturedMaterial SHALL contain at least ONE hl7:name OCL self.consumable.manufacturedProduct.manufacturedMaterial->forAll(not name.oclIsUndefined()) In Immunizations, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.12']/hl7:consumable/hl7:manufacturedProduct SHALL contain at least ONE hl7:manufacturedMaterial OCL self.consumable.manufacturedProduct->forAll(not manufacturedMaterial.oclIsUndefined()) In Immunizations, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.12']/hl7:entryRelationship[hl7:observation/hl7:templateId/@root='2.16.840.1.113883.10.20.1.46']/hl7:observation/hl7:templateId[@root='2.16.840.1.113883.10.20.1.46'], the attribute root SHALL be present OCL self.entryRelationship->select(observation.templateId.root->exists(aa : String| aa = '2.16.840.1.113883.10.20.1.46')).observation.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.46')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Immunizations, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.12'] SHALL contain at most ONE hl7:entryRelationship[hl7:observation/hl7:templateId/@root='2.16.840.1.113883.10.20.1.46'] OCL self.entryRelationship->select(observation.templateId.root->exists(aa : String| aa = '2.16.840.1.113883.10.20.1.46'))->size()<2 In Immunizations, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.12']/hl7:entryRelationship[hl7:observation/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5']/hl7:observation/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.5'], the attribute root SHALL be present OCL self.entryRelationship->select(observation.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.4.5')).observation.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.5')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Immunizations, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.12']/hl7:entryRelationship[hl7:act/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:act/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.2'], the attribute root SHALL be present OCL self.entryRelationship->select(act.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.4.2')).act.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.2')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Section History of Past Illness, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.8'], the attribute classCode SHALL have the value 'DOCSECT' if present OCL self.classCode.oclIsUndefined() or self.classCode=ActClass::DOCSECT In Section History of Past Illness, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.8']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.8'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.8')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Section History of Past Illness, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.8'], the element(s) hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.8'] SHALL not have nullFlavor (mandatory) OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.8')->forAll(nullFlavor.oclIsUndefined()) In Section History of Past Illness, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.8'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.8'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.8')->size()<2 In Section History of Past Illness, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.8'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.8'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Section History of Past Illness, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.8'] SHALL contain at least ONE hl7:id OCL (not self.nullFlavor.oclIsUndefined()) or self.id->size()>0 In Section History of Past Illness, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.8']/hl7:code, the attribute code SHALL be present OCL self.code->forAll((not nullFlavor.oclIsUndefined()) or (not code.oclIsUndefined())) In Section History of Past Illness, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.8']/hl7:code, the attribute code SHALL have the value '11348-0' if present OCL self.code->forAll(code.oclIsUndefined() or code='11348-0') In Section History of Past Illness, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.8']/hl7:code, the attribute codeSystem SHALL have the value '2.16.840.1.113883.6.1' if present OCL self.code->forAll(codeSystem.oclIsUndefined() or codeSystem='2.16.840.1.113883.6.1') In Section History of Past Illness, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.8'], the element(s) hl7:code SHALL not have nullFlavor (mandatory) OCL self.code->forAll(nullFlavor.oclIsUndefined()) In Section History of Past Illness, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.8'] SHALL contain at least ONE hl7:code OCL (not self.nullFlavor.oclIsUndefined()) or self.code->size()>0 In Section History of Past Illness, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.8'], the element(s) hl7:title SHALL not have nullFlavor (mandatory) OCL self.title->forAll(nullFlavor.oclIsUndefined()) In Section History of Past Illness, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.8'] SHALL contain at least ONE hl7:title OCL (not self.nullFlavor.oclIsUndefined()) or self.title->size()>0 In Section History of Past Illness, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.8'], the element(s) hl7:text SHALL not have nullFlavor (mandatory) OCL self.text->forAll(nullFlavor.oclIsUndefined()) In Section History of Past Illness, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.8'] SHALL contain at least ONE hl7:text OCL (not self.nullFlavor.oclIsUndefined()) or self.text->size()>0 In Section History of Past Illness, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.8']/hl7:entry/hl7:act/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.2'], the attribute root SHALL be present OCL self.entry.act.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.5.2')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Section History of Past Illness, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.8'] SHALL contain at most ONE hl7:entry OCL self.entry->size()<2 In Procedure, in /hl7:procedure[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.19'], the attribute classCode SHALL have the value 'PROC' if present OCL self.classCode.oclIsUndefined() or self.classCode=ActClass::PROC In Procedure, the code of /hl7:procedure[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.19']/@moodCode SHALL have code='EVN' OR SHALL have code='INT' OCL self.moodCode->forAll( aa | (CommonOperationsStatic::stringValueOf(aa)='EVN') or (CommonOperationsStatic::stringValueOf(aa)='INT')) In Procedure, in /hl7:procedure[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.19']/hl7:templateId[@root='2.16.840.1.113883.10.20.1.29'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.29')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Procedure, /hl7:procedure[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.19'] SHALL contain at most ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.29'] OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.29')->size()<2 In Procedure, in /hl7:procedure[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.19']/hl7:templateId[@root='2.16.840.1.113883.10.20.1.25'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.25')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Procedure, /hl7:procedure[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.19'] SHALL contain at most ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.25'] OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.25')->size()<2 In Procedure, in /hl7:procedure[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.19'], the number of elements of type 'templateId', 'templateId' SHALL be lower or equal to 1 OCL (templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.25')->size()+templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.29')->size())<=1 In Procedure, in /hl7:procedure[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.19']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.19'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.19')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Procedure, in /hl7:procedure[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.19'], the element(s) hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.19'] SHALL not have nullFlavor (mandatory) OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.19')->forAll(nullFlavor.oclIsUndefined()) In Procedure, /hl7:procedure[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.19'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.19'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.19')->size()<2 In Procedure, /hl7:procedure[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.19'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.19'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Procedure, /hl7:procedure[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.19'] SHALL contain at least ONE hl7:id OCL (not self.nullFlavor.oclIsUndefined()) or self.id->size()>0 In Procedure, /hl7:procedure[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.19'] SHALL contain at least ONE hl7:code (Item : R9.2) OCL (not self.nullFlavor.oclIsUndefined()) or self.code->size()>0 In Procedure, the code of /hl7:procedure[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.19']/hl7:code SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.10 (Item : R9.2) OCL self.code->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.10', code, codeSystem, null, null))) In Procedure, in /hl7:procedure[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.19']/hl7:text/hl7:reference, the attribute value SHALL be present OCL self.text.reference->forAll((not nullFlavor.oclIsUndefined()) or (not value.oclIsUndefined())) In Procedure, in /hl7:procedure[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.19']/hl7:text, the element(s) hl7:reference SHALL not have nullFlavor (mandatory) OCL self.text.reference->forAll(nullFlavor.oclIsUndefined()) In Procedure, /hl7:procedure[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.19']/hl7:text SHALL contain at least ONE hl7:reference OCL self.text->forAll(not reference.oclIsUndefined()) In Procedure, /hl7:procedure[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.19'] SHALL contain at least ONE hl7:text OCL (not self.nullFlavor.oclIsUndefined()) or self.text->size()>0 In Procedure, /hl7:procedure[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.19'] SHALL contain at least ONE hl7:statusCode OCL (not self.nullFlavor.oclIsUndefined()) or self.statusCode->size()>0 In Procedure, the code of /hl7:procedure[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.19']/hl7:statusCode SHALL be from the valueSet 2.16.840.1.113883.1.11.159331 OCL self.statusCode->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and matchesCodeToValueSet('2.16.840.1.113883.1.11.159331', code))) In Procedure, /hl7:procedure[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.19'] SHALL contain at least ONE hl7:effectiveTime (Item : R9.3) OCL (not self.nullFlavor.oclIsUndefined()) or self.effectiveTime->size()>0 In Procedure, the code of /hl7:procedure[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.19']/hl7:priorityCode SHALL be from the valueSet 2.16.840.1.113883.1.11.16866 OCL self.priorityCode->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('2.16.840.1.113883.1.11.16866', code, codeSystem, null, null))) In Procedure, /hl7:procedure[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.19'] SHALL contain at most ONE hl7:approachSiteCode OCL self.approachSiteCode->size()<2 In Procedure, the code of /hl7:procedure[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.19']/hl7:approachSiteCode SHALL have codeSystem='2.16.840.1.113883.5.1052' OCL self.approachSiteCode->forAll( (not nullFlavor.oclIsUndefined()) or ((not codeSystem.oclIsUndefined()) and codeSystem='2.16.840.1.113883.5.1052')) In Procedure, in /hl7:procedure[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.19']/hl7:entryRelationship/hl7:act, the attribute classCode SHALL have the value 'ACT' if present OCL self.entryRelationship.act->forAll(classCode.oclIsUndefined() or classCode=XActClassDocumentEntryAct::ACT) In Procedure, in /hl7:procedure[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.19']/hl7:entryRelationship/hl7:act/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.4.1'], the attribute root SHALL be present OCL self.entryRelationship.act.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.4.1')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Procedure, /hl7:procedure[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.19']/hl7:entryRelationship/hl7:act SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.4.1'] OCL self.entryRelationship.act->forAll(templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.4.1')->size()<2) In Procedure, /hl7:procedure[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.19']/hl7:entryRelationship/hl7:act SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.4.1'] OCL self.entryRelationship.act->forAll(templateId->size()>0) In Procedure, /hl7:procedure[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.19']/hl7:entryRelationship/hl7:act SHALL contain at most ONE hl7:id OCL self.entryRelationship.act->forAll(id->size()<2) In Procedure, /hl7:procedure[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.19']/hl7:entryRelationship/hl7:act SHALL contain at least ONE hl7:id OCL self.entryRelationship.act->forAll(id->size()>0) In Procedure, in /hl7:procedure[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.19']/hl7:entryRelationship/hl7:act/hl7:code, the attribute nullFlavor SHALL have the value 'NA' if present OCL self.entryRelationship.act.code->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::NA) In Section Allergies and Other Adverse Reactions, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.13'], the attribute classCode SHALL have the value 'DOCSECT' if present OCL self.classCode.oclIsUndefined() or self.classCode=ActClass::DOCSECT In Section Allergies and Other Adverse Reactions, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.13']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.13'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.13')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Section Allergies and Other Adverse Reactions, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.13'], the element(s) hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.13'] SHALL not have nullFlavor (mandatory) OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.13')->forAll(nullFlavor.oclIsUndefined()) In Section Allergies and Other Adverse Reactions, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.13'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.13'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.13')->size()<2 In Section Allergies and Other Adverse Reactions, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.13'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.13'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Section Allergies and Other Adverse Reactions, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.13']/hl7:templateId[@root='2.16.840.1.113883.10.20.1.2'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.2')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Section Allergies and Other Adverse Reactions, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.13'], the element(s) hl7:templateId[@root='2.16.840.1.113883.10.20.1.2'] SHALL not have nullFlavor (mandatory) OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.2')->forAll(nullFlavor.oclIsUndefined()) In Section Allergies and Other Adverse Reactions, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.13'] SHALL contain at most ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.2'] OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.2')->size()<2 In Section Allergies and Other Adverse Reactions, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.13'] SHALL contain at least ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.2'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Section Allergies and Other Adverse Reactions, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.13'] SHALL contain at least ONE hl7:id OCL (not self.nullFlavor.oclIsUndefined()) or self.id->size()>0 In Section Allergies and Other Adverse Reactions, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.13']/hl7:code, the attribute code SHALL be present OCL self.code->forAll((not nullFlavor.oclIsUndefined()) or (not code.oclIsUndefined())) In Section Allergies and Other Adverse Reactions, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.13']/hl7:code, the attribute code SHALL have the value '48765-2' if present OCL self.code->forAll(code.oclIsUndefined() or code='48765-2') In Section Allergies and Other Adverse Reactions, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.13']/hl7:code, the attribute codeSystem SHALL have the value '2.16.840.1.113883.6.1' if present OCL self.code->forAll(codeSystem.oclIsUndefined() or codeSystem='2.16.840.1.113883.6.1') In Section Allergies and Other Adverse Reactions, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.13'], the element(s) hl7:code SHALL not have nullFlavor (mandatory) OCL self.code->forAll(nullFlavor.oclIsUndefined()) In Section Allergies and Other Adverse Reactions, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.13'] SHALL contain at least ONE hl7:code OCL (not self.nullFlavor.oclIsUndefined()) or self.code->size()>0 In Section Allergies and Other Adverse Reactions, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.13'], the element(s) hl7:title SHALL not have nullFlavor (mandatory) OCL self.title->forAll(nullFlavor.oclIsUndefined()) In Section Allergies and Other Adverse Reactions, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.13'] SHALL contain at least ONE hl7:title OCL (not self.nullFlavor.oclIsUndefined()) or self.title->size()>0 In Section Allergies and Other Adverse Reactions, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.13'], the element(s) hl7:text SHALL not have nullFlavor (mandatory) OCL self.text->forAll(nullFlavor.oclIsUndefined()) In Section Allergies and Other Adverse Reactions, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.13'] SHALL contain at least ONE hl7:text OCL (not self.nullFlavor.oclIsUndefined()) or self.text->size()>0 In Section Allergies and Other Adverse Reactions, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.13']/hl7:entry/hl7:act/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.3'], the attribute root SHALL be present OCL self.entry.act.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.5.3')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Section Allergies and Other Adverse Reactions, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.13'] SHALL contain at most ONE hl7:entry OCL self.entry->size()<2 In Problem, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5'], the attribute classCode SHALL have the value 'OBS' if present OCL self.classCode.oclIsUndefined() or self.classCode=ActClassObservation::OBS In Problem, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5'], the attribute moodCode SHALL have the value 'EVN' if present OCL self.moodCode.oclIsUndefined() or self.moodCode=XActMoodDocumentObservation::EVN In Problem, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.5'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.5')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Problem, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.5'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.5')->size()<2 In Problem, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.5'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Problem, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5']/hl7:templateId[@root='2.16.840.1.113883.10.20.1.28'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.28')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Problem, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5'] SHALL contain at most ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.28'] OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.28')->size()<2 In Problem, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5'] SHALL contain at least ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.28'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Problem, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5'], the element(s) hl7:id SHALL not have nullFlavor (mandatory) OCL self.id->forAll(nullFlavor.oclIsUndefined()) In Problem, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5'] SHALL contain at most ONE hl7:id OCL self.id->size()<2 In Problem, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5'] SHALL contain at least ONE hl7:id OCL (not self.nullFlavor.oclIsUndefined()) or self.id->size()>0 In Problem, the code of /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5']/hl7:code SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.23 OCL self.code->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.23', code, codeSystem, null, null))) In Problem, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5'], the element(s) hl7:text SHALL not have nullFlavor (mandatory) OCL self.text->forAll(nullFlavor.oclIsUndefined()) In Problem, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5'] SHALL contain at least ONE hl7:text OCL (not self.nullFlavor.oclIsUndefined()) or self.text->size()>0 In Problem, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5']/hl7:statusCode, the attribute code SHALL be present OCL self.statusCode->forAll((not nullFlavor.oclIsUndefined()) or (not code.oclIsUndefined())) In Problem, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5']/hl7:statusCode, the attribute code SHALL have the value 'completed' if present OCL self.statusCode->forAll(code.oclIsUndefined() or code='completed') In Problem, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5']/hl7:statusCode, the attribute codeSystem SHALL have the value '2.16.840.1.113883.5.14' if present OCL self.statusCode->forAll(codeSystem.oclIsUndefined() or codeSystem='2.16.840.1.113883.5.14') In Problem, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5'], the element(s) hl7:value SHALL be from the datatype CD OCL self.value->forAll(oclIsKindOf(CD)) In Problem, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5'], the element(s) hl7:value SHALL not have nullFlavor (mandatory) OCL self.value->forAll(nullFlavor.oclIsUndefined()) In Problem, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5'] SHALL contain at least ONE hl7:value OCL (not self.nullFlavor.oclIsUndefined()) or self.value->size()>0 In Problem, the code of /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5']/hl7:value SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.11 OR SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.5 OR SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.17 OCL self.value->forAll( (not nullFlavor.oclIsUndefined()) or ((not oclAsType(CD).code.oclIsUndefined()) and (not oclAsType(CD).codeSystem.oclIsUndefined()) and matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.11', oclAsType(CD).code, oclAsType(CD).codeSystem, null, null)) or ((not oclAsType(CD).code.oclIsUndefined()) and (not oclAsType(CD).codeSystem.oclIsUndefined()) and matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.5', oclAsType(CD).code, oclAsType(CD).codeSystem, null, null)) or ((not oclAsType(CD).code.oclIsUndefined()) and (not oclAsType(CD).codeSystem.oclIsUndefined()) and matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.17', oclAsType(CD).code, oclAsType(CD).codeSystem, null, null))) In Problem, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5']/hl7:entryRelationship[hl7:observation/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1'], the attribute typeCode SHALL have the value 'SUBJ' if present OCL self.entryRelationship->select(observation.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.4.1'))->forAll(typeCode.oclIsUndefined() or typeCode=XActRelationshipEntryRelationship::SUBJ) In Problem, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5']/hl7:entryRelationship[hl7:observation/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1'], the attribute inversionInd SHALL be present OCL self.entryRelationship->select(observation.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.4.1'))->forAll((not nullFlavor.oclIsUndefined()) or (not inversionInd.oclIsUndefined())) In Problem, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5']/hl7:entryRelationship[hl7:observation/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1'], the attribute inversionInd SHALL have the value 'true' if present OCL self.entryRelationship->select(observation.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.4.1'))->forAll(inversionInd.oclIsUndefined() or inversionInd=true) In Problem, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5']/hl7:entryRelationship[hl7:observation/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1']/hl7:observation/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.1'], the attribute root SHALL be present OCL self.entryRelationship->select(observation.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.4.1')).observation.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.1')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Problem, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5'] SHALL contain at most ONE hl7:entryRelationship[hl7:observation/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1'] OCL self.entryRelationship->select(observation.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.4.1'))->size()<2 In Problem, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5']/hl7:entryRelationship[hl7:observation/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.1'], the attribute typeCode SHALL have the value 'REFR' if present OCL self.entryRelationship->select(observation.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.4.1.1'))->forAll(typeCode.oclIsUndefined() or typeCode=XActRelationshipEntryRelationship::REFR) In Problem, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5']/hl7:entryRelationship[hl7:observation/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.1'], the attribute inversionInd SHALL have the value 'false' if present OCL self.entryRelationship->select(observation.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.4.1.1'))->forAll(inversionInd.oclIsUndefined() or inversionInd=false) In Problem, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5']/hl7:entryRelationship[hl7:observation/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.1']/hl7:observation/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.1'], the attribute root SHALL be present OCL self.entryRelationship->select(observation.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.4.1.1')).observation.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.1.1')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Problem, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5'] SHALL contain at most ONE hl7:entryRelationship[hl7:observation/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.1'] OCL self.entryRelationship->select(observation.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.4.1.1'))->size()<2 In Problem, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5']/hl7:entryRelationship[hl7:observation/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.2'], the attribute typeCode SHALL have the value 'REFR' if present OCL self.entryRelationship->select(observation.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.4.1.2'))->forAll(typeCode.oclIsUndefined() or typeCode=XActRelationshipEntryRelationship::REFR) In Problem, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5']/hl7:entryRelationship[hl7:observation/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.2'], the attribute inversionInd SHALL have the value 'false' if present OCL self.entryRelationship->select(observation.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.4.1.2'))->forAll(inversionInd.oclIsUndefined() or inversionInd=false) In Problem, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5']/hl7:entryRelationship[hl7:observation/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.2']/hl7:observation/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.2'], the attribute root SHALL be present OCL self.entryRelationship->select(observation.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.4.1.2')).observation.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.1.2')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Problem, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5'] SHALL contain at most ONE hl7:entryRelationship[hl7:observation/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.2'] OCL self.entryRelationship->select(observation.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.4.1.2'))->size()<2 In Problem, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5']/hl7:entryRelationship[hl7:act/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2'], the attribute typeCode SHALL have the value 'SUBJ' if present OCL self.entryRelationship->select(act.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.4.2'))->forAll(typeCode.oclIsUndefined() or typeCode=XActRelationshipEntryRelationship::SUBJ) In Problem, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5']/hl7:entryRelationship[hl7:act/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2'], the attribute inversionInd SHALL be present OCL self.entryRelationship->select(act.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.4.2'))->forAll((not nullFlavor.oclIsUndefined()) or (not inversionInd.oclIsUndefined())) In Problem, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5']/hl7:entryRelationship[hl7:act/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2'], the attribute inversionInd SHALL have the value 'true' if present OCL self.entryRelationship->select(act.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.4.2'))->forAll(inversionInd.oclIsUndefined() or inversionInd=true) In Problem, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5']/hl7:entryRelationship[hl7:act/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2']/hl7:act/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.2'], the attribute root SHALL be present OCL self.entryRelationship->select(act.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.4.2')).act.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.2')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Problem, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5'] SHALL contain at most ONE hl7:entryRelationship[hl7:act/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.2'] OCL self.entryRelationship->select(act.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.4.2'))->size()<2 In Section Prescription, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.1'], the attribute classCode SHALL have the value 'DOCSECT' if present OCL self.classCode.oclIsUndefined() or self.classCode=ActClass::DOCSECT In Section Prescription, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.1'], the attribute moodCode SHALL have the value 'EVN' if present OCL self.moodCode.oclIsUndefined() or self.moodCode=ActMood::EVN In Section Prescription, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.1']/hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.1'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.2.1')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Section Prescription, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.1'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.1'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.2.1')->size()<2 In Section Prescription, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.1'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.1'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Section Prescription, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.1'] SHALL contain at least ONE hl7:id OCL (not self.nullFlavor.oclIsUndefined()) or self.id->size()>0 In Section Prescription, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.1']/hl7:code, the attribute code SHALL be present OCL self.code->forAll((not nullFlavor.oclIsUndefined()) or (not code.oclIsUndefined())) In Section Prescription, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.1']/hl7:code, the attribute code SHALL have the value '57828-6' if present OCL self.code->forAll(code.oclIsUndefined() or code='57828-6') In Section Prescription, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.1']/hl7:code, the attribute codeSystem SHALL have the value '2.16.840.1.113883.6.1' if present OCL self.code->forAll(codeSystem.oclIsUndefined() or codeSystem='2.16.840.1.113883.6.1') In Section Prescription, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.1']/hl7:title, the string value shall have the value 'Prescriptions' OCL self.title->reject(not nullFlavor.oclIsUndefined())->forAll((getListStringValues()->forAll(st : String | st='Prescriptions'))) In Section Prescription, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.1'] SHALL contain at least ONE hl7:text OCL (not self.nullFlavor.oclIsUndefined()) or self.text->size()>0 In Section Prescription, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.1']/hl7:entry, the attribute typeCode SHALL be present OCL self.entry->forAll((not nullFlavor.oclIsUndefined()) or (not typeCode.oclIsUndefined())) In Section Prescription, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.1']/hl7:entry, the attribute typeCode SHALL have the value 'COMP' if present OCL self.entry->forAll(typeCode.oclIsUndefined() or typeCode=XActRelationshipEntry::COMP) In Section Prescription, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.1']/hl7:entry/hl7:substanceAdministration/hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2'], the attribute root SHALL be present OCL self.entry.substanceAdministration.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Section Prescription, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.1'] SHALL contain at least ONE hl7:entry OCL (not self.nullFlavor.oclIsUndefined()) or self.entry->size()>0 In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2'], the attribute classCode SHALL have the value 'SBADM' if present OCL self.classCode.oclIsUndefined() or self.classCode=ActClass::SBADM In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2'], the attribute moodCode SHALL have the value 'INT' if present OCL self.moodCode.oclIsUndefined() or self.moodCode=XDocumentSubstanceMood::INT In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:templateId[@root='2.16.840.1.113883.10.20.1.24'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.24')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2'], the element(s) hl7:templateId[@root='2.16.840.1.113883.10.20.1.24'] SHALL not have nullFlavor (mandatory) OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.24')->forAll(nullFlavor.oclIsUndefined()) In epSOS CDA substanceAdministration, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2'] SHALL contain at most ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.24'] OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.24')->size()<2 In epSOS CDA substanceAdministration, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2'] SHALL contain at least ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.24'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2'], the element(s) hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2'] SHALL not have nullFlavor (mandatory) OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2')->forAll(nullFlavor.oclIsUndefined()) In epSOS CDA substanceAdministration, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2')->size()<2 In epSOS CDA substanceAdministration, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.7'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.7')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS CDA substanceAdministration, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.7'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.7')->size()<2 In epSOS CDA substanceAdministration, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.7'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.7.1'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.7.1')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS CDA substanceAdministration, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.7.1'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.7.1')->size()<2 In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.11'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.11')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS CDA substanceAdministration, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.11'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.11')->size()<2 In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.9'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.9')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS CDA substanceAdministration, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.9'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.9')->size()<2 In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2'], the element(s) hl7:id SHALL not have nullFlavor (mandatory) OCL self.id->forAll(nullFlavor.oclIsUndefined()) In epSOS CDA substanceAdministration, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2'] SHALL contain at most ONE hl7:id OCL self.id->size()<2 In epSOS CDA substanceAdministration, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2'] SHALL contain at least ONE hl7:id OCL (not self.nullFlavor.oclIsUndefined()) or self.id->size()>0 In epSOS CDA substanceAdministration, the code of /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:code SHALL be from the valueSet 2.16.840.1.113883.1.11.19708 OR SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.22 OCL self.code->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('2.16.840.1.113883.1.11.19708', code, codeSystem, null, null)) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.22', code, codeSystem, null, null))) In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2'], the element(s) hl7:statusCode SHALL not have nullFlavor (mandatory) OCL self.statusCode->forAll(nullFlavor.oclIsUndefined()) In epSOS CDA substanceAdministration, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2'] SHALL contain at least ONE hl7:statusCode OCL (not self.nullFlavor.oclIsUndefined()) or self.statusCode->size()>0 In epSOS CDA substanceAdministration, the code of /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:statusCode SHALL have code='active' OR SHALL have code='completed' OCL self.statusCode->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and code='active') or ((not code.oclIsUndefined()) and code='completed')) In epSOS CDA substanceAdministration, the code of /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:routeCode SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.12 OCL self.routeCode->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.12', code, codeSystem, null, null))) In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:doseQuantity, the attribute unit SHALL be present OCL self.doseQuantity->forAll((not nullFlavor.oclIsUndefined()) or (not unit.oclIsUndefined())) In epSOS CDA substanceAdministration, the code of /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:doseQuantity/@unit SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.16 OCL self.doseQuantity.unit->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.16', aa))) In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:consumable, the attribute typeCode SHALL be present OCL self.consumable->forAll((not nullFlavor.oclIsUndefined()) or (not typeCode.oclIsUndefined())) In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:consumable, the attribute typeCode SHALL have the value 'CSM' if present OCL self.consumable->forAll(typeCode.oclIsUndefined() or typeCode=ParticipationType::CSM) In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:consumable/hl7:manufacturedProduct, the attribute classCode SHALL have the value 'MANU' if present OCL self.consumable.manufacturedProduct->forAll(classCode.oclIsUndefined() or classCode=RoleClassManufacturedProduct::MANU) In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:consumable/hl7:manufacturedProduct/hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.1'], the attribute root SHALL be present OCL self.consumable.manufacturedProduct.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.3.1')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS CDA substanceAdministration, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:consumable/hl7:manufacturedProduct SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.1'] OCL self.consumable.manufacturedProduct->forAll(templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.3.1')->size()<2) In epSOS CDA substanceAdministration, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:consumable/hl7:manufacturedProduct SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.1'] OCL self.consumable.manufacturedProduct->forAll(templateId->size()>0) In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:consumable/hl7:manufacturedProduct/hl7:manufacturedMaterial, the attribute classCode SHALL be present OCL self.consumable.manufacturedProduct.manufacturedMaterial->forAll((not nullFlavor.oclIsUndefined()) or (not classCode.oclIsUndefined())) In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:consumable/hl7:manufacturedProduct/hl7:manufacturedMaterial, the attribute classCode SHALL have the value 'MMAT' if present OCL self.consumable.manufacturedProduct.manufacturedMaterial->forAll(classCode.oclIsUndefined() or classCode=EntityClassManufacturedMaterial::MMAT) In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:consumable/hl7:manufacturedProduct/hl7:manufacturedMaterial, the attribute determinerCode SHALL be present OCL self.consumable.manufacturedProduct.manufacturedMaterial->forAll((not nullFlavor.oclIsUndefined()) or (not determinerCode.oclIsUndefined())) In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:consumable/hl7:manufacturedProduct/hl7:manufacturedMaterial, the attribute determinerCode SHALL have the value 'KIND' if present OCL self.consumable.manufacturedProduct.manufacturedMaterial->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminerDetermined::KIND) In epSOS CDA substanceAdministration, the code of /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:consumable/hl7:manufacturedProduct/hl7:manufacturedMaterial/hl7:code SHALL be from the valueSet 2.16.840.1.113883.1.11.16041 OCL self.consumable.manufacturedProduct.manufacturedMaterial.code->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('2.16.840.1.113883.1.11.16041', code, codeSystem, null, null))) In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:author, the attribute typeCode SHALL have the value 'AUT' if present OCL self.author->forAll(typeCode.oclIsUndefined() or typeCode=ParticipationType::AUT) In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:author, the attribute contextControlCode SHALL have the value 'OP' if present OCL self.author->forAll(contextControlCode.oclIsUndefined() or contextControlCode=NullFlavor::OP) In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:author, the element(s) hl7:functionCode SHALL not have nullFlavor (mandatory) (Item : R1.10.6) OCL self.author.functionCode->forAll(nullFlavor.oclIsUndefined()) In epSOS CDA substanceAdministration, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:author SHALL contain at least ONE hl7:functionCode (Item : R1.10.6) OCL self.author->forAll(not functionCode.oclIsUndefined()) In epSOS CDA substanceAdministration, the code of /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:author/hl7:functionCode SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.1 (Item : R1.10.6) OCL self.author.functionCode->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.1', code, codeSystem, null, null))) In epSOS CDA substanceAdministration, the element defined by /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:author/hl7:assignedAuthor shall verify this requirement : If assignedAuthor has an associated representedOrganization with no assignedPerson or assignedAuthoringDevice, then the value for "ClinicalDocument/author/assignedAuthor/id/@NullFlavor" SHALL be "NA" "Not applicable" 2.16.840.1.113883.5.1008 NullFlavor STATIC. OCL self.author.assignedAuthor->reject(not nullFlavor.oclIsUndefined())->forAll(aa | CommonOperationsStatic::validateByXPATHV2(aa, '@nullFlavor or cda:assignedPerson or cda:assignedAuthoringDevice') ) In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:author/hl7:assignedAuthor, the attribute classCode SHALL have the value 'ASSIGNED' if present OCL self.author.assignedAuthor->forAll(classCode.oclIsUndefined() or classCode=RoleClassAssignedEntity::ASSIGNED) In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:author/hl7:assignedAuthor/hl7:id, the attribute nullFlavor SHALL have the value 'NA' if present OCL self.author.assignedAuthor.id->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::NA) In epSOS CDA substanceAdministration, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:author/hl7:assignedAuthor SHALL contain at least ONE hl7:addr (Item : IHE PCC) OCL self.author.assignedAuthor->forAll(addr->size()>0) In epSOS CDA substanceAdministration, the code of /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:author/hl7:assignedAuthor/hl7:telecom/@use SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.40 OCL self.author.assignedAuthor.telecom.use->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.40', aa))) In epSOS CDA substanceAdministration, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:author/hl7:assignedAuthor SHALL contain at least ONE hl7:telecom (Item : IHE PCC / R1.10.8 / R1.10.8.1 / R1.10.8.2) OCL self.author.assignedAuthor->forAll(telecom->size()>0) In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson, the attribute classCode SHALL have the value 'PSN' if present OCL self.author.assignedAuthor.assignedPerson->forAll(classCode.oclIsUndefined() or classCode=EntityClass::PSN) In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.author.assignedAuthor.assignedPerson->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS CDA substanceAdministration, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson/hl7:name SHALL contain at least ONE hl7:family (Item : R1.10.1) OCL self.author.assignedAuthor.assignedPerson.name->forAll(family->size()>0) In epSOS CDA substanceAdministration, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson/hl7:name SHALL contain at least ONE hl7:given (Item : R1.10.2) OCL self.author.assignedAuthor.assignedPerson.name->forAll(given->size()>0) In epSOS CDA substanceAdministration, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson/hl7:name SHALL contain at least ONE hl7:prefix (Item : R1.10.3) OCL self.author.assignedAuthor.assignedPerson.name->forAll(prefix->size()>0) In epSOS CDA substanceAdministration, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson/hl7:name SHALL contain at least ONE hl7:suffix (Item : R1.10.4) OCL self.author.assignedAuthor.assignedPerson.name->forAll(suffix->size()>0) In epSOS CDA substanceAdministration, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson SHALL contain at most ONE hl7:name (Item : IHE PCC) OCL self.author.assignedAuthor.assignedPerson->forAll(name->size()<2) In epSOS CDA substanceAdministration, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson SHALL contain at least ONE hl7:name (Item : IHE PCC) OCL self.author.assignedAuthor.assignedPerson->forAll(name->size()>0) In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:author/hl7:assignedAuthor, the element(s) hl7:assignedPerson SHALL not have nullFlavor (mandatory) OCL self.author.assignedAuthor.assignedPerson->forAll(nullFlavor.oclIsUndefined()) In epSOS CDA substanceAdministration, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:author/hl7:assignedAuthor SHALL contain at least ONE hl7:assignedPerson OCL self.author.assignedAuthor->forAll(not assignedPerson.oclIsUndefined()) In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization, the attribute classCode SHALL be present OCL self.author.assignedAuthor.representedOrganization->forAll((not nullFlavor.oclIsUndefined()) or (not classCode.oclIsUndefined())) In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization, the attribute classCode SHALL have the value 'ORG' if present OCL self.author.assignedAuthor.representedOrganization->forAll(classCode.oclIsUndefined() or classCode=EntityClassOrganization::ORG) In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization, the attribute determinerCode SHALL be present OCL self.author.assignedAuthor.representedOrganization->forAll((not nullFlavor.oclIsUndefined()) or (not determinerCode.oclIsUndefined())) In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.author.assignedAuthor.representedOrganization->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS CDA substanceAdministration, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at most ONE hl7:id (Item : R1.10.9.2) OCL self.author.assignedAuthor.representedOrganization->forAll(id->size()<2) In epSOS CDA substanceAdministration, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at least ONE hl7:id (Item : R1.10.9.2) OCL self.author.assignedAuthor.representedOrganization->forAll(id->size()>0) In epSOS CDA substanceAdministration, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at most ONE hl7:name (Item : R1.10.9.1) OCL self.author.assignedAuthor.representedOrganization->forAll(name->size()<2) In epSOS CDA substanceAdministration, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at least ONE hl7:name (Item : R1.10.9.1) OCL self.author.assignedAuthor.representedOrganization->forAll(name->size()>0) In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:telecom, the attribute use SHALL be present OCL self.author.assignedAuthor.representedOrganization.telecom.use->size()>0 In epSOS CDA substanceAdministration, the code of /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:telecom/@use SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.40 OCL self.author.assignedAuthor.representedOrganization.telecom.use->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.40', aa))) In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:telecom, the attribute nullFlavor SHALL have the value 'UNK' if present OCL self.author.assignedAuthor.representedOrganization.telecom->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::UNK) In epSOS CDA substanceAdministration, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at least ONE hl7:telecom (Item : R1.10.9.4 / R1.10.9.4.1 / R1.10.9.4.2) OCL self.author.assignedAuthor.representedOrganization->forAll(telecom->size()>0) In epSOS CDA substanceAdministration, the element defined by /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr shall verify this requirement : If addr is not nullflavored at least one sub element has to be provided (Item : R1.10.9.3) OCL self.author.assignedAuthor.representedOrganization.addr->reject(not nullFlavor.oclIsUndefined())->forAll(aa | CommonOperationsStatic::validateByXPATHV2(aa, '@nullFlavor or cda:*') ) In epSOS CDA substanceAdministration, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:streetAddressLine (Item : R1.10.9.3.1) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(streetAddressLine->size()>0) In epSOS CDA substanceAdministration, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:city (Item : R1.10.9.3.2) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(city->size()<2) In epSOS CDA substanceAdministration, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:city (Item : R1.10.9.3.2) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(city->size()>0) In epSOS CDA substanceAdministration, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:postalCode (Item : R1.10.9.3.3) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(postalCode->size()<2) In epSOS CDA substanceAdministration, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:postalCode (Item : R1.10.9.3.3) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(postalCode->size()>0) In epSOS CDA substanceAdministration, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:state (Item : R1.10.9.3.4) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(state->size()<2) In epSOS CDA substanceAdministration, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:state (Item : R1.10.9.3.4) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(state->size()>0) In epSOS CDA substanceAdministration, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:country (Item : R1.10.9.3.5) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(country->size()<2) In epSOS CDA substanceAdministration, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:country (Item : R1.10.9.3.5) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(country->size()>0) In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization, the element(s) hl7:addr SHALL not have nullFlavor (mandatory) (Item : R1.10.9.3) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(nullFlavor.oclIsUndefined()) In epSOS CDA substanceAdministration, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at most ONE hl7:addr (Item : R1.10.9.3) OCL self.author.assignedAuthor.representedOrganization->forAll(addr->size()<2) In epSOS CDA substanceAdministration, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at least ONE hl7:addr (Item : R1.10.9.3) OCL self.author.assignedAuthor.representedOrganization->forAll(addr->size()>0) In epSOS CDA substanceAdministration, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:author/hl7:assignedAuthor SHALL contain at least ONE hl7:representedOrganization (Item : R1.10.9) OCL self.author.assignedAuthor->forAll(not representedOrganization.oclIsUndefined()) In epSOS CDA substanceAdministration, the code of /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:participant/@typeCode SHALL be from the valueSet 2.16.840.1.113883.1.11.10901 OCL self.participant.typeCode->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('2.16.840.1.113883.1.11.10901', CommonOperationsStatic::stringValueOf(aa)))) In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:participant, the attribute contextControlCode SHALL be present OCL self.participant->forAll((not nullFlavor.oclIsUndefined()) or (not contextControlCode.oclIsUndefined())) In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:participant, the attribute contextControlCode SHALL have the value 'OP' if present OCL self.participant->forAll(contextControlCode.oclIsUndefined() or contextControlCode=NullFlavor::OP) In epSOS CDA substanceAdministration, the code of /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:participant/hl7:awarenessCode SHALL be from the valueSet 2.16.840.1.113883.1.11.10310 OCL self.participant.awarenessCode->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('2.16.840.1.113883.1.11.10310', code, codeSystem, null, null))) In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:participant/hl7:participantRole, the attribute classCode SHALL have the value 'ROL' if present OCL self.participant.participantRole->forAll(classCode.oclIsUndefined() or classCode=RoleClassRoot::ROL) In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:participant/hl7:participantRole/hl7:playingDevice, the attribute classCode SHALL have the value 'DEV' if present OCL self.participant.participantRole.playingDevice->forAll(classCode.oclIsUndefined() or classCode=EntityClassDevice::DEV) In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:participant/hl7:participantRole/hl7:playingDevice, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.participant.participantRole.playingDevice->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS CDA substanceAdministration, the code of /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:participant/hl7:participantRole/hl7:playingDevice/hl7:code SHALL be from the valueSet 2.16.840.1.113883.1.11.16040 OCL self.participant.participantRole.playingDevice.code->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('2.16.840.1.113883.1.11.16040', code, codeSystem, null, null))) In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:participant/hl7:participantRole/hl7:playingEntity, the attribute classCode SHALL have the value 'ENT' if present OCL self.participant.participantRole.playingEntity->forAll(classCode.oclIsUndefined() or classCode=EntityClassRoot::ENT) In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:participant/hl7:participantRole/hl7:playingEntity, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.participant.participantRole.playingEntity->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS CDA substanceAdministration, the code of /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:participant/hl7:participantRole/hl7:playingEntity/hl7:code SHALL be from the valueSet 2.16.840.1.113883.1.11.16040 OCL self.participant.participantRole.playingEntity.code->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('2.16.840.1.113883.1.11.16040', code, codeSystem, null, null))) In epSOS CDA substanceAdministration, the code of /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:participant/hl7:participantRole/hl7:code SHALL have codeSystem='2.16.840.1.113883.5.111' OCL self.participant.participantRole.code->forAll( (not nullFlavor.oclIsUndefined()) or ((not codeSystem.oclIsUndefined()) and codeSystem='2.16.840.1.113883.5.111')) In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:participant/hl7:participantRole/hl7:scopingEntity, the attribute classCode SHALL have the value 'ENT' if present OCL self.participant.participantRole.scopingEntity->forAll(classCode.oclIsUndefined() or classCode=EntityClassRoot::ENT) In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:participant/hl7:participantRole/hl7:scopingEntity, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.participant.participantRole.scopingEntity->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS CDA substanceAdministration, the code of /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:participant/hl7:participantRole/hl7:scopingEntity/hl7:code SHALL be from the valueSet 2.16.840.1.113883.1.11.16040 OCL self.participant.participantRole.scopingEntity.code->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('2.16.840.1.113883.1.11.16040', code, codeSystem, null, null))) In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:entryRelationship[hl7:act/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.3.1'], the attribute typeCode SHALL have the value 'SUBJ' if present OCL self.entryRelationship->select(act.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.4.3.1'))->forAll(typeCode.oclIsUndefined() or typeCode=XActRelationshipEntryRelationship::SUBJ) In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:entryRelationship[hl7:act/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.3.1'], the attribute inversionInd SHALL be present OCL self.entryRelationship->select(act.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.4.3.1'))->forAll((not nullFlavor.oclIsUndefined()) or (not inversionInd.oclIsUndefined())) In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:entryRelationship[hl7:act/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.3.1']/hl7:act/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.3.1'], the attribute root SHALL be present OCL self.entryRelationship->select(act.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.4.3.1')).act.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.3.1')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:entryRelationship[hl7:observation/hl7:code/@code='SUBST'], the attribute typeCode SHALL have the value 'SUBJ' if present OCL self.entryRelationship->select((not observation.code.code.oclIsUndefined()) and observation.code.code='SUBST')->forAll(typeCode.oclIsUndefined() or typeCode=XActRelationshipEntryRelationship::SUBJ) In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:entryRelationship[hl7:observation/hl7:code/@code='SUBST']/hl7:observation, the attribute classCode SHALL have the value 'OBS' if present OCL self.entryRelationship->select((not observation.code.code.oclIsUndefined()) and observation.code.code='SUBST').observation->forAll(classCode.oclIsUndefined() or classCode=ActClassObservation::OBS) In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:entryRelationship[hl7:observation/hl7:code/@code='SUBST']/hl7:observation, the attribute moodCode SHALL have the value 'EVN' if present OCL self.entryRelationship->select((not observation.code.code.oclIsUndefined()) and observation.code.code='SUBST').observation->forAll(moodCode.oclIsUndefined() or moodCode=XActMoodDocumentObservation::EVN) In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:entryRelationship[hl7:observation/hl7:code/@code='SUBST']/hl7:observation/hl7:code, the attribute code SHALL be present OCL self.entryRelationship->select((not observation.code.code.oclIsUndefined()) and observation.code.code='SUBST').observation.code->forAll((not nullFlavor.oclIsUndefined()) or (not code.oclIsUndefined())) In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:entryRelationship[hl7:observation/hl7:code/@code='SUBST']/hl7:observation/hl7:code, the attribute codeSystem SHALL have the value '2.16.840.1.113883.5.6' if present OCL self.entryRelationship->select((not observation.code.code.oclIsUndefined()) and observation.code.code='SUBST').observation.code->forAll(codeSystem.oclIsUndefined() or codeSystem='2.16.840.1.113883.5.6') In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:entryRelationship[hl7:observation/hl7:code/@code='SUBST']/hl7:observation, the element(s) hl7:code SHALL not have nullFlavor (mandatory) OCL self.entryRelationship->select((not observation.code.code.oclIsUndefined()) and observation.code.code='SUBST').observation.code->forAll(nullFlavor.oclIsUndefined()) In epSOS CDA substanceAdministration, in /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:entryRelationship[hl7:observation/hl7:code/@code='SUBST']/hl7:observation, the element(s) hl7:value SHALL not have nullFlavor (mandatory) OCL self.entryRelationship->select((not observation.code.code.oclIsUndefined()) and observation.code.code='SUBST').observation.value->forAll(nullFlavor.oclIsUndefined()) In epSOS CDA substanceAdministration, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:entryRelationship[hl7:observation/hl7:code/@code='SUBST']/hl7:observation SHALL contain at most ONE hl7:value OCL self.entryRelationship->select((not observation.code.code.oclIsUndefined()) and observation.code.code='SUBST').observation->forAll(value->size()<2) In epSOS CDA substanceAdministration, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/hl7:entryRelationship[hl7:observation/hl7:code/@code='SUBST']/hl7:observation SHALL contain at least ONE hl7:value OCL self.entryRelationship->select((not observation.code.code.oclIsUndefined()) and observation.code.code='SUBST').observation->forAll(value->size()>0) In epSOS CDA substanceAdministration, /hl7:substanceAdministration[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2'] SHALL contain at most ONE hl7:entryRelationship[hl7:observation/hl7:code/@code='SUBST'] OCL self.entryRelationship->select((not observation.code.code.oclIsUndefined()) and observation.code.code='SUBST')->size()<2 In Position Of Vaccination, in /hl7:observation[hl7:templateId/@root='2.16.840.1.113883.10.20.1.46'], the attribute classCode SHALL have the value 'OBS' if present OCL self.classCode.oclIsUndefined() or self.classCode=ActClassObservation::OBS In Position Of Vaccination, in /hl7:observation[hl7:templateId/@root='2.16.840.1.113883.10.20.1.46'], the attribute moodCode SHALL have the value 'EVN' if present OCL self.moodCode.oclIsUndefined() or self.moodCode=XActMoodDocumentObservation::EVN In Position Of Vaccination, in /hl7:observation[hl7:templateId/@root='2.16.840.1.113883.10.20.1.46']/hl7:templateId[@root='2.16.840.1.113883.10.20.1.46'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.46')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Position Of Vaccination, /hl7:observation[hl7:templateId/@root='2.16.840.1.113883.10.20.1.46'] SHALL contain at most ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.46'] OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.46')->size()<2 In Position Of Vaccination, /hl7:observation[hl7:templateId/@root='2.16.840.1.113883.10.20.1.46'] SHALL contain at least ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.46'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Position Of Vaccination, in /hl7:observation[hl7:templateId/@root='2.16.840.1.113883.10.20.1.46']/hl7:code, the attribute code SHALL be present OCL self.code->forAll((not nullFlavor.oclIsUndefined()) or (not code.oclIsUndefined())) In Position Of Vaccination, in /hl7:observation[hl7:templateId/@root='2.16.840.1.113883.10.20.1.46']/hl7:code, the attribute code SHALL have the value '30973-2' if present OCL self.code->forAll(code.oclIsUndefined() or code='30973-2') In Position Of Vaccination, in /hl7:observation[hl7:templateId/@root='2.16.840.1.113883.10.20.1.46']/hl7:code, the attribute codeSystem SHALL have the value '2.16.840.1.113883.6.1' if present OCL self.code->forAll(codeSystem.oclIsUndefined() or codeSystem='2.16.840.1.113883.6.1') In Position Of Vaccination, in /hl7:observation[hl7:templateId/@root='2.16.840.1.113883.10.20.1.46']/hl7:statusCode, the attribute code SHALL be present OCL self.statusCode->forAll((not nullFlavor.oclIsUndefined()) or (not code.oclIsUndefined())) In Position Of Vaccination, in /hl7:observation[hl7:templateId/@root='2.16.840.1.113883.10.20.1.46']/hl7:statusCode, the attribute code SHALL have the value 'completed' if present OCL self.statusCode->forAll(code.oclIsUndefined() or code='completed') In Position Of Vaccination, in /hl7:observation[hl7:templateId/@root='2.16.840.1.113883.10.20.1.46']/hl7:statusCode, the attribute codeSystem SHALL have the value '2.16.840.1.113883.5.14' if present OCL self.statusCode->forAll(codeSystem.oclIsUndefined() or codeSystem='2.16.840.1.113883.5.14') In Position Of Vaccination, /hl7:observation[hl7:templateId/@root='2.16.840.1.113883.10.20.1.46'] SHALL contain at least ONE hl7:statusCode OCL (not self.nullFlavor.oclIsUndefined()) or self.statusCode->size()>0 In Position Of Vaccination, in /hl7:observation[hl7:templateId/@root='2.16.840.1.113883.10.20.1.46'], the element(s) hl7:value SHALL be from the datatype INT OCL self.value->forAll(oclIsKindOf(INT)) In Position Of Vaccination, /hl7:observation[hl7:templateId/@root='2.16.840.1.113883.10.20.1.46'] SHALL contain at least ONE hl7:value OCL (not self.nullFlavor.oclIsUndefined()) or self.value->size()>0 In Section Immunizations, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.23'], the attribute classCode SHALL have the value 'DOCSECT' if present OCL self.classCode.oclIsUndefined() or self.classCode=ActClass::DOCSECT In Section Immunizations, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.23']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.23'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.23')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Section Immunizations, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.23'], the element(s) hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.23'] SHALL not have nullFlavor (mandatory) OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.23')->forAll(nullFlavor.oclIsUndefined()) In Section Immunizations, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.23'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.23'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.23')->size()<2 In Section Immunizations, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.23'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.23'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Section Immunizations, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.23']/hl7:templateId[@root='2.16.840.1.113883.10.20.1.6'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.6')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Section Immunizations, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.23'], the element(s) hl7:templateId[@root='2.16.840.1.113883.10.20.1.6'] SHALL not have nullFlavor (mandatory) OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.6')->forAll(nullFlavor.oclIsUndefined()) In Section Immunizations, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.23'] SHALL contain at most ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.6'] OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.6')->size()<2 In Section Immunizations, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.23'] SHALL contain at least ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.6'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Section Immunizations, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.23'] SHALL contain at least ONE hl7:id OCL (not self.nullFlavor.oclIsUndefined()) or self.id->size()>0 In Section Immunizations, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.23']/hl7:code, the attribute code SHALL be present OCL self.code->forAll((not nullFlavor.oclIsUndefined()) or (not code.oclIsUndefined())) In Section Immunizations, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.23']/hl7:code, the attribute code SHALL have the value '11369-6' if present OCL self.code->forAll(code.oclIsUndefined() or code='11369-6') In Section Immunizations, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.23']/hl7:code, the attribute codeSystem SHALL have the value '2.16.840.1.113883.6.1' if present OCL self.code->forAll(codeSystem.oclIsUndefined() or codeSystem='2.16.840.1.113883.6.1') In Section Immunizations, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.23'], the element(s) hl7:code SHALL not have nullFlavor (mandatory) OCL self.code->forAll(nullFlavor.oclIsUndefined()) In Section Immunizations, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.23'] SHALL contain at least ONE hl7:code OCL (not self.nullFlavor.oclIsUndefined()) or self.code->size()>0 In Section Immunizations, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.23'], the element(s) hl7:title SHALL not have nullFlavor (mandatory) OCL self.title->forAll(nullFlavor.oclIsUndefined()) In Section Immunizations, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.23'] SHALL contain at least ONE hl7:title OCL (not self.nullFlavor.oclIsUndefined()) or self.title->size()>0 In Section Immunizations, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.23'], the element(s) hl7:text SHALL not have nullFlavor (mandatory) OCL self.text->forAll(nullFlavor.oclIsUndefined()) In Section Immunizations, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.23'] SHALL contain at least ONE hl7:text OCL (not self.nullFlavor.oclIsUndefined()) or self.text->size()>0 In Section Immunizations, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.23']/hl7:entry/hl7:substanceAdministration/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.12'], the attribute root SHALL be present OCL self.entry.substanceAdministration.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.12')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Section Immunizations, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.23'] SHALL contain at least ONE hl7:entry OCL (not self.nullFlavor.oclIsUndefined()) or self.entry->size()>0 In Entry Medication FulFillment Instructions, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.3.1'], the attribute moodCode SHALL have the value 'EVN' if present OCL self.moodCode.oclIsUndefined() or self.moodCode=XDocumentActMood::EVN In Entry Medication FulFillment Instructions, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.3.1']/hl7:templateId[@root='2.16.840.1.113883.10.20.1.43'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.43')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Entry Medication FulFillment Instructions, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.3.1'], the element(s) hl7:templateId[@root='2.16.840.1.113883.10.20.1.43'] SHALL not have nullFlavor (mandatory) OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.43')->forAll(nullFlavor.oclIsUndefined()) In Entry Medication FulFillment Instructions, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.3.1'] SHALL contain at most ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.43'] OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.43')->size()<2 In Entry Medication FulFillment Instructions, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.3.1'] SHALL contain at least ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.43'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Entry Medication FulFillment Instructions, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.3.1']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.3.1'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.3.1')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Entry Medication FulFillment Instructions, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.3.1'], the element(s) hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.3.1'] SHALL not have nullFlavor (mandatory) OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.3.1')->forAll(nullFlavor.oclIsUndefined()) In Entry Medication FulFillment Instructions, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.3.1'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.3.1'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.3.1')->size()<2 In Entry Medication FulFillment Instructions, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.3.1'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.3.1'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Entry Medication FulFillment Instructions, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.3.1']/hl7:code, the attribute code SHALL be present OCL self.code->forAll((not nullFlavor.oclIsUndefined()) or (not code.oclIsUndefined())) In Entry Medication FulFillment Instructions, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.3.1']/hl7:code, the attribute code SHALL have the value 'FINSTRUCT' if present OCL self.code->forAll(code.oclIsUndefined() or code='FINSTRUCT') In Entry Medication FulFillment Instructions, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.3.1']/hl7:code, the attribute codeSystem SHALL have the value '1.3.6.1.4.1.19376.1.5.3.2' if present OCL self.code->forAll(codeSystem.oclIsUndefined() or codeSystem='1.3.6.1.4.1.19376.1.5.3.2') In Entry Medication FulFillment Instructions, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.3.1']/hl7:statusCode, the attribute code SHALL be present OCL self.statusCode->forAll((not nullFlavor.oclIsUndefined()) or (not code.oclIsUndefined())) In Entry Medication FulFillment Instructions, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.3.1']/hl7:statusCode, the attribute code SHALL have the value 'completed' if present OCL self.statusCode->forAll(code.oclIsUndefined() or code='completed') In Entry Medication FulFillment Instructions, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.3.1'], the element(s) hl7:statusCode SHALL not have nullFlavor (mandatory) OCL self.statusCode->forAll(nullFlavor.oclIsUndefined()) In Entry Medication FulFillment Instructions, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.3.1'] SHALL contain at least ONE hl7:statusCode OCL (not self.nullFlavor.oclIsUndefined()) or self.statusCode->size()>0 In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3'], the element(s) hl7:realmCode SHALL not have nullFlavor (mandatory) OCL self.realmCode->forAll(nullFlavor.oclIsUndefined()) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3'] SHALL contain at most ONE hl7:realmCode OCL self.realmCode->size()<2 In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3'] SHALL contain at least ONE hl7:realmCode OCL (not self.nullFlavor.oclIsUndefined()) or self.realmCode->size()>0 In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:typeId, the attribute root SHALL be present OCL self.typeId->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:typeId, the attribute root SHALL have the value '2.16.840.1.113883.1.3' if present OCL self.typeId->forAll(root.oclIsUndefined() or root='2.16.840.1.113883.1.3') In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:typeId, the attribute extension SHALL be present OCL self.typeId->forAll((not nullFlavor.oclIsUndefined()) or (not extension.oclIsUndefined())) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:typeId, the attribute extension SHALL have the value 'POCD_HD000040' if present OCL self.typeId->forAll(extension.oclIsUndefined() or extension='POCD_HD000040') In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3'], the element(s) hl7:typeId SHALL not have nullFlavor (mandatory) OCL self.typeId->forAll(nullFlavor.oclIsUndefined()) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3'], the element(s) hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3'] SHALL not have nullFlavor (mandatory) OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3')->forAll(nullFlavor.oclIsUndefined()) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3')->size()<2 In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3'], the element(s) hl7:id SHALL not have nullFlavor (mandatory) (Item : R1.11.3) OCL self.id->forAll(nullFlavor.oclIsUndefined()) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:code, the attribute displayName SHALL be present OCL self.code->forAll((not nullFlavor.oclIsUndefined()) or (not displayName.oclIsUndefined())) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:code, the attribute code SHALL be present OCL self.code->forAll((not nullFlavor.oclIsUndefined()) or (not code.oclIsUndefined())) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:code, the attribute code SHALL have the value '60591-5' if present OCL self.code->forAll(code.oclIsUndefined() or code='60591-5') In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:code, the attribute codeSystem SHALL have the value '2.16.840.1.113883.6.1' if present OCL self.code->forAll(codeSystem.oclIsUndefined() or codeSystem='2.16.840.1.113883.6.1') In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3'], the element(s) hl7:code SHALL not have nullFlavor (mandatory) (Item : R1.11.6) OCL self.code->forAll(nullFlavor.oclIsUndefined()) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3'], the element(s) hl7:title SHALL not have nullFlavor (mandatory) (Item : R1.11.7) OCL self.title->forAll(nullFlavor.oclIsUndefined()) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3'] SHALL contain at least ONE hl7:title (Item : R1.11.7) OCL (not self.nullFlavor.oclIsUndefined()) or self.title->size()>0 In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3'], the element(s) hl7:effectiveTime SHALL not have nullFlavor (mandatory) (Item : R1.11.1) OCL self.effectiveTime->forAll(nullFlavor.oclIsUndefined()) In epSOS-Patient Summary, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:confidentialityCode SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.31 (Item : R1.11.8) OCL self.confidentialityCode->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.31', code, codeSystem, null, null))) In epSOS-Patient Summary, the element defined by /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:languageCode shall verify this requirement : The language code SHALL be in the form nn-CC where nn is ISO-639-1 epSOSLanguage and CC is ISO-3166 epSOSCountry (Item : R.11.10) OCL self.languageCode->reject(not nullFlavor.oclIsUndefined())->forAll(aa | CommonOperationsStatic::validateByXPATHV2(aa, 'matches(@code,\"[a-z]{2}-[A-Z]{2}\")') ) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3'], the element(s) hl7:languageCode SHALL not have nullFlavor (mandatory) (Item : R.11.10) OCL self.languageCode->forAll(nullFlavor.oclIsUndefined()) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3'] SHALL contain at least ONE hl7:languageCode (Item : R.11.10) OCL (not self.nullFlavor.oclIsUndefined()) or self.languageCode->size()>0 In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:recordTarget, the attribute typeCode SHALL have the value 'RCT' if present OCL self.recordTarget->forAll(typeCode.oclIsUndefined() or typeCode=ParticipationType::RCT) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:recordTarget, the attribute contextControlCode SHALL have the value 'OP' if present OCL self.recordTarget->forAll(contextControlCode.oclIsUndefined() or contextControlCode=NullFlavor::OP) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:recordTarget/hl7:patientRole, the attribute classCode SHALL have the value 'PAT' if present OCL self.recordTarget.patientRole->forAll(classCode.oclIsUndefined() or classCode=RoleClass::PAT) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:recordTarget/hl7:patientRole/hl7:addr, the attribute nullFlavor SHALL have the value 'NI' if present OCL self.recordTarget.patientRole.addr->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::NI) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:recordTarget/hl7:patientRole/hl7:addr SHALL contain at most ONE hl7:city (Item : R1.5.3) OCL self.recordTarget.patientRole.addr->forAll(city->size()<2) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:recordTarget/hl7:patientRole/hl7:addr SHALL contain at most ONE hl7:postalCode (Item : R1.5.4) OCL self.recordTarget.patientRole.addr->forAll(postalCode->size()<2) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:recordTarget/hl7:patientRole/hl7:addr SHALL contain at most ONE hl7:state (Item : R1.5.5) OCL self.recordTarget.patientRole.addr->forAll(state->size()<2) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:recordTarget/hl7:patientRole/hl7:addr SHALL contain at most ONE hl7:country (Item : R1.5.6) OCL self.recordTarget.patientRole.addr->forAll(country->size()<2) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:recordTarget/hl7:patientRole SHALL contain at most ONE hl7:addr (Item : R1.5) OCL self.recordTarget.patientRole->forAll(addr->size()<2) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:recordTarget/hl7:patientRole SHALL contain at least ONE hl7:addr (Item : R1.5) OCL self.recordTarget.patientRole->forAll(addr->size()>0) In epSOS-Patient Summary, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:recordTarget/hl7:patientRole/hl7:telecom/@use SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.40 OCL self.recordTarget.patientRole.telecom.use->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.40', aa))) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:recordTarget/hl7:patientRole/hl7:telecom, the attribute nullFlavor SHALL have the value 'NI' if present OCL self.recordTarget.patientRole.telecom->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::NI) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:recordTarget/hl7:patientRole SHALL contain at least ONE hl7:telecom (Item : R1.6.1 / R1.6.2) OCL self.recordTarget.patientRole->forAll(telecom->size()>0) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:recordTarget/hl7:patientRole/hl7:patient, the attribute classCode SHALL have the value 'PSN' if present OCL self.recordTarget.patientRole.patient->forAll(classCode.oclIsUndefined() or classCode=EntityClass::PSN) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:recordTarget/hl7:patientRole/hl7:patient, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.recordTarget.patientRole.patient->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:name, the element(s) hl7:family SHALL not have nullFlavor (mandatory) (Item : R1.1.1) OCL self.recordTarget.patientRole.patient.name.family->forAll(nullFlavor.oclIsUndefined()) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:name SHALL contain at least ONE hl7:family (Item : R1.1.1) OCL self.recordTarget.patientRole.patient.name->forAll(family->size()>0) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:name, the element(s) hl7:given SHALL not have nullFlavor (mandatory) (Item : R1.1.3) OCL self.recordTarget.patientRole.patient.name.given->forAll(nullFlavor.oclIsUndefined()) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:name SHALL contain at least ONE hl7:given (Item : R1.1.3) OCL self.recordTarget.patientRole.patient.name->forAll(given->size()>0) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:recordTarget/hl7:patientRole/hl7:patient SHALL contain at least ONE hl7:name (Item : R1.1) OCL self.recordTarget.patientRole.patient->forAll(name->size()>0) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:administrativeGenderCode, the attribute nullFlavor SHALL have the value 'UNK' if present OCL self.recordTarget.patientRole.patient.administrativeGenderCode->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::UNK) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:recordTarget/hl7:patientRole/hl7:patient SHALL contain at least ONE hl7:administrativeGenderCode (Item : R1.2) OCL self.recordTarget.patientRole.patient->forAll(not administrativeGenderCode.oclIsUndefined()) In epSOS-Patient Summary, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:administrativeGenderCode SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.34 (Item : R1.2) OCL self.recordTarget.patientRole.patient.administrativeGenderCode->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.34', code, codeSystem, null, null))) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:recordTarget/hl7:patientRole/hl7:patient, the element(s) hl7:birthTime SHALL not have nullFlavor (mandatory) (Item : R1.3) OCL self.recordTarget.patientRole.patient.birthTime->forAll(nullFlavor.oclIsUndefined()) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:recordTarget/hl7:patientRole/hl7:patient SHALL contain at least ONE hl7:birthTime (Item : R1.3) OCL self.recordTarget.patientRole.patient->forAll(not birthTime.oclIsUndefined()) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian, the attribute classCode SHALL be present OCL self.recordTarget.patientRole.patient.guardian->forAll((not nullFlavor.oclIsUndefined()) or (not classCode.oclIsUndefined())) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian, the attribute classCode SHALL have the value 'GUARD' if present OCL self.recordTarget.patientRole.patient.guardian->forAll(classCode.oclIsUndefined() or classCode=RoleClass::GUARD) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.2.4'], the attribute root SHALL be present OCL self.recordTarget.patientRole.patient.guardian.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.2.4')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian, the element(s) hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.2.4'] SHALL not have nullFlavor (mandatory) OCL self.recordTarget.patientRole.patient.guardian.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.2.4')->forAll(nullFlavor.oclIsUndefined()) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.2.4'] OCL self.recordTarget.patientRole.patient.guardian->forAll(templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.2.4')->size()<2) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.2.4'] OCL self.recordTarget.patientRole.patient.guardian->forAll(templateId->size()>0) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian/hl7:addr, the attribute nullFlavor SHALL have the value 'NI' if present OCL self.recordTarget.patientRole.patient.guardian.addr->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::NI) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian/hl7:addr SHALL contain at most ONE hl7:city (Item : R1.7.A.3.3) OCL self.recordTarget.patientRole.patient.guardian.addr->forAll(city->size()<2) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian/hl7:addr SHALL contain at most ONE hl7:postalCode (Item : R1.7.A.3.4) OCL self.recordTarget.patientRole.patient.guardian.addr->forAll(postalCode->size()<2) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian/hl7:addr SHALL contain at most ONE hl7:state (Item : R1.7.A.3.5) OCL self.recordTarget.patientRole.patient.guardian.addr->forAll(state->size()<2) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian/hl7:addr SHALL contain at most ONE hl7:country (Item : R1.7.A.3.6) OCL self.recordTarget.patientRole.patient.guardian.addr->forAll(country->size()<2) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian SHALL contain at most ONE hl7:addr OCL self.recordTarget.patientRole.patient.guardian->forAll(addr->size()<2) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian SHALL contain at least ONE hl7:addr OCL self.recordTarget.patientRole.patient.guardian->forAll(addr->size()>0) In epSOS-Patient Summary, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian/hl7:telecom/@use SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.40 OCL self.recordTarget.patientRole.patient.guardian.telecom.use->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.40', aa))) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian/hl7:telecom, the attribute nullFlavor SHALL have the value 'NI' if present OCL self.recordTarget.patientRole.patient.guardian.telecom->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::NI) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian SHALL contain at least ONE hl7:telecom (Item : R1.7.A.4.1/R1.7.A.4.2) OCL self.recordTarget.patientRole.patient.guardian->forAll(telecom->size()>0) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian/hl7:guardianPerson, the number of elements of type 'family', 'given' SHALL be bigger or equal to 1 OCL self.recordTarget.patientRole.patient.guardian.guardianPerson.name->forAll( (family->size()+given->size())>=1) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian/hl7:guardianPerson SHALL contain at least ONE hl7:name (Item : IHE PCC) OCL self.recordTarget.patientRole.patient.guardian.guardianPerson->forAll(name->size()>0) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:guardian SHALL contain at least ONE hl7:guardianPerson OCL self.recordTarget.patientRole.patient.guardian->forAll(not guardianPerson.oclIsUndefined()) In epSOS-Patient Summary, the element defined by /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:languageCommunication/hl7:languageCode shall verify this requirement : The language code SHALL be in the form nn-CC where nn is ISO-639-1 epSOSLanguage and CC is ISO-3166 epSOSCountry (Item : R1.7) OCL self.recordTarget.patientRole.patient.languageCommunication.languageCode->reject(not nullFlavor.oclIsUndefined())->forAll(aa | CommonOperationsStatic::validateByXPATHV2(aa, 'matches(@code,\"[a-z]{2}-[A-Z]{2}\")') ) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:recordTarget/hl7:patientRole/hl7:patient/hl7:languageCommunication SHALL contain at least ONE hl7:languageCode (Item : R1.7) OCL self.recordTarget.patientRole.patient.languageCommunication->forAll(not languageCode.oclIsUndefined()) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:recordTarget/hl7:patientRole/hl7:patient SHALL contain at least ONE hl7:languageCommunication OCL self.recordTarget.patientRole.patient->forAll(languageCommunication->size()>0) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:recordTarget/hl7:patientRole, the element(s) hl7:patient SHALL not have nullFlavor (mandatory) OCL self.recordTarget.patientRole.patient->forAll(nullFlavor.oclIsUndefined()) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:recordTarget/hl7:patientRole SHALL contain at least ONE hl7:patient OCL self.recordTarget.patientRole->forAll(not patient.oclIsUndefined()) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:recordTarget, the element(s) hl7:patientRole SHALL not have nullFlavor (mandatory) OCL self.recordTarget.patientRole->forAll(nullFlavor.oclIsUndefined()) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3'], the element(s) hl7:recordTarget SHALL not have nullFlavor (mandatory) OCL self.recordTarget->forAll(nullFlavor.oclIsUndefined()) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3'] SHALL contain at most ONE hl7:recordTarget OCL self.recordTarget->size()<2 In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:author, the attribute typeCode SHALL have the value 'AUT' if present OCL self.author->forAll(typeCode.oclIsUndefined() or typeCode=ParticipationType::AUT) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:author, the attribute contextControlCode SHALL have the value 'OP' if present OCL self.author->forAll(contextControlCode.oclIsUndefined() or contextControlCode=NullFlavor::OP) In epSOS-Patient Summary, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:author/hl7:functionCode SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.1 (Item : R1.10.6) OCL self.author.functionCode->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.1', code, codeSystem, null, null))) In epSOS-Patient Summary, the element defined by /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:author/hl7:assignedAuthor shall verify this requirement : If assignedAuthor has an associated representedOrganization with no assignedPerson or assignedAuthoringDevice, then the value for "ClinicalDocument/author/assignedAuthor/id/@nullFlavor" SHALL be "NA" "Not applicable" 2.16.840.1.113883.5.1008 NullFlavor STATIC. OCL self.author.assignedAuthor->reject(not nullFlavor.oclIsUndefined())->forAll(aa | CommonOperationsStatic::validateByXPATHV2(aa, '@nullFlavor or cda:assignedPerson or cda:assignedAuthoringDevice') ) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:author/hl7:assignedAuthor, the attribute classCode SHALL have the value 'ASSIGNED' if present OCL self.author.assignedAuthor->forAll(classCode.oclIsUndefined() or classCode=RoleClassAssignedEntity::ASSIGNED) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson, the attribute classCode SHALL have the value 'PSN' if present OCL self.author.assignedAuthor.assignedPerson->forAll(classCode.oclIsUndefined() or classCode=EntityClass::PSN) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.author.assignedAuthor.assignedPerson->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson/hl7:name SHALL contain at least ONE hl7:family (Item : R1.10.1) OCL self.author.assignedAuthor.assignedPerson.name->forAll(family->size()>0) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson/hl7:name SHALL contain at least ONE hl7:given (Item : R1.10.2) OCL self.author.assignedAuthor.assignedPerson.name->forAll(given->size()>0) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson/hl7:name SHALL contain at least ONE hl7:prefix (Item : R1.10.3) OCL self.author.assignedAuthor.assignedPerson.name->forAll(prefix->size()>0) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson/hl7:name SHALL contain at least ONE hl7:suffix (Item : R1.10.4) OCL self.author.assignedAuthor.assignedPerson.name->forAll(suffix->size()>0) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson SHALL contain at most ONE hl7:name (Item : IHE PCC) OCL self.author.assignedAuthor.assignedPerson->forAll(name->size()<2) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:author/hl7:assignedAuthor/hl7:assignedPerson SHALL contain at least ONE hl7:name (Item : IHE PCC) OCL self.author.assignedAuthor.assignedPerson->forAll(name->size()>0) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:author/hl7:assignedAuthor/hl7:assignedAuthoringDevice, the attribute classCode SHALL have the value 'DEV' if present OCL self.author.assignedAuthor.assignedAuthoringDevice->forAll(classCode.oclIsUndefined() or classCode=EntityClassDevice::DEV) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:author/hl7:assignedAuthor/hl7:assignedAuthoringDevice, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.author.assignedAuthor.assignedAuthoringDevice->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-Patient Summary, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:author/hl7:assignedAuthor/hl7:assignedAuthoringDevice/hl7:code SHALL be from the valueSet 2.16.840.1.113883.1.11.16040 OCL self.author.assignedAuthor.assignedAuthoringDevice.code->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('2.16.840.1.113883.1.11.16040', code, codeSystem, null, null))) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:author/hl7:assignedAuthor/hl7:id, the attribute nullFlavor SHALL have the value 'NA' if present OCL self.author.assignedAuthor.id->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::NA) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:author/hl7:assignedAuthor SHALL contain at least ONE hl7:addr (Item : IHE PCC) OCL self.author.assignedAuthor->forAll(addr->size()>0) In epSOS-Patient Summary, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:author/hl7:assignedAuthor/hl7:telecom/@use SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.40 OCL self.author.assignedAuthor.telecom.use->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.40', aa))) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:author/hl7:assignedAuthor SHALL contain at least ONE hl7:telecom (Item : IHE PCC / R1.10.8 / R1.10.8.1 / R1.10.8.2) OCL self.author.assignedAuthor->forAll(telecom->size()>0) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization, the attribute classCode SHALL be present OCL self.author.assignedAuthor.representedOrganization->forAll((not nullFlavor.oclIsUndefined()) or (not classCode.oclIsUndefined())) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization, the attribute classCode SHALL have the value 'ORG' if present OCL self.author.assignedAuthor.representedOrganization->forAll(classCode.oclIsUndefined() or classCode=EntityClassOrganization::ORG) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization, the attribute determinerCode SHALL be present OCL self.author.assignedAuthor.representedOrganization->forAll((not nullFlavor.oclIsUndefined()) or (not determinerCode.oclIsUndefined())) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.author.assignedAuthor.representedOrganization->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at most ONE hl7:id (Item : R1.10.9.2) OCL self.author.assignedAuthor.representedOrganization->forAll(id->size()<2) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at least ONE hl7:id (Item : R1.10.9.2) OCL self.author.assignedAuthor.representedOrganization->forAll(id->size()>0) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at most ONE hl7:name (Item : R1.10.9.1) OCL self.author.assignedAuthor.representedOrganization->forAll(name->size()<2) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at least ONE hl7:name (Item : R1.10.9.1) OCL self.author.assignedAuthor.representedOrganization->forAll(name->size()>0) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:telecom, the attribute use SHALL be present OCL self.author.assignedAuthor.representedOrganization.telecom.use->size()>0 In epSOS-Patient Summary, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:telecom/@use SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.40 OCL self.author.assignedAuthor.representedOrganization.telecom.use->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.40', aa))) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:telecom, the attribute nullFlavor SHALL have the value 'UNK' if present OCL self.author.assignedAuthor.representedOrganization.telecom->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::UNK) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at least ONE hl7:telecom (Item : R1.10.9.4 / R1.10.9.4.1 / R1.10.9.4.2) OCL self.author.assignedAuthor.representedOrganization->forAll(telecom->size()>0) In epSOS-Patient Summary, the element defined by /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr shall verify this requirement : If addr is not nullflavored at least one sub element has to be provided (Item : R1.10.9.3) OCL self.author.assignedAuthor.representedOrganization.addr->reject(not nullFlavor.oclIsUndefined())->forAll(aa | CommonOperationsStatic::validateByXPATHV2(aa, '@nullFlavor or cda:*') ) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:streetAddressLine (Item : R1.10.9.3.1) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(streetAddressLine->size()>0) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:city (Item : R1.10.9.3.2) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(city->size()<2) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:city (Item : R1.10.9.3.2) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(city->size()>0) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:postalCode (Item : R1.10.9.3.3) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(postalCode->size()<2) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:postalCode (Item : R1.10.9.3.3) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(postalCode->size()>0) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:state (Item : R1.10.9.3.4) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(state->size()<2) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:state (Item : R1.10.9.3.4) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(state->size()>0) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:country (Item : R1.10.9.3.5) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(country->size()<2) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:country (Item : R1.10.9.3.5) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(country->size()>0) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization, the element(s) hl7:addr SHALL not have nullFlavor (mandatory) (Item : R1.10.9.3) OCL self.author.assignedAuthor.representedOrganization.addr->forAll(nullFlavor.oclIsUndefined()) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at most ONE hl7:addr (Item : R1.10.9.3) OCL self.author.assignedAuthor.representedOrganization->forAll(addr->size()<2) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:author/hl7:assignedAuthor/hl7:representedOrganization SHALL contain at least ONE hl7:addr (Item : R1.10.9.3) OCL self.author.assignedAuthor.representedOrganization->forAll(addr->size()>0) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:author/hl7:assignedAuthor SHALL contain at least ONE hl7:representedOrganization (Item : R1.10.9) OCL self.author.assignedAuthor->forAll(not representedOrganization.oclIsUndefined()) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:custodian, the attribute typeCode SHALL have the value 'CST' if present OCL self.custodian->forAll(typeCode.oclIsUndefined() or typeCode=ParticipationType::CST) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:custodian/hl7:assignedCustodian, the attribute classCode SHALL have the value 'ASSIGNED' if present OCL self.custodian.assignedCustodian->forAll(classCode.oclIsUndefined() or classCode=RoleClassAssignedEntity::ASSIGNED) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization, the attribute classCode SHALL have the value 'ORG' if present OCL self.custodian.assignedCustodian.representedCustodianOrganization->forAll(classCode.oclIsUndefined() or classCode=EntityClassOrganization::ORG) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.custodian.assignedCustodian.representedCustodianOrganization->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization, the attribute classCode SHALL be present OCL self.custodian.assignedCustodian.representedCustodianOrganization->forAll((not nullFlavor.oclIsUndefined()) or (not classCode.oclIsUndefined())) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization, the attribute classCode SHALL have the value 'ORG' if present OCL self.custodian.assignedCustodian.representedCustodianOrganization->forAll(classCode.oclIsUndefined() or classCode=EntityClassOrganization::ORG) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization, the attribute determinerCode SHALL be present OCL self.custodian.assignedCustodian.representedCustodianOrganization->forAll((not nullFlavor.oclIsUndefined()) or (not determinerCode.oclIsUndefined())) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.custodian.assignedCustodian.representedCustodianOrganization->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization SHALL contain at most ONE hl7:id (Item : R1.10.9.2) OCL self.custodian.assignedCustodian.representedCustodianOrganization->forAll(id->size()<2) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization SHALL contain at least ONE hl7:name (Item : R1.10.9.1) OCL self.custodian.assignedCustodian.representedCustodianOrganization->forAll(not name.oclIsUndefined()) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:telecom, the attribute use SHALL be present OCL self.custodian.assignedCustodian.representedCustodianOrganization.telecom.use->size()>0 In epSOS-Patient Summary, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:telecom/@use SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.40 OCL self.custodian.assignedCustodian.representedCustodianOrganization.telecom.use->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.40', aa))) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:telecom, the attribute nullFlavor SHALL have the value 'UNK' if present OCL self.custodian.assignedCustodian.representedCustodianOrganization.telecom->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::UNK) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization SHALL contain at least ONE hl7:telecom (Item : R1.10.9.4 / R1.10.9.4.1 / R1.10.9.4.2) OCL self.custodian.assignedCustodian.representedCustodianOrganization->forAll(not telecom.oclIsUndefined()) In epSOS-Patient Summary, the element defined by /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:addr shall verify this requirement : If addr is not nullflavored at least one sub element has to be provided (Item : R1.10.9.3) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->reject(not nullFlavor.oclIsUndefined())->forAll(aa | CommonOperationsStatic::validateByXPATHV2(aa, '@nullFlavor or cda:*') ) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:addr SHALL contain at least ONE hl7:streetAddressLine (Item : R1.10.9.3.1) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->forAll(streetAddressLine->size()>0) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:addr SHALL contain at most ONE hl7:city (Item : R1.10.9.3.2) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->forAll(city->size()<2) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:addr SHALL contain at least ONE hl7:city (Item : R1.10.9.3.2) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->forAll(city->size()>0) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:addr SHALL contain at most ONE hl7:postalCode (Item : R1.10.9.3.3) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->forAll(postalCode->size()<2) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:addr SHALL contain at least ONE hl7:postalCode (Item : R1.10.9.3.3) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->forAll(postalCode->size()>0) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:addr SHALL contain at most ONE hl7:state (Item : R1.10.9.3.4) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->forAll(state->size()<2) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:addr SHALL contain at least ONE hl7:state (Item : R1.10.9.3.4) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->forAll(state->size()>0) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:addr SHALL contain at most ONE hl7:country (Item : R1.10.9.3.5) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->forAll(country->size()<2) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization/hl7:addr SHALL contain at least ONE hl7:country (Item : R1.10.9.3.5) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->forAll(country->size()>0) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization, the element(s) hl7:addr SHALL not have nullFlavor (mandatory) (Item : R1.10.9.3) OCL self.custodian.assignedCustodian.representedCustodianOrganization.addr->forAll(nullFlavor.oclIsUndefined()) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:custodian/hl7:assignedCustodian/hl7:representedCustodianOrganization SHALL contain at least ONE hl7:addr (Item : R1.10.9.3) OCL self.custodian.assignedCustodian.representedCustodianOrganization->forAll(not addr.oclIsUndefined()) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3'], the element(s) hl7:custodian SHALL not have nullFlavor (mandatory) OCL self.custodian->forAll(nullFlavor.oclIsUndefined()) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:legalAuthenticator, the element(s) hl7:time SHALL not have nullFlavor (mandatory) OCL self.legalAuthenticator.time->forAll(nullFlavor.oclIsUndefined()) In epSOS-Patient Summary, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:legalAuthenticator/hl7:signatureCode SHALL be from the valueSet 2.16.840.1.113883.1.11.10282 OCL self.legalAuthenticator.signatureCode->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and matchesCodeToValueSet('2.16.840.1.113883.1.11.10282', code))) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:legalAuthenticator/hl7:assignedEntity, the element(s) hl7:id SHALL not have nullFlavor (mandatory) OCL self.legalAuthenticator.assignedEntity.id->forAll(nullFlavor.oclIsUndefined()) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:legalAuthenticator/hl7:assignedEntity SHALL contain at most ONE hl7:id OCL self.legalAuthenticator.assignedEntity->forAll(id->size()<2) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:legalAuthenticator/hl7:assignedEntity SHALL contain at least ONE hl7:addr (Item : IHE PCC) OCL self.legalAuthenticator.assignedEntity->forAll(addr->size()>0) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:legalAuthenticator/hl7:assignedEntity SHALL contain at least ONE hl7:telecom (Item : IHE PCC) OCL self.legalAuthenticator.assignedEntity->forAll(telecom->size()>0) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:assignedPerson, the attribute classCode SHALL have the value 'PSN' if present OCL self.legalAuthenticator.assignedEntity.assignedPerson->forAll(classCode.oclIsUndefined() or classCode=EntityClass::PSN) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:assignedPerson, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.legalAuthenticator.assignedEntity.assignedPerson->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:assignedPerson, the attribute classCode SHALL have the value 'PSN' if present OCL self.legalAuthenticator.assignedEntity.assignedPerson->forAll(classCode.oclIsUndefined() or classCode=EntityClass::PSN) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:assignedPerson, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.legalAuthenticator.assignedEntity.assignedPerson->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:legalAuthenticator/hl7:assignedEntity SHALL contain at least ONE hl7:assignedPerson (Item : IHE PCC) OCL self.legalAuthenticator.assignedEntity->forAll(not assignedPerson.oclIsUndefined()) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization, the attribute classCode SHALL be present OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll((not nullFlavor.oclIsUndefined()) or (not classCode.oclIsUndefined())) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization, the attribute classCode SHALL have the value 'ORG' if present OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll(classCode.oclIsUndefined() or classCode=EntityClassOrganization::ORG) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization, the attribute determinerCode SHALL be present OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll((not nullFlavor.oclIsUndefined()) or (not determinerCode.oclIsUndefined())) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization SHALL contain at most ONE hl7:id (Item : R1.10.9.2) OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll(id->size()<2) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization SHALL contain at least ONE hl7:id (Item : R1.10.9.2) OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll(id->size()>0) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization SHALL contain at most ONE hl7:name (Item : R1.10.9.1) OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll(name->size()<2) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization SHALL contain at least ONE hl7:name (Item : R1.10.9.1) OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll(name->size()>0) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:telecom, the attribute use SHALL be present OCL self.legalAuthenticator.assignedEntity.representedOrganization.telecom.use->size()>0 In epSOS-Patient Summary, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:telecom/@use SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.40 OCL self.legalAuthenticator.assignedEntity.representedOrganization.telecom.use->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.40', aa))) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:telecom, the attribute nullFlavor SHALL have the value 'UNK' if present OCL self.legalAuthenticator.assignedEntity.representedOrganization.telecom->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::UNK) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization SHALL contain at least ONE hl7:telecom (Item : R1.10.9.4 / R1.10.9.4.1 / R1.10.9.4.2) OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll(telecom->size()>0) In epSOS-Patient Summary, the element defined by /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:addr shall verify this requirement : If addr is not nullflavored at least one sub element has to be provided (Item : R1.10.9.3) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->reject(not nullFlavor.oclIsUndefined())->forAll(aa | CommonOperationsStatic::validateByXPATHV2(aa, '@nullFlavor or cda:*') ) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:streetAddressLine (Item : R1.10.9.3.1) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(streetAddressLine->size()>0) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:city (Item : R1.10.9.3.2) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(city->size()<2) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:city (Item : R1.10.9.3.2) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(city->size()>0) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:postalCode (Item : R1.10.9.3.3) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(postalCode->size()<2) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:postalCode (Item : R1.10.9.3.3) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(postalCode->size()>0) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:state (Item : R1.10.9.3.4) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(state->size()<2) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:state (Item : R1.10.9.3.4) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(state->size()>0) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:country (Item : R1.10.9.3.5) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(country->size()<2) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:country (Item : R1.10.9.3.5) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(country->size()>0) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization, the element(s) hl7:addr SHALL not have nullFlavor (mandatory) (Item : R1.10.9.3) OCL self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(nullFlavor.oclIsUndefined()) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization SHALL contain at most ONE hl7:addr (Item : R1.10.9.3) OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll(addr->size()<2) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:legalAuthenticator/hl7:assignedEntity/hl7:representedOrganization SHALL contain at least ONE hl7:addr (Item : R1.10.9.3) OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll(addr->size()>0) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:legalAuthenticator/hl7:assignedEntity, the element(s) hl7:representedOrganization SHALL not have nullFlavor (mandatory) OCL self.legalAuthenticator.assignedEntity.representedOrganization->forAll(nullFlavor.oclIsUndefined()) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:legalAuthenticator/hl7:assignedEntity SHALL contain at least ONE hl7:representedOrganization OCL self.legalAuthenticator.assignedEntity->forAll(not representedOrganization.oclIsUndefined()) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3'], the element(s) hl7:legalAuthenticator SHALL not have nullFlavor (mandatory) (Item : R1.11.9) OCL self.legalAuthenticator->forAll(nullFlavor.oclIsUndefined()) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3'] SHALL contain at least ONE hl7:legalAuthenticator (Item : R1.11.9) OCL (not self.nullFlavor.oclIsUndefined()) or self.legalAuthenticator->size()>0 In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:participant, the attribute typeCode SHALL have the value 'IND' if present (Item : R1.8.5) OCL self.participant->forAll(typeCode.oclIsUndefined() or typeCode=ParticipationType::IND) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:participant/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.2.4'], the attribute root SHALL be present OCL self.participant.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.2.4')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:participant, the element(s) hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.2.4'] SHALL not have nullFlavor (mandatory) OCL self.participant.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.2.4')->forAll(nullFlavor.oclIsUndefined()) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:participant SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.2.4'] OCL self.participant->forAll(templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.2.4')->size()<2) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:participant SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.2.4'] OCL self.participant->forAll(templateId->size()>0) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:participant/hl7:functionCode, the attribute code SHALL be present OCL self.participant.functionCode->forAll((not nullFlavor.oclIsUndefined()) or (not code.oclIsUndefined())) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:participant/hl7:functionCode, the attribute code SHALL have the value 'PCP' if present OCL self.participant.functionCode->forAll(code.oclIsUndefined() or code='PCP') In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:participant/hl7:functionCode, the attribute codeSystem SHALL have the value '2.16.840.1.113883.5.88' if present OCL self.participant.functionCode->forAll(codeSystem.oclIsUndefined() or codeSystem='2.16.840.1.113883.5.88') In epSOS-Patient Summary, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:participant/hl7:associatedEntity/@classCode SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.39 OR SHALL have code='PRS' (Item : R1.8.6) OCL self.participant.associatedEntity.classCode->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.39', CommonOperationsStatic::stringValueOf(aa))) or (CommonOperationsStatic::stringValueOf(aa)='PRS')) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:participant/hl7:associatedEntity/hl7:associatedPerson, the number of elements of type 'family', 'given' SHALL be bigger or equal to 1 OCL self.participant.associatedEntity.associatedPerson.name->forAll( (family->size()+given->size())>=1) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:participant/hl7:associatedEntity/hl7:associatedPerson SHALL contain at most ONE hl7:name (Item : IHE PCC / R1.9.1) OCL self.participant.associatedEntity.associatedPerson->forAll(name->size()<2) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:participant/hl7:associatedEntity/hl7:associatedPerson SHALL contain at least ONE hl7:name (Item : IHE PCC / R1.9.1) OCL self.participant.associatedEntity.associatedPerson->forAll(name->size()>0) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:participant/hl7:associatedEntity/hl7:scopingOrganization SHALL contain at most ONE hl7:name (Item : R1.9.1) OCL self.participant.associatedEntity.scopingOrganization->forAll(name->size()<2) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:participant/hl7:associatedEntity/hl7:scopingOrganization SHALL contain at least ONE hl7:name (Item : R1.9.1) OCL self.participant.associatedEntity.scopingOrganization->forAll(name->size()>0) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:participant, the number of elements of type 'associatedPerson', 'scopingOrganization' SHALL be lower or equal to 1 OCL self.participant.associatedEntity->forAll( (associatedPerson->size()+scopingOrganization->size())<=1) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:participant, the number of elements of type 'associatedPerson', 'scopingOrganization' SHALL be bigger or equal to 1 OCL self.participant.associatedEntity->forAll( (associatedPerson->size()+scopingOrganization->size())>=1) In epSOS-Patient Summary, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:participant/hl7:associatedEntity/hl7:code SHALL have codeSystem='2.16.840.1.113883.5.111' (Item : R1.8.6) OCL self.participant.associatedEntity.code->forAll( (not nullFlavor.oclIsUndefined()) or ((not codeSystem.oclIsUndefined()) and codeSystem='2.16.840.1.113883.5.111')) In epSOS-Patient Summary, the element defined by /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:participant/hl7:associatedEntity/hl7:addr shall verify this requirement : If addr is not nullflavored at least one sub element has to be provided (Item : R1.8.3 / R1.9.2) OCL self.participant.associatedEntity.addr->reject(not nullFlavor.oclIsUndefined())->forAll(aa | CommonOperationsStatic::validateByXPATHV2(aa, '@nullFlavor or cda:*') ) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:participant/hl7:associatedEntity/hl7:addr, the attribute nullFlavor SHALL have the value 'NI' if present OCL self.participant.associatedEntity.addr->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::NI) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:participant/hl7:associatedEntity/hl7:addr SHALL contain at most ONE hl7:city (Item : R1.8.2.3 / R1.9.2.3) OCL self.participant.associatedEntity.addr->forAll(city->size()<2) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:participant/hl7:associatedEntity/hl7:addr SHALL contain at most ONE hl7:postalCode (Item : R1.8.2.4 / R1.9.2.4) OCL self.participant.associatedEntity.addr->forAll(postalCode->size()<2) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:participant/hl7:associatedEntity/hl7:addr SHALL contain at most ONE hl7:state (Item : R1.8.2.5 / R1.9.2.5) OCL self.participant.associatedEntity.addr->forAll(state->size()<2) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:participant/hl7:associatedEntity/hl7:addr SHALL contain at most ONE hl7:country (Item : R1.8.2.6 / R1.9.2.6) OCL self.participant.associatedEntity.addr->forAll(country->size()<2) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:participant/hl7:associatedEntity SHALL contain at most ONE hl7:addr (Item : R1.8.3 / R1.9.2) OCL self.participant.associatedEntity->forAll(addr->size()<2) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:participant/hl7:associatedEntity SHALL contain at least ONE hl7:addr (Item : R1.8.3 / R1.9.2) OCL self.participant.associatedEntity->forAll(addr->size()>0) In epSOS-Patient Summary, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:participant/hl7:associatedEntity/hl7:telecom/@use SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.40 OCL self.participant.associatedEntity.telecom.use->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.40', aa))) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:participant/hl7:associatedEntity/hl7:telecom, the attribute nullFlavor SHALL have the value 'UNK' if present OCL self.participant.associatedEntity.telecom->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::UNK) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:participant/hl7:associatedEntity SHALL contain at least ONE hl7:telecom (Item : R1.8.4.1 / R1.8.4.2 / R1.9.3.1 / R1.9.3.2) OCL self.participant.associatedEntity->forAll(telecom->size()>0) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:documentationOf, the attribute typeCode SHALL be present OCL self.documentationOf->forAll((not nullFlavor.oclIsUndefined()) or (not typeCode.oclIsUndefined())) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:documentationOf, the attribute typeCode SHALL have the value 'DOC' if present OCL self.documentationOf->forAll(typeCode.oclIsUndefined() or typeCode=ActRelationshipType::DOC) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:documentationOf/hl7:serviceEvent, the attribute classCode SHALL be present OCL self.documentationOf.serviceEvent->forAll((not nullFlavor.oclIsUndefined()) or (not classCode.oclIsUndefined())) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:documentationOf/hl7:serviceEvent, the attribute classCode SHALL have the value 'PCPR' if present OCL self.documentationOf.serviceEvent->forAll(classCode.oclIsUndefined() or classCode=ActClassRoot::PCPR) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:documentationOf/hl7:serviceEvent, the attribute moodCode SHALL be present OCL self.documentationOf.serviceEvent->forAll((not nullFlavor.oclIsUndefined()) or (not moodCode.oclIsUndefined())) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:documentationOf/hl7:serviceEvent, the attribute moodCode SHALL have the value 'EVN' if present OCL self.documentationOf.serviceEvent->forAll(moodCode.oclIsUndefined() or moodCode=ActMood::EVN) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:documentationOf/hl7:serviceEvent/hl7:effectiveTime SHALL contain at least ONE hl7:low OCL self.documentationOf.serviceEvent.effectiveTime->forAll(not low.oclIsUndefined()) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:documentationOf/hl7:serviceEvent/hl7:effectiveTime SHALL contain at least ONE hl7:high OCL self.documentationOf.serviceEvent.effectiveTime->forAll(not high.oclIsUndefined()) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:documentationOf/hl7:serviceEvent SHALL contain at least ONE hl7:effectiveTime OCL self.documentationOf.serviceEvent->forAll(not effectiveTime.oclIsUndefined()) In epSOS-Patient Summary, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/@typeCode SHALL be from the valueSet 2.16.840.1.113883.1.11.19601 OCL self.documentationOf.serviceEvent.performer.typeCode->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('2.16.840.1.113883.1.11.19601', CommonOperationsStatic::stringValueOf(aa)))) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:documentationOf/hl7:serviceEvent/hl7:performer SHALL contain at least ONE hl7:functionCode OCL self.documentationOf.serviceEvent.performer->forAll(not functionCode.oclIsUndefined()) In epSOS-Patient Summary, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:functionCode SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.1 OCL self.documentationOf.serviceEvent.performer.functionCode->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.1', code, codeSystem, null, null))) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity SHALL contain at least ONE hl7:addr (Item : IHE PCC) OCL self.documentationOf.serviceEvent.performer.assignedEntity->forAll(addr->size()>0) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity SHALL contain at least ONE hl7:telecom (Item : IHE PCC) OCL self.documentationOf.serviceEvent.performer.assignedEntity->forAll(telecom->size()>0) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:assignedPerson, the attribute classCode SHALL have the value 'PSN' if present OCL self.documentationOf.serviceEvent.performer.assignedEntity.assignedPerson->forAll(classCode.oclIsUndefined() or classCode=EntityClass::PSN) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:assignedPerson, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.documentationOf.serviceEvent.performer.assignedEntity.assignedPerson->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:assignedPerson SHALL contain at least ONE hl7:name (Item : IHE PCC) OCL self.documentationOf.serviceEvent.performer.assignedEntity.assignedPerson->forAll(name->size()>0) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization, the attribute classCode SHALL be present OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization->forAll((not nullFlavor.oclIsUndefined()) or (not classCode.oclIsUndefined())) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization, the attribute classCode SHALL have the value 'ORG' if present OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization->forAll(classCode.oclIsUndefined() or classCode=EntityClassOrganization::ORG) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization, the attribute determinerCode SHALL be present OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization->forAll((not nullFlavor.oclIsUndefined()) or (not determinerCode.oclIsUndefined())) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization SHALL contain at most ONE hl7:id (Item : R1.10.9.2) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization->forAll(id->size()<2) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization SHALL contain at least ONE hl7:id (Item : R1.10.9.2) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization->forAll(id->size()>0) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization SHALL contain at most ONE hl7:name (Item : R1.10.9.1) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization->forAll(name->size()<2) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization SHALL contain at least ONE hl7:name (Item : R1.10.9.1) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization->forAll(name->size()>0) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization/hl7:telecom, the attribute use SHALL be present OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization.telecom.use->size()>0 In epSOS-Patient Summary, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization/hl7:telecom/@use SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.40 OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization.telecom.use->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.40', aa))) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization/hl7:telecom, the attribute nullFlavor SHALL have the value 'UNK' if present OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization.telecom->forAll(nullFlavor.oclIsUndefined() or nullFlavor=NullFlavor::UNK) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization SHALL contain at least ONE hl7:telecom (Item : R1.10.9.4 / R1.10.9.4.1 / R1.10.9.4.2) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization->forAll(telecom->size()>0) In epSOS-Patient Summary, the element defined by /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization/hl7:addr shall verify this requirement : If addr is not nullflavored at least one sub element has to be provided (Item : R1.10.9.3) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization.addr->reject(not nullFlavor.oclIsUndefined())->forAll(aa | CommonOperationsStatic::validateByXPATHV2(aa, '@nullFlavor or cda:*') ) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:streetAddressLine (Item : R1.10.9.3.1) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization.addr->forAll(streetAddressLine->size()>0) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:city (Item : R1.10.9.3.2) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization.addr->forAll(city->size()<2) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:city (Item : R1.10.9.3.2) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization.addr->forAll(city->size()>0) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:postalCode (Item : R1.10.9.3.3) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization.addr->forAll(postalCode->size()<2) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:postalCode (Item : R1.10.9.3.3) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization.addr->forAll(postalCode->size()>0) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:state (Item : R1.10.9.3.4) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization.addr->forAll(state->size()<2) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:state (Item : R1.10.9.3.4) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization.addr->forAll(state->size()>0) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at most ONE hl7:country (Item : R1.10.9.3.5) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization.addr->forAll(country->size()<2) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization/hl7:addr SHALL contain at least ONE hl7:country (Item : R1.10.9.3.5) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization.addr->forAll(country->size()>0) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization, the element(s) hl7:addr SHALL not have nullFlavor (mandatory) (Item : R1.10.9.3) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization.addr->forAll(nullFlavor.oclIsUndefined()) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization SHALL contain at most ONE hl7:addr (Item : R1.10.9.3) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization->forAll(addr->size()<2) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:documentationOf/hl7:serviceEvent/hl7:performer/hl7:assignedEntity/hl7:representedOrganization SHALL contain at least ONE hl7:addr (Item : R1.10.9.3) OCL self.documentationOf.serviceEvent.performer.assignedEntity.representedOrganization->forAll(addr->size()>0) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:documentationOf/hl7:serviceEvent/hl7:performer, the element(s) hl7:assignedEntity SHALL not have nullFlavor (mandatory) OCL self.documentationOf.serviceEvent.performer.assignedEntity->forAll(nullFlavor.oclIsUndefined()) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3'] SHALL contain at most ONE hl7:documentationOf OCL self.documentationOf->size()<2 In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3'] SHALL contain at least ONE hl7:documentationOf OCL (not self.nullFlavor.oclIsUndefined()) or self.documentationOf->size()>0 In epSOS-Patient Summary, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:relatedDocument/@typeCode SHALL be from the valueSet 2.16.840.1.113883.1.11.11610 OCL self.relatedDocument.typeCode->forAll( aa | (CommonOperationsStatic::matchesCodeToValueSet('2.16.840.1.113883.1.11.11610', CommonOperationsStatic::stringValueOf(aa)))) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:relatedDocument/hl7:parentDocument, the attribute classCode SHALL have the value 'DOCCLIN' if present OCL self.relatedDocument.parentDocument->forAll(classCode.oclIsUndefined() or classCode=ActClinicalDocument::DOCCLIN) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:relatedDocument/hl7:parentDocument, the attribute moodCode SHALL have the value 'EVN' if present OCL self.relatedDocument.parentDocument->forAll(moodCode.oclIsUndefined() or moodCode=ActMood::EVN) In epSOS-Patient Summary, the code of /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:relatedDocument/hl7:parentDocument/hl7:code SHALL have codeSystem='2.16.840.1.113883.6.1' OCL self.relatedDocument.parentDocument.code->forAll( (not nullFlavor.oclIsUndefined()) or ((not codeSystem.oclIsUndefined()) and codeSystem='2.16.840.1.113883.6.1')) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3'], the element(s) hl7:relatedDocument SHALL not have nullFlavor (mandatory) OCL self.relatedDocument->forAll(nullFlavor.oclIsUndefined()) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3'] SHALL contain at most ONE hl7:relatedDocument OCL self.relatedDocument->size()<2 In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3'] SHALL contain at least ONE hl7:relatedDocument OCL (not self.nullFlavor.oclIsUndefined()) or self.relatedDocument->size()>0 In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:component/hl7:structuredBody, the attribute classCode SHALL have the value 'DOCBODY' if present OCL self.component.structuredBody->forAll(classCode.oclIsUndefined() or classCode=ActClass::DOCBODY) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:component/hl7:structuredBody/hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.3']/hl7:section/hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.3'], the attribute root SHALL be present OCL self.component.structuredBody.component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.12559.11.10.1.3.1.2.3')).section.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.2.3')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:component/hl7:structuredBody SHALL contain at most ONE hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.3'] OCL self.component.structuredBody->forAll(component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.12559.11.10.1.3.1.2.3'))->size()<2) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:component/hl7:structuredBody/hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.13']/hl7:section/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.13'], the attribute root SHALL be present OCL self.component.structuredBody.component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.3.13')).section.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.13')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:component/hl7:structuredBody SHALL contain at most ONE hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.13'] OCL self.component.structuredBody->forAll(component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.3.13'))->size()<2) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:component/hl7:structuredBody/hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.23']/hl7:section/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.23'], the attribute root SHALL be present OCL self.component.structuredBody.component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.3.23')).section.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.23')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:component/hl7:structuredBody SHALL contain at most ONE hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.23'] OCL self.component.structuredBody->forAll(component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.3.23'))->size()<2) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:component/hl7:structuredBody/hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.8']/hl7:section/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.8'], the attribute root SHALL be present OCL self.component.structuredBody.component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.3.8')).section.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.8')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:component/hl7:structuredBody SHALL contain at most ONE hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.8'] OCL self.component.structuredBody->forAll(component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.3.8'))->size()<2) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:component/hl7:structuredBody/hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.12']/hl7:section/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.12'], the attribute root SHALL be present OCL self.component.structuredBody.component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.3.12')).section.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.12')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:component/hl7:structuredBody SHALL contain at most ONE hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.12'] OCL self.component.structuredBody->forAll(component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.3.12'))->size()<2) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:component/hl7:structuredBody/hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.6']/hl7:section/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.6'], the attribute root SHALL be present OCL self.component.structuredBody.component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.3.6')).section.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.6')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:component/hl7:structuredBody SHALL contain at most ONE hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.6'] OCL self.component.structuredBody->forAll(component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.3.6'))->size()<2) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:component/hl7:structuredBody/hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.4']/hl7:section/hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.4'], the attribute root SHALL be present OCL self.component.structuredBody.component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.12559.11.10.1.3.1.2.4')).section.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.2.4')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:component/hl7:structuredBody SHALL contain at most ONE hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.4'] OCL self.component.structuredBody->forAll(component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.12559.11.10.1.3.1.2.4'))->size()<2) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:component/hl7:structuredBody/hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.9.50']/hl7:section/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.1.9.50'], the attribute root SHALL be present OCL self.component.structuredBody.component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.1.9.50')).section.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.1.9.50')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:component/hl7:structuredBody SHALL contain at most ONE hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.9.50'] OCL self.component.structuredBody->forAll(component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.1.9.50'))->size()<2) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:component/hl7:structuredBody/hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.17']/hl7:section/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.17'], the attribute root SHALL be present OCL self.component.structuredBody.component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.3.17')).section.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.17')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:component/hl7:structuredBody SHALL contain at most ONE hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.17'] OCL self.component.structuredBody->forAll(component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.3.17'))->size()<2) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:component/hl7:structuredBody/hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.16.1']/hl7:section/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.16.1'], the attribute root SHALL be present OCL self.component.structuredBody.component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.3.16.1')).section.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.16.1')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:component/hl7:structuredBody SHALL contain at most ONE hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.16.1'] OCL self.component.structuredBody->forAll(component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.3.16.1'))->size()<2) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:component/hl7:structuredBody/hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.4']/hl7:section/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.4'], the attribute root SHALL be present OCL self.component.structuredBody.component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.1.5.3.4')).section.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.4')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:component/hl7:structuredBody SHALL contain at most ONE hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.4'] OCL self.component.structuredBody->forAll(component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.1.5.3.4'))->size()<2) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:component/hl7:structuredBody/hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2']/hl7:section/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2'], the attribute root SHALL be present OCL self.component.structuredBody.component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2')).section.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:component/hl7:structuredBody SHALL contain at most ONE hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2'] OCL self.component.structuredBody->forAll(component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2'))->size()<2) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:component/hl7:structuredBody/hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.28']/hl7:section/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.28'], the attribute root SHALL be present OCL self.component.structuredBody.component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.3.28')).section.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.28')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:component/hl7:structuredBody SHALL contain at most ONE hl7:component[hl7:section/hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.28'] OCL self.component.structuredBody->forAll(component->select(section.templateId.root->exists(aa : String| aa = '1.3.6.1.4.1.19376.1.5.3.1.3.28'))->size()<2) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:component, the element(s) hl7:structuredBody SHALL not have nullFlavor (mandatory) OCL self.component.structuredBody->forAll(nullFlavor.oclIsUndefined()) In epSOS-Patient Summary, /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3']/hl7:component SHALL contain at least ONE hl7:structuredBody OCL self.component->forAll(not structuredBody.oclIsUndefined()) In epSOS-Patient Summary, in /hl7:ClinicalDocument[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3'], the element(s) hl7:component SHALL not have nullFlavor (mandatory) OCL self.component->forAll(nullFlavor.oclIsUndefined()) In Severity, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1'], the attribute classCode SHALL have the value 'OBS' if present OCL self.classCode.oclIsUndefined() or self.classCode=ActClassObservation::OBS In Severity, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1'], the attribute moodCode SHALL have the value 'EVN' if present OCL self.moodCode.oclIsUndefined() or self.moodCode=XActMoodDocumentObservation::EVN In Severity, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.1'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.1')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Severity, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.1'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.1')->size()<2 In Severity, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.1'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Severity, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1']/hl7:templateId[@root='2.16.840.1.113883.10.20.1.55'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.55')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Severity, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1'] SHALL contain at most ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.55'] OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.55')->size()<2 In Severity, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1'] SHALL contain at least ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.55'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Severity, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1']/hl7:code, the attribute code SHALL be present OCL self.code->forAll((not nullFlavor.oclIsUndefined()) or (not code.oclIsUndefined())) In Severity, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1']/hl7:code, the attribute code SHALL have the value 'SEV' if present OCL self.code->forAll(code.oclIsUndefined() or code='SEV') In Severity, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1']/hl7:code, the attribute codeSystem SHALL have the value '2.16.840.1.113883.5.4' if present OCL self.code->forAll(codeSystem.oclIsUndefined() or codeSystem='2.16.840.1.113883.5.4') In Severity, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1']/hl7:text/hl7:reference, the attribute value SHALL be present OCL self.text.reference->forAll((not nullFlavor.oclIsUndefined()) or (not value.oclIsUndefined())) In Severity, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1']/hl7:text, the element(s) hl7:reference SHALL not have nullFlavor (mandatory) OCL self.text.reference->forAll(nullFlavor.oclIsUndefined()) In Severity, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1']/hl7:text SHALL contain at least ONE hl7:reference OCL self.text->forAll(not reference.oclIsUndefined()) In Severity, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1'] SHALL contain at least ONE hl7:text OCL (not self.nullFlavor.oclIsUndefined()) or self.text->size()>0 In Severity, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1']/hl7:statusCode, the attribute code SHALL be present OCL self.statusCode->forAll((not nullFlavor.oclIsUndefined()) or (not code.oclIsUndefined())) In Severity, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1']/hl7:statusCode, the attribute code SHALL have the value 'completed' if present OCL self.statusCode->forAll(code.oclIsUndefined() or code='completed') In Severity, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1']/hl7:statusCode, the attribute codeSystem SHALL have the value '2.16.840.1.113883.5.14' if present OCL self.statusCode->forAll(codeSystem.oclIsUndefined() or codeSystem='2.16.840.1.113883.5.14') In Severity, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1'], the element(s) hl7:value SHALL be from the datatype CD OCL self.value->forAll(oclIsKindOf(CD)) In Severity, the code of /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1']/hl7:value SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.13 OCL self.value->forAll( (not nullFlavor.oclIsUndefined()) or ((not oclAsType(CD).code.oclIsUndefined()) and (not oclAsType(CD).codeSystem.oclIsUndefined()) and matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.13', oclAsType(CD).code, oclAsType(CD).codeSystem, null, null))) In Section Medical Devices Coded, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.4'], the attribute classCode SHALL have the value 'DOCSECT' if present OCL self.classCode.oclIsUndefined() or self.classCode=ActClass::DOCSECT In Section Medical Devices Coded, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.4']/hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.4'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.2.4')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Section Medical Devices Coded, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.4'], the element(s) hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.4'] SHALL not have nullFlavor (mandatory) OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.2.4')->forAll(nullFlavor.oclIsUndefined()) In Section Medical Devices Coded, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.4'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.4'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.2.4')->size()<2 In Section Medical Devices Coded, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.4'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.4'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Section Medical Devices Coded, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.4']/hl7:templateId[@root='2.16.840.1.113883.10.20.1.7'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.7')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Section Medical Devices Coded, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.4'], the element(s) hl7:templateId[@root='2.16.840.1.113883.10.20.1.7'] SHALL not have nullFlavor (mandatory) OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.7')->forAll(nullFlavor.oclIsUndefined()) In Section Medical Devices Coded, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.4'] SHALL contain at most ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.7'] OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.7')->size()<2 In Section Medical Devices Coded, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.4'] SHALL contain at least ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.7'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Section Medical Devices Coded, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.4']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.5'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.5')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Section Medical Devices Coded, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.4'], the element(s) hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.5'] SHALL not have nullFlavor (mandatory) OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.5')->forAll(nullFlavor.oclIsUndefined()) In Section Medical Devices Coded, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.4'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.5'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.5')->size()<2 In Section Medical Devices Coded, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.4'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.5'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Section Medical Devices Coded, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.4'] SHALL contain at least ONE hl7:id OCL (not self.nullFlavor.oclIsUndefined()) or self.id->size()>0 In Section Medical Devices Coded, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.4']/hl7:code, the attribute code SHALL be present OCL self.code->forAll((not nullFlavor.oclIsUndefined()) or (not code.oclIsUndefined())) In Section Medical Devices Coded, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.4']/hl7:code, the attribute code SHALL have the value '46264-8' if present OCL self.code->forAll(code.oclIsUndefined() or code='46264-8') In Section Medical Devices Coded, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.4']/hl7:code, the attribute codeSystem SHALL have the value '2.16.840.1.113883.6.1' if present OCL self.code->forAll(codeSystem.oclIsUndefined() or codeSystem='2.16.840.1.113883.6.1') In Section Medical Devices Coded, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.4'], the element(s) hl7:code SHALL not have nullFlavor (mandatory) OCL self.code->forAll(nullFlavor.oclIsUndefined()) In Section Medical Devices Coded, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.4'] SHALL contain at least ONE hl7:code OCL (not self.nullFlavor.oclIsUndefined()) or self.code->size()>0 In Section Medical Devices Coded, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.4'], the element(s) hl7:title SHALL not have nullFlavor (mandatory) OCL self.title->forAll(nullFlavor.oclIsUndefined()) In Section Medical Devices Coded, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.4'] SHALL contain at least ONE hl7:title OCL (not self.nullFlavor.oclIsUndefined()) or self.title->size()>0 In Section Medical Devices Coded, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.4'], the element(s) hl7:text SHALL not have nullFlavor (mandatory) OCL self.text->forAll(nullFlavor.oclIsUndefined()) In Section Medical Devices Coded, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.4'] SHALL contain at least ONE hl7:text OCL (not self.nullFlavor.oclIsUndefined()) or self.text->size()>0 In Section Medical Devices Coded, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.4']/hl7:entry/hl7:supply/hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.5'], the attribute root SHALL be present OCL self.entry.supply.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.3.5')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Section Medical Devices Coded, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.4'] SHALL contain at least ONE hl7:entry OCL (not self.nullFlavor.oclIsUndefined()) or self.entry->size()>0 In Allergy and Intolerance Concern, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.3'], the attribute classCode SHALL have the value 'ACT' if present OCL self.classCode.oclIsUndefined() or self.classCode=XActClassDocumentEntryAct::ACT In Allergy and Intolerance Concern, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.3'], the attribute moodCode SHALL have the value 'EVN' if present OCL self.moodCode.oclIsUndefined() or self.moodCode=XDocumentActMood::EVN In Allergy and Intolerance Concern, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.3']/hl7:templateId[@root='2.16.840.1.113883.10.20.1.27'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.27')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Allergy and Intolerance Concern, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.3'] SHALL contain at most ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.27'] OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.27')->size()<2 In Allergy and Intolerance Concern, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.3'] SHALL contain at least ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.27'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Allergy and Intolerance Concern, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.3']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.1'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.5.1')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Allergy and Intolerance Concern, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.3'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.1'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.5.1')->size()<2 In Allergy and Intolerance Concern, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.3'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.1'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Allergy and Intolerance Concern, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.3']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.3'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.5.3')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Allergy and Intolerance Concern, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.3'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.3'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.5.3')->size()<2 In Allergy and Intolerance Concern, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.3'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.3'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Allergy and Intolerance Concern, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.3'], the element(s) hl7:id SHALL not have nullFlavor (mandatory) OCL self.id->forAll(nullFlavor.oclIsUndefined()) In Allergy and Intolerance Concern, /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.3'] SHALL contain at least ONE hl7:id OCL (not self.nullFlavor.oclIsUndefined()) or self.id->size()>0 In Allergy and Intolerance Concern, the code of /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.3']/hl7:statusCode SHALL be from the valueSet 2.16.840.1.113883.1.11.159331 OCL self.statusCode->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and matchesCodeToValueSet('2.16.840.1.113883.1.11.159331', code))) In Allergy and Intolerance Concern, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.3']/hl7:entryRelationship, the attribute typeCode SHALL have the value 'SUBJ' if present OCL self.entryRelationship->forAll(typeCode.oclIsUndefined() or typeCode=XActRelationshipEntryRelationship::SUBJ) In Allergy and Intolerance Concern, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.3']/hl7:entryRelationship, the attribute inversionInd SHALL be present OCL self.entryRelationship->forAll((not nullFlavor.oclIsUndefined()) or (not inversionInd.oclIsUndefined())) In Allergy and Intolerance Concern, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.3']/hl7:entryRelationship, the attribute inversionInd SHALL have the value 'false' if present OCL self.entryRelationship->forAll(inversionInd.oclIsUndefined() or inversionInd=false) In Allergy and Intolerance Concern, in /hl7:act[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5.3']/hl7:entryRelationship/hl7:observation/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.6'], the attribute root SHALL be present OCL self.entryRelationship.observation.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.6')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Section Coded Vital Signs, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2'], the attribute classCode SHALL have the value 'DOCSECT' if present OCL self.classCode.oclIsUndefined() or self.classCode=ActClass::DOCSECT In Section Coded Vital Signs, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Section Coded Vital Signs, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2'], the element(s) hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2'] SHALL not have nullFlavor (mandatory) OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2')->forAll(nullFlavor.oclIsUndefined()) In Section Coded Vital Signs, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2')->size()<2 In Section Coded Vital Signs, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Section Coded Vital Signs, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.25'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.25')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Section Coded Vital Signs, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2'], the element(s) hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.25'] SHALL not have nullFlavor (mandatory) OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.25')->forAll(nullFlavor.oclIsUndefined()) In Section Coded Vital Signs, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.25'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.25')->size()<2 In Section Coded Vital Signs, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.25'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Section Coded Vital Signs, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2'] SHALL contain at least ONE hl7:id OCL (not self.nullFlavor.oclIsUndefined()) or self.id->size()>0 In Section Coded Vital Signs, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2']/hl7:code, the attribute code SHALL be present OCL self.code->forAll((not nullFlavor.oclIsUndefined()) or (not code.oclIsUndefined())) In Section Coded Vital Signs, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2']/hl7:code, the attribute code SHALL have the value '8716-3' if present OCL self.code->forAll(code.oclIsUndefined() or code='8716-3') In Section Coded Vital Signs, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2']/hl7:code, the attribute codeSystem SHALL have the value '2.16.840.1.113883.6.1' if present OCL self.code->forAll(codeSystem.oclIsUndefined() or codeSystem='2.16.840.1.113883.6.1') In Section Coded Vital Signs, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2'], the element(s) hl7:code SHALL not have nullFlavor (mandatory) OCL self.code->forAll(nullFlavor.oclIsUndefined()) In Section Coded Vital Signs, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2'] SHALL contain at least ONE hl7:code OCL (not self.nullFlavor.oclIsUndefined()) or self.code->size()>0 In Section Coded Vital Signs, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2'], the element(s) hl7:title SHALL not have nullFlavor (mandatory) OCL self.title->forAll(nullFlavor.oclIsUndefined()) In Section Coded Vital Signs, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2'] SHALL contain at least ONE hl7:title OCL (not self.nullFlavor.oclIsUndefined()) or self.title->size()>0 In Section Coded Vital Signs, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2'], the element(s) hl7:text SHALL not have nullFlavor (mandatory) OCL self.text->forAll(nullFlavor.oclIsUndefined()) In Section Coded Vital Signs, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2'] SHALL contain at least ONE hl7:text OCL (not self.nullFlavor.oclIsUndefined()) or self.text->size()>0 In Section Coded Vital Signs, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2']/hl7:entry/hl7:organizer/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.1'], the attribute root SHALL be present OCL self.entry.organizer.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.13.1')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Section Coded Vital Signs, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2'] SHALL contain at most ONE hl7:entry OCL self.entry->size()<2 In Medical Devices, in /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.5'], the attribute classCode SHALL have the value 'SPLY' if present OCL self.classCode.oclIsUndefined() or self.classCode=ActClassSupply::SPLY In Medical Devices, in /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.5'], the attribute moodCode SHALL have the value 'EVN' if present OCL self.moodCode.oclIsUndefined() or self.moodCode=XDocumentSubstanceMood::EVN In Medical Devices, in /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.5']/hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.5'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.3.5')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Medical Devices, /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.5'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.5'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.12559.11.10.1.3.1.3.5')->size()<2 In Medical Devices, /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.5'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.5'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Medical Devices, the code of /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.5']/hl7:code SHALL have codeSystem='2.16.840.1.113883.5.4' OCL self.code->forAll( (not nullFlavor.oclIsUndefined()) or ((not codeSystem.oclIsUndefined()) and codeSystem='2.16.840.1.113883.5.4')) In Medical Devices, /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.5'] SHALL contain at most ONE hl7:effectiveTime OCL self.effectiveTime->size()<2 In Medical Devices, /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.5'] SHALL contain at least ONE hl7:effectiveTime OCL (not self.nullFlavor.oclIsUndefined()) or self.effectiveTime->size()>0 In Medical Devices, in /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.5']/hl7:participant, the attribute typeCode SHALL have the value 'DEV' if present OCL self.participant->forAll(typeCode.oclIsUndefined() or typeCode=ParticipationType::DEV) In Medical Devices, in /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.5']/hl7:participant/hl7:participantRole, the attribute classCode SHALL be present OCL self.participant.participantRole->forAll((not nullFlavor.oclIsUndefined()) or (not classCode.oclIsUndefined())) In Medical Devices, in /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.5']/hl7:participant/hl7:participantRole, the attribute classCode SHALL have the value 'MANU' if present OCL self.participant.participantRole->forAll(classCode.oclIsUndefined() or classCode=RoleClassRoot::MANU) In Medical Devices, in /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.5']/hl7:participant/hl7:participantRole/hl7:playingDevice, the attribute classCode SHALL be present OCL self.participant.participantRole.playingDevice->forAll((not nullFlavor.oclIsUndefined()) or (not classCode.oclIsUndefined())) In Medical Devices, in /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.5']/hl7:participant/hl7:participantRole/hl7:playingDevice, the attribute classCode SHALL have the value 'DEV' if present OCL self.participant.participantRole.playingDevice->forAll(classCode.oclIsUndefined() or classCode=EntityClassDevice::DEV) In Medical Devices, in /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.5']/hl7:participant/hl7:participantRole/hl7:playingDevice, the attribute determinerCode SHALL be present OCL self.participant.participantRole.playingDevice->forAll((not nullFlavor.oclIsUndefined()) or (not determinerCode.oclIsUndefined())) In Medical Devices, in /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.5']/hl7:participant/hl7:participantRole/hl7:playingDevice, the attribute determinerCode SHALL have the value 'INSTANCE' if present OCL self.participant.participantRole.playingDevice->forAll(determinerCode.oclIsUndefined() or determinerCode=EntityDeterminer::INSTANCE) In Medical Devices, /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.5']/hl7:participant/hl7:participantRole/hl7:playingDevice SHALL contain at least ONE hl7:code OCL self.participant.participantRole.playingDevice->forAll(not code.oclIsUndefined()) In Medical Devices, the code of /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.5']/hl7:participant/hl7:participantRole/hl7:playingDevice/hl7:code SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.8 OCL self.participant.participantRole.playingDevice.code->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.8', code, codeSystem, null, null))) In Medical Devices, /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.5']/hl7:participant/hl7:participantRole SHALL contain at least ONE hl7:playingDevice OCL self.participant.participantRole->forAll(not playingDevice.oclIsUndefined()) In Medical Devices, /hl7:supply[hl7:templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.5'] SHALL contain at least ONE hl7:participant OCL (not self.nullFlavor.oclIsUndefined()) or self.participant->size()>0 In Section Coded List of Surgeries, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.12'], the attribute classCode SHALL have the value 'DOCSECT' if present OCL self.classCode.oclIsUndefined() or self.classCode=ActClass::DOCSECT In Section Coded List of Surgeries, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.12']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.12'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.12')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Section Coded List of Surgeries, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.12'], the element(s) hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.12'] SHALL not have nullFlavor (mandatory) OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.12')->forAll(nullFlavor.oclIsUndefined()) In Section Coded List of Surgeries, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.12'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.12'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.12')->size()<2 In Section Coded List of Surgeries, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.12'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.12'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Section Coded List of Surgeries, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.12']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.11'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.11')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Section Coded List of Surgeries, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.12'], the element(s) hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.11'] SHALL not have nullFlavor (mandatory) OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.11')->forAll(nullFlavor.oclIsUndefined()) In Section Coded List of Surgeries, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.12'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.11'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.3.11')->size()<2 In Section Coded List of Surgeries, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.12'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.3.11'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Section Coded List of Surgeries, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.12'] SHALL contain at least ONE hl7:id OCL (not self.nullFlavor.oclIsUndefined()) or self.id->size()>0 In Section Coded List of Surgeries, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.12']/hl7:code, the attribute code SHALL be present OCL self.code->forAll((not nullFlavor.oclIsUndefined()) or (not code.oclIsUndefined())) In Section Coded List of Surgeries, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.12']/hl7:code, the attribute code SHALL have the value '47519-4' if present OCL self.code->forAll(code.oclIsUndefined() or code='47519-4') In Section Coded List of Surgeries, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.12']/hl7:code, the attribute codeSystem SHALL have the value '2.16.840.1.113883.6.1' if present OCL self.code->forAll(codeSystem.oclIsUndefined() or codeSystem='2.16.840.1.113883.6.1') In Section Coded List of Surgeries, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.12'], the element(s) hl7:code SHALL not have nullFlavor (mandatory) OCL self.code->forAll(nullFlavor.oclIsUndefined()) In Section Coded List of Surgeries, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.12'] SHALL contain at least ONE hl7:code OCL (not self.nullFlavor.oclIsUndefined()) or self.code->size()>0 In Section Coded List of Surgeries, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.12'], the element(s) hl7:title SHALL not have nullFlavor (mandatory) OCL self.title->forAll(nullFlavor.oclIsUndefined()) In Section Coded List of Surgeries, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.12'] SHALL contain at least ONE hl7:title OCL (not self.nullFlavor.oclIsUndefined()) or self.title->size()>0 In Section Coded List of Surgeries, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.12'], the element(s) hl7:text SHALL not have nullFlavor (mandatory) OCL self.text->forAll(nullFlavor.oclIsUndefined()) In Section Coded List of Surgeries, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.12'] SHALL contain at least ONE hl7:text OCL (not self.nullFlavor.oclIsUndefined()) or self.text->size()>0 In Section Coded List of Surgeries, in /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.12']/hl7:entry/hl7:procedure/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.19'], the attribute root SHALL be present OCL self.entry.procedure.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.19')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Section Coded List of Surgeries, /hl7:section[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.3.12'] SHALL contain at least ONE hl7:entry OCL (not self.nullFlavor.oclIsUndefined()) or self.entry->size()>0 In Entry Health Status Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.2'], the attribute classCode SHALL have the value 'OBS' if present OCL self.classCode.oclIsUndefined() or self.classCode=ActClassObservation::OBS In Entry Health Status Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.2'], the attribute moodCode SHALL have the value 'EVN' if present OCL self.moodCode.oclIsUndefined() or self.moodCode=XActMoodDocumentObservation::EVN In Entry Health Status Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.2']/hl7:templateId[@root='2.16.840.1.113883.10.20.1.51'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.51')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Entry Health Status Observation, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.2'] SHALL contain at most ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.51'] OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.51')->size()<2 In Entry Health Status Observation, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.2'] SHALL contain at least ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.51'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Entry Health Status Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.2']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.2'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.1.2')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Entry Health Status Observation, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.2'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.2'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.1.2')->size()<2 In Entry Health Status Observation, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.2'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.2'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Entry Health Status Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.2']/hl7:code, the attribute code SHALL be present OCL self.code->forAll((not nullFlavor.oclIsUndefined()) or (not code.oclIsUndefined())) In Entry Health Status Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.2']/hl7:code, the attribute code SHALL have the value '11323-3' if present OCL self.code->forAll(code.oclIsUndefined() or code='11323-3') In Entry Health Status Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.2']/hl7:code, the attribute codeSystem SHALL have the value '2.16.840.1.113883.6.1' if present OCL self.code->forAll(codeSystem.oclIsUndefined() or codeSystem='2.16.840.1.113883.6.1') In Entry Health Status Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.2'], the element(s) hl7:text SHALL not have nullFlavor (mandatory) OCL self.text->forAll(nullFlavor.oclIsUndefined()) In Entry Health Status Observation, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.2'] SHALL contain at least ONE hl7:text OCL (not self.nullFlavor.oclIsUndefined()) or self.text->size()>0 In Entry Health Status Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.2']/hl7:statusCode, the attribute code SHALL be present OCL self.statusCode->forAll((not nullFlavor.oclIsUndefined()) or (not code.oclIsUndefined())) In Entry Health Status Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.2']/hl7:statusCode, the attribute code SHALL have the value 'completed' if present OCL self.statusCode->forAll(code.oclIsUndefined() or code='completed') In Entry Health Status Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.2']/hl7:statusCode, the attribute codeSystem SHALL have the value '2.16.840.1.113883.5.14' if present OCL self.statusCode->forAll(codeSystem.oclIsUndefined() or codeSystem='2.16.840.1.113883.5.14') In Entry Health Status Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.2'], the element(s) hl7:value SHALL be from the datatype CD OCL self.value->forAll(oclIsKindOf(CD)) In Entry Health Status Observation, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.2'] SHALL contain at most ONE hl7:value OCL self.value->size()<2 In Entry Health Status Observation, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.2'] SHALL contain at least ONE hl7:value OCL (not self.nullFlavor.oclIsUndefined()) or self.value->size()>0 In Entry Health Status Observation, the code of /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.1.2']/hl7:value SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.30 OCL self.value->forAll( (not nullFlavor.oclIsUndefined()) or ((not oclAsType(CD).code.oclIsUndefined()) and (not oclAsType(CD).codeSystem.oclIsUndefined()) and matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.30', oclAsType(CD).code, oclAsType(CD).codeSystem, null, null))) In Vital Signs Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.2']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.13'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.13')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Vital Signs Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.2'], the element(s) hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.13'] SHALL not have nullFlavor (mandatory) OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.13')->forAll(nullFlavor.oclIsUndefined()) In Vital Signs Observation, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.2'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.13'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.13')->size()<2 In Vital Signs Observation, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.2'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.13'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Vital Signs Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.2']/hl7:templateId[@root='2.16.840.1.113883.10.20.1.31'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.31')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Vital Signs Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.2'], the element(s) hl7:templateId[@root='2.16.840.1.113883.10.20.1.31'] SHALL not have nullFlavor (mandatory) OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.31')->forAll(nullFlavor.oclIsUndefined()) In Vital Signs Observation, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.2'] SHALL contain at most ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.31'] OCL self.templateId->select((not root.oclIsUndefined()) and root='2.16.840.1.113883.10.20.1.31')->size()<2 In Vital Signs Observation, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.2'] SHALL contain at least ONE hl7:templateId[@root='2.16.840.1.113883.10.20.1.31'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Vital Signs Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.2']/hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.2'], the attribute root SHALL be present OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.13.2')->forAll((not nullFlavor.oclIsUndefined()) or (not root.oclIsUndefined())) In Vital Signs Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.2'], the element(s) hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.2'] SHALL not have nullFlavor (mandatory) OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.13.2')->forAll(nullFlavor.oclIsUndefined()) In Vital Signs Observation, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.2'] SHALL contain at most ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.2'] OCL self.templateId->select((not root.oclIsUndefined()) and root='1.3.6.1.4.1.19376.1.5.3.1.4.13.2')->size()<2 In Vital Signs Observation, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.2'] SHALL contain at least ONE hl7:templateId[@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.2'] OCL (not self.nullFlavor.oclIsUndefined()) or self.templateId->size()>0 In Vital Signs Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.2'], the element(s) hl7:code SHALL not have nullFlavor (mandatory) OCL self.code->forAll(nullFlavor.oclIsUndefined()) In Vital Signs Observation, the code of /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.2']/hl7:code SHALL be from the valueSet 1.3.6.1.4.1.12559.11.10.1.3.1.42.21 OCL self.code->forAll( (not nullFlavor.oclIsUndefined()) or ((not code.oclIsUndefined()) and (not codeSystem.oclIsUndefined()) and matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.21', code, codeSystem, null, null))) In Vital Signs Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.2']/hl7:text/hl7:reference, the attribute value SHALL be present OCL self.text.reference->forAll((not nullFlavor.oclIsUndefined()) or (not value.oclIsUndefined())) In Vital Signs Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.2']/hl7:text, the element(s) hl7:reference SHALL not have nullFlavor (mandatory) OCL self.text.reference->forAll(nullFlavor.oclIsUndefined()) In Vital Signs Observation, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.2']/hl7:text SHALL contain at least ONE hl7:reference OCL self.text->forAll(not reference.oclIsUndefined()) In Vital Signs Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.2']/hl7:statusCode, the attribute code SHALL be present OCL self.statusCode->forAll((not nullFlavor.oclIsUndefined()) or (not code.oclIsUndefined())) In Vital Signs Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.2']/hl7:statusCode, the attribute code SHALL have the value 'completed' if present OCL self.statusCode->forAll(code.oclIsUndefined() or code='completed') In Vital Signs Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.2'], the element(s) hl7:statusCode SHALL not have nullFlavor (mandatory) OCL self.statusCode->forAll(nullFlavor.oclIsUndefined()) In Vital Signs Observation, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.2'] SHALL contain at least ONE hl7:statusCode OCL (not self.nullFlavor.oclIsUndefined()) or self.statusCode->size()>0 In Vital Signs Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.2'], the element(s) hl7:value SHALL be from the datatype PQ OCL self.value->forAll(oclIsKindOf(PQ)) In Vital Signs Observation, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.2'] SHALL contain at most ONE hl7:value OCL self.value->size()<2 In Vital Signs Observation, /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.2'] SHALL contain at least ONE hl7:value OCL (not self.nullFlavor.oclIsUndefined()) or self.value->size()>0 In Vital Signs Observation, in /hl7:observation[hl7:templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.2']/hl7:value, the unit attribute shall have the value mm[Hg] OCL self.value->select(oclIsKindOf(PQ)).oclAsType(PQ)->reject(not nullFlavor.oclIsUndefined())->forAll(((not unit.oclIsUndefined()) and unit='mm[Hg]')) The CDA ClinicalDocument SHALL have a templateId from this list of ID : { 1.3.6.1.4.1.12559.11.10.1.3.1.1.2, 1.3.6.1.4.1.12559.11.10.1.3.1.1.5, 1.3.6.1.4.1.12559.11.10.1.3.1.1.1, 1.3.6.1.4.1.12559.11.10.1.3.1.1.4, 1.3.6.1.4.1.12559.11.10.1.3.1.1.3 } OCL self.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ((ii.root='1.3.6.1.4.1.12559.11.10.1.3.1.1.2') or (ii.root='1.3.6.1.4.1.12559.11.10.1.3.1.1.5') or (ii.root='1.3.6.1.4.1.12559.11.10.1.3.1.1.1') or (ii.root='1.3.6.1.4.1.12559.11.10.1.3.1.1.4') or (ii.root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3')))