cda DocumentRoot DocumentRoot mixed 0 -1 EcorePrimitiveTypes-EFeatureMapEntry ElementWildcard mixed xMLNSPrefixMap 0 -1 XMLPrimitiveTypes-String Attribute xmlns:prefix xSISchemaLocation 0 -1 XMLPrimitiveTypes-String Attribute xsi:schemaLocation clinicalDocument 0 1 cda-POCDMT000040ClinicalDocument Element ClinicalDocument urn:hl7-org:v3 POCDMT000040InfrastructureRootTypeId POCD_MT000040.InfrastructureRoot.typeId datatypes-II constraint_root root fixed to 2.16.840.1.113883.1.3 (not self.root.oclIsUndefined()) and self.root='2.16.840.1.113883.1.3' ERROR constraint_extension extension required not self.extension.oclIsUndefined() ERROR POCDMT000040RecordTarget POCD_MT000040.RecordTarget constraint_typeCode typeCode fixed to RCT self.typeCode.oclIsUndefined() or self.typeCode=ParticipationType::RCT ERROR constraint_contextControlCode contextControlCode fixed to OP self.contextControlCode.oclIsUndefined() or self.contextControlCode=NullFlavor::OP ERROR constraint_patientRole patientRole required not self.patientRole.oclIsUndefined() ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 patientRole 1 1 cda-POCDMT000040PatientRole Element patientRole urn:hl7-org:v3 contextControlCode 0 1 voc-NullFlavor Attribute contextControlCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor typeCode 0 1 voc-ParticipationType Attribute typeCode POCDMT000040PatientRole POCD_MT000040.PatientRole constraint_classCode classCode fixed to PAT self.classCode.oclIsUndefined() or self.classCode=RoleClass::PAT ERROR constraint_id id required self.id->size()>0 ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 id 1 -1 datatypes-II Element id urn:hl7-org:v3 addr 0 -1 datatypes-AD Element addr urn:hl7-org:v3 telecom 0 -1 datatypes-TEL Element telecom urn:hl7-org:v3 patient 0 1 cda-POCDMT000040Patient Element patient urn:hl7-org:v3 providerOrganization 0 1 cda-POCDMT000040Organization Element providerOrganization urn:hl7-org:v3 classCode 0 1 voc-RoleClass Attribute classCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040Patient POCD_MT000040.Patient constraint_classCode classCode fixed to PSN self.classCode.oclIsUndefined() or self.classCode=EntityClass::PSN ERROR constraint_determinerCode determinerCode fixed to INSTANCE self.determinerCode.oclIsUndefined() or self.determinerCode=EntityDeterminer::INSTANCE ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 id 0 1 datatypes-II Element id urn:hl7-org:v3 name 0 -1 datatypes-PN Element name urn:hl7-org:v3 administrativeGenderCode 0 1 datatypes-CE Element administrativeGenderCode urn:hl7-org:v3 birthTime 0 1 datatypes-TS Element birthTime urn:hl7-org:v3 maritalStatusCode 0 1 datatypes-CE Element maritalStatusCode urn:hl7-org:v3 religiousAffiliationCode 0 1 datatypes-CE Element religiousAffiliationCode urn:hl7-org:v3 raceCode 0 1 datatypes-CE Element raceCode urn:hl7-org:v3 ethnicGroupCode 0 1 datatypes-CE Element ethnicGroupCode urn:hl7-org:v3 guardian 0 -1 cda-POCDMT000040Guardian Element guardian urn:hl7-org:v3 birthplace 0 1 cda-POCDMT000040Birthplace Element birthplace urn:hl7-org:v3 languageCommunication 0 -1 cda-POCDMT000040LanguageCommunication Element languageCommunication urn:hl7-org:v3 classCode 0 1 voc-EntityClass Attribute classCode determinerCode 0 1 voc-EntityDeterminer Attribute determinerCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040Guardian POCD_MT000040.Guardian constraint_choice guardianPerson or guardianOrganization attribute must be present Bag{self.guardianPerson.oclIsUndefined(),self.guardianOrganization.oclIsUndefined()}->one(bl : Boolean| bl = false) ERROR constraint_classCode classCode is fixed to GUARD value self.classCode.oclIsUndefined() or self.classCode=RoleClass::GUARD ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 id 0 -1 datatypes-II Element id urn:hl7-org:v3 code 0 1 datatypes-CE Element code urn:hl7-org:v3 addr 0 -1 datatypes-AD Element addr urn:hl7-org:v3 telecom 0 -1 datatypes-TEL Element telecom urn:hl7-org:v3 guardianPerson 0 1 cda-POCDMT000040Person Element guardianPerson urn:hl7-org:v3 guardianOrganization 0 1 cda-POCDMT000040Organization Element guardianOrganization urn:hl7-org:v3 classCode 0 1 voc-RoleClass Attribute classCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040Person POCD_MT000040.Person constraint_classCode classCode fixed to PSN self.classCode.oclIsUndefined() or self.classCode=EntityClass::PSN ERROR constraint_determinerCode determinerCode fixed to INSTANCE self.determinerCode.oclIsUndefined() or self.determinerCode=EntityDeterminer::INSTANCE ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 name 0 -1 datatypes-PN Element name urn:hl7-org:v3 classCode 0 1 voc-EntityClass Attribute classCode determinerCode 0 1 voc-EntityDeterminer Attribute determinerCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040Organization POCD_MT000040.Organization constraint_classCode classCode fixed to ORG self.classCode.oclIsUndefined() or self.classCode=EntityClassOrganization::ORG ERROR constraint_determinerCode determinerCode fixed to INSTANCE self.determinerCode.oclIsUndefined() or self.determinerCode=EntityDeterminer::INSTANCE ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 id 0 -1 datatypes-II Element id urn:hl7-org:v3 name 0 -1 datatypes-ON Element name urn:hl7-org:v3 telecom 0 -1 datatypes-TEL Element telecom urn:hl7-org:v3 addr 0 -1 datatypes-AD Element addr urn:hl7-org:v3 standardIndustryClassCode 0 1 datatypes-CE Element standardIndustryClassCode urn:hl7-org:v3 asOrganizationPartOf 0 1 cda-POCDMT000040OrganizationPartOf Element asOrganizationPartOf urn:hl7-org:v3 classCode 0 1 voc-EntityClassOrganization Attribute classCode determinerCode 0 1 voc-EntityDeterminer Attribute determinerCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040OrganizationPartOf POCD_MT000040.OrganizationPartOf constraint_classCode classCode fixed to PART self.classCode.oclIsUndefined() or self.classCode=RoleClass::PART ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 id 0 -1 datatypes-II Element id urn:hl7-org:v3 code 0 1 datatypes-CE Element code urn:hl7-org:v3 statusCode 0 1 datatypes-CS Element statusCode urn:hl7-org:v3 effectiveTime 0 1 datatypes-IVLTS Element effectiveTime urn:hl7-org:v3 wholeOrganization 0 1 cda-POCDMT000040Organization Element wholeOrganization urn:hl7-org:v3 classCode 0 1 voc-RoleClass Attribute classCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040Birthplace POCD_MT000040.Birthplace constraint_classCode classCode is fixed to BIRTHPL value self.classCode.oclIsUndefined() or self.classCode=RoleClass::BIRTHPL ERROR constraint_place place is required not self.place.oclIsUndefined() ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 place 1 1 cda-POCDMT000040Place Element place urn:hl7-org:v3 classCode 0 1 voc-RoleClass Attribute classCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040Place POCD_MT000040.Place constraint_classCode classCode fixed to PLC self.classCode.oclIsUndefined() or self.classCode=EntityClassPlace::PLC ERROR constraint_determinerCode determinerCode fixed to INSTANCE self.determinerCode.oclIsUndefined() or self.determinerCode=EntityDeterminer::INSTANCE ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 name 0 1 datatypes-EN Element name urn:hl7-org:v3 addr 0 1 datatypes-AD Element addr urn:hl7-org:v3 classCode 0 1 voc-EntityClassPlace Attribute classCode determinerCode 0 1 voc-EntityDeterminer Attribute determinerCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040LanguageCommunication POCD_MT000040.LanguageCommunication realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 languageCode 0 1 datatypes-CS Element languageCode urn:hl7-org:v3 modeCode 0 1 datatypes-CE Element modeCode urn:hl7-org:v3 proficiencyLevelCode 0 1 datatypes-CE Element proficiencyLevelCode urn:hl7-org:v3 preferenceInd 0 1 datatypes-BL Element preferenceInd urn:hl7-org:v3 nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040Author POCD_MT000040.Author constraint_typeCode typeCode is fixed to AUT self.typeCode.oclIsUndefined() or self.typeCode=ParticipationType::AUT ERROR constraint_contextControlCode contextControlCode fixed to OP self.contextControlCode.oclIsUndefined() or self.contextControlCode=NullFlavor::OP ERROR constraint_time time is required not self.time.oclIsUndefined() ERROR constraint_assignedAuthor assignedAuthor is required not self.assignedAuthor.oclIsUndefined() ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 functionCode 0 1 datatypes-CE Element functionCode urn:hl7-org:v3 time 1 1 datatypes-TS Element time urn:hl7-org:v3 assignedAuthor 1 1 cda-POCDMT000040AssignedAuthor Element assignedAuthor urn:hl7-org:v3 contextControlCode 0 1 voc-NullFlavor Attribute contextControlCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor typeCode 0 1 voc-ParticipationType Attribute typeCode POCDMT000040AssignedAuthor POCD_MT000040.AssignedAuthor constraint_classCode classCode fixed to ASSIGNED value self.classCode.oclIsUndefined() or self.classCode=RoleClassAssignedEntity::ASSIGNED ERROR constraint_id id must be present not self.id->isEmpty() ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 id 1 -1 datatypes-II Element id urn:hl7-org:v3 code 0 1 datatypes-CE Element code urn:hl7-org:v3 addr 0 -1 datatypes-AD Element addr urn:hl7-org:v3 telecom 0 -1 datatypes-TEL Element telecom urn:hl7-org:v3 assignedPerson 0 1 cda-POCDMT000040Person Element assignedPerson urn:hl7-org:v3 assignedAuthoringDevice 0 1 cda-POCDMT000040AuthoringDevice Element assignedAuthoringDevice urn:hl7-org:v3 representedOrganization 0 1 cda-POCDMT000040Organization Element representedOrganization urn:hl7-org:v3 classCode 0 1 voc-RoleClassAssignedEntity Attribute classCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040AuthoringDevice POCD_MT000040.AuthoringDevice constraint_classCode classCode fixed to DEV value self.classCode.oclIsUndefined() or self.classCode=EntityClassDevice::DEV ERROR constraint_determinerCode determinerCode fixed to INSTANCE value self.determinerCode.oclIsUndefined() or self.determinerCode=EntityDeterminer::INSTANCE ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 code 0 1 datatypes-CE Element code urn:hl7-org:v3 manufacturerModelName 0 1 datatypes-SC Element manufacturerModelName urn:hl7-org:v3 softwareName 0 1 datatypes-SC Element softwareName urn:hl7-org:v3 asMaintainedEntity 0 -1 cda-POCDMT000040MaintainedEntity Element asMaintainedEntity urn:hl7-org:v3 classCode 0 1 voc-EntityClassDevice Attribute classCode determinerCode 0 1 voc-EntityDeterminer Attribute determinerCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040MaintainedEntity POCD_MT000040.MaintainedEntity constraint_classCode classCode fixed to MNT self.classCode.oclIsUndefined() or self.classCode=RoleClass::MNT ERROR constraint_maintainingPerson maintainingPerson required not self.maintainingPerson.oclIsUndefined() ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 effectiveTime 0 1 datatypes-IVLTS Element effectiveTime urn:hl7-org:v3 maintainingPerson 1 1 cda-POCDMT000040Person Element maintainingPerson urn:hl7-org:v3 classCode 0 1 voc-RoleClass Attribute classCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040DataEnterer POCD_MT000040.DataEnterer constraint_typeCode typeCode fixed to ENT value self.typeCode.oclIsUndefined() or self.typeCode=ParticipationType::ENT ERROR constraint_contextControlCode contextControlCode is fixed to OP value self.contextControlCode.oclIsUndefined() or self.contextControlCode=NullFlavor::OP ERROR constraint_assignedEntity assignedEntity is required not self.assignedEntity.oclIsUndefined() ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 time 0 1 datatypes-TS Element time urn:hl7-org:v3 assignedEntity 1 1 cda-POCDMT000040AssignedEntity Element assignedEntity urn:hl7-org:v3 contextControlCode 0 1 voc-NullFlavor Attribute contextControlCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor typeCode 0 1 voc-ParticipationType Attribute typeCode POCDMT000040AssignedEntity POCD_MT000040.AssignedEntity constraint_classCode classCode is fixed to ASSIGNED self.classCode.oclIsUndefined() or self.classCode=RoleClassAssignedEntity::ASSIGNED ERROR constraint_id id shall be present not self.id->isEmpty() ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 id 1 -1 datatypes-II Element id urn:hl7-org:v3 code 0 1 datatypes-CE Element code urn:hl7-org:v3 addr 0 -1 datatypes-AD Element addr urn:hl7-org:v3 telecom 0 -1 datatypes-TEL Element telecom urn:hl7-org:v3 assignedPerson 0 1 cda-POCDMT000040Person Element assignedPerson urn:hl7-org:v3 representedOrganization 0 1 cda-POCDMT000040Organization Element representedOrganization urn:hl7-org:v3 classCode 0 1 voc-RoleClassAssignedEntity Attribute classCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040Informant12 POCD_MT000040.Informant12 constraint_choice assignedEntity or relatedEntity must be present Bag{self.relatedEntity.oclIsUndefined(),self.assignedEntity.oclIsUndefined()}->one(bl : Boolean | bl = false) ERROR constraint_typeCode typeCode is fixed to INF value self.typeCode.oclIsUndefined() or self.typeCode=ParticipationType::INF ERROR constraint_contextControlCode contextControlCode is fixed to OP value self.contextControlCode.oclIsUndefined() or self.contextControlCode=NullFlavor::OP ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 assignedEntity 0 1 cda-POCDMT000040AssignedEntity Element assignedEntity urn:hl7-org:v3 relatedEntity 0 1 cda-POCDMT000040RelatedEntity Element relatedEntity urn:hl7-org:v3 contextControlCode 0 1 voc-NullFlavor Attribute contextControlCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor typeCode 0 1 voc-ParticipationType Attribute typeCode POCDMT000040RelatedEntity POCD_MT000040.RelatedEntity realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 code 0 1 datatypes-CE Element code urn:hl7-org:v3 addr 0 -1 datatypes-AD Element addr urn:hl7-org:v3 telecom 0 -1 datatypes-TEL Element telecom urn:hl7-org:v3 effectiveTime 0 1 datatypes-IVLTS Element effectiveTime urn:hl7-org:v3 relatedPerson 0 1 cda-POCDMT000040Person Element relatedPerson urn:hl7-org:v3 classCode 1 1 voc-RoleClassMutualRelationship Attribute classCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040Custodian POCD_MT000040.Custodian constraint_typeCode typeCode fixed to CST self.typeCode.oclIsUndefined() or self.typeCode=ParticipationType::CST ERROR constraint_assignedCustodian assignedCustodian required not self.assignedCustodian.oclIsUndefined() ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 assignedCustodian 1 1 cda-POCDMT000040AssignedCustodian Element assignedCustodian urn:hl7-org:v3 nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor typeCode 0 1 voc-ParticipationType Attribute typeCode POCDMT000040AssignedCustodian POCD_MT000040.AssignedCustodian constraint_classCode classCode is fixed to ASSIGNED self.classCode.oclIsUndefined() or self.classCode=RoleClassAssignedEntity::ASSIGNED ERROR constraint_representedCustodianOrganization representedCustodianOrganization required not self.representedCustodianOrganization.oclIsUndefined() ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 representedCustodianOrganization 1 1 cda-POCDMT000040CustodianOrganization Element representedCustodianOrganization urn:hl7-org:v3 classCode 0 1 voc-RoleClassAssignedEntity Attribute classCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040CustodianOrganization POCD_MT000040.CustodianOrganization constraint_classCode classCode fixed to ORG value self.classCode.oclIsUndefined() or self.classCode=EntityClassOrganization::ORG ERROR constraint_determinerCode determinerCode fixed to INSTANCE value self.determinerCode.oclIsUndefined() or self.determinerCode=EntityDeterminer::INSTANCE ERROR constraint_id id required self.id->size()>0 ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 id 1 -1 datatypes-II Element id urn:hl7-org:v3 name 0 1 datatypes-ON Element name urn:hl7-org:v3 telecom 0 1 datatypes-TEL Element telecom urn:hl7-org:v3 addr 0 1 datatypes-AD Element addr urn:hl7-org:v3 classCode 0 1 voc-EntityClassOrganization Attribute classCode determinerCode 0 1 voc-EntityDeterminer Attribute determinerCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040InformationRecipient POCD_MT000040.InformationRecipient constraint_intendedRecipient intendedRecipient required not self.intendedRecipient.oclIsUndefined() ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 intendedRecipient 1 1 cda-POCDMT000040IntendedRecipient Element intendedRecipient urn:hl7-org:v3 nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor typeCode 0 1 voc-XInformationRecipient Attribute typeCode POCDMT000040IntendedRecipient POCD_MT000040.IntendedRecipient realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 id 0 -1 datatypes-II Element id urn:hl7-org:v3 addr 0 -1 datatypes-AD Element addr urn:hl7-org:v3 telecom 0 -1 datatypes-TEL Element telecom urn:hl7-org:v3 informationRecipient 0 1 cda-POCDMT000040Person Element informationRecipient urn:hl7-org:v3 receivedOrganization 0 1 cda-POCDMT000040Organization Element receivedOrganization urn:hl7-org:v3 classCode 0 1 voc-XInformationRecipientRole Attribute classCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040LegalAuthenticator POCD_MT000040.LegalAuthenticator constraint_typeCode typeCode is fixed to LA self.typeCode.oclIsUndefined() or self.typeCode=ParticipationType::LA ERROR constraint_contextControlCode contextControlCode is fxed to OP value self.contextControlCode.oclIsUndefined() or self.contextControlCode=NullFlavor::OP ERROR constraint_time time required not self.time.oclIsUndefined() ERROR constraint_signatureCode signatureCode required not self.signatureCode.oclIsUndefined() ERROR constraint_assignedEntity assignedEntity required not self.assignedEntity.oclIsUndefined() ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 time 1 1 datatypes-TS Element time urn:hl7-org:v3 signatureCode 1 1 datatypes-CS Element signatureCode urn:hl7-org:v3 assignedEntity 1 1 cda-POCDMT000040AssignedEntity Element assignedEntity urn:hl7-org:v3 contextControlCode 0 1 voc-NullFlavor Attribute contextControlCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor typeCode 0 1 voc-ParticipationType Attribute typeCode POCDMT000040Authenticator POCD_MT000040.Authenticator constraint_typeCode typeCode is fixed to AUTHEN value self.typeCode.oclIsUndefined() or self.typeCode=ParticipationType::AUTHEN ERROR constraint_time time is required not self.time.oclIsUndefined() ERROR constraint_signatureCode signatureCode required not self.signatureCode.oclIsUndefined() ERROR constraint_assignedEntity assignedEntity required not self.assignedEntity.oclIsUndefined() ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 time 1 1 datatypes-TS Element time urn:hl7-org:v3 signatureCode 1 1 datatypes-CS Element signatureCode urn:hl7-org:v3 assignedEntity 1 1 cda-POCDMT000040AssignedEntity Element assignedEntity urn:hl7-org:v3 nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor typeCode 0 1 voc-ParticipationType Attribute typeCode POCDMT000040Participant1 POCD_MT000040.Participant1 constraint_contextControlCode contextControlCode fixed to OP self.contextControlCode.oclIsUndefined() or self.contextControlCode=NullFlavor::OP ERROR constraint_associatedEntity associatedEntity required not self.associatedEntity.oclIsUndefined() ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 functionCode 0 1 datatypes-CE Element functionCode urn:hl7-org:v3 time 0 1 datatypes-IVLTS Element time urn:hl7-org:v3 associatedEntity 1 1 cda-POCDMT000040AssociatedEntity Element associatedEntity urn:hl7-org:v3 contextControlCode 0 1 voc-NullFlavor Attribute contextControlCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor typeCode 1 1 voc-ParticipationType Attribute typeCode POCDMT000040AssociatedEntity POCD_MT000040.AssociatedEntity realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 id 0 -1 datatypes-II Element id urn:hl7-org:v3 code 0 1 datatypes-CE Element code urn:hl7-org:v3 addr 0 -1 datatypes-AD Element addr urn:hl7-org:v3 telecom 0 -1 datatypes-TEL Element telecom urn:hl7-org:v3 associatedPerson 0 1 cda-POCDMT000040Person Element associatedPerson urn:hl7-org:v3 scopingOrganization 0 1 cda-POCDMT000040Organization Element scopingOrganization urn:hl7-org:v3 classCode 1 1 voc-RoleClassAssociative Attribute classCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040InFulfillmentOf POCD_MT000040.InFulfillmentOf constraint_typeCode typeCode is fixed to FLFS self.typeCode.oclIsUndefined() or self.typeCode=ActRelationshipFulfills::FLFS ERROR constraint_order order required not self.order.oclIsUndefined() ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 order 1 1 cda-POCDMT000040Order Element order urn:hl7-org:v3 nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor typeCode 0 1 voc-ActRelationshipFulfills Attribute typeCode POCDMT000040Order POCD_MT000040.Order constraint_moodCode moodCode fixed to RQO self.moodCode.oclIsUndefined() or self.moodCode=ActMood::RQO ERROR constraint_id id required not self.id->isEmpty() ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 id 1 -1 datatypes-II Element id urn:hl7-org:v3 code 0 1 datatypes-CE Element code urn:hl7-org:v3 priorityCode 0 1 datatypes-CE Element priorityCode urn:hl7-org:v3 classCode 0 1 voc-ActClassRoot Attribute classCode moodCode 0 1 voc-ActMood Attribute moodCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040DocumentationOf POCD_MT000040.DocumentationOf constraint_typeCode typeCode is fixed to DOC value self.typeCode.oclIsUndefined() or self.typeCode=ActRelationshipType::DOC ERROR constraint_serviceEvent serviceEvent required not self.serviceEvent.oclIsUndefined() ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 serviceEvent 1 1 cda-POCDMT000040ServiceEvent Element serviceEvent urn:hl7-org:v3 nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor typeCode 0 1 voc-ActRelationshipType Attribute typeCode POCDMT000040ServiceEvent POCD_MT000040.ServiceEvent constraint_moodCode moodCode fixed to EVN self.moodCode.oclIsUndefined() or self.moodCode=ActMood::EVN ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 id 0 -1 datatypes-II Element id urn:hl7-org:v3 code 0 1 datatypes-CE Element code urn:hl7-org:v3 effectiveTime 0 1 datatypes-IVLTS Element effectiveTime urn:hl7-org:v3 performer 0 -1 cda-POCDMT000040Performer1 Element performer urn:hl7-org:v3 classCode 0 1 voc-ActClassRoot Attribute classCode moodCode 0 1 voc-ActMood Attribute moodCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040Performer1 POCD_MT000040.Performer1 constraint_assignedEntity assignedEntity required not self.assignedEntity.oclIsUndefined() ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 functionCode 0 1 datatypes-CE Element functionCode urn:hl7-org:v3 time 0 1 datatypes-IVLTS Element time urn:hl7-org:v3 assignedEntity 1 1 cda-POCDMT000040AssignedEntity Element assignedEntity urn:hl7-org:v3 nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor typeCode 1 1 voc-XServiceEventPerformer Attribute typeCode POCDMT000040RelatedDocument POCD_MT000040.RelatedDocument constraint_parent parentDocument required not self.parentDocument.oclIsUndefined() ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 parentDocument 1 1 cda-POCDMT000040ParentDocument Element parentDocument urn:hl7-org:v3 nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor typeCode 1 1 voc-XActRelationshipDocument Attribute typeCode POCDMT000040ParentDocument POCD_MT000040.ParentDocument constraint_classCode classCode fixed to DOCCLIN self.classCode.oclIsUndefined() or self.classCode=ActClinicalDocument::DOCCLIN ERROR constraint_moodCode moodCode fixed to EVN self.moodCode.oclIsUndefined() or self.moodCode=ActMood::EVN ERROR constraint_id id required self.id->size()>0 ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 id 1 -1 datatypes-II Element id urn:hl7-org:v3 code 0 1 datatypes-CD Element code urn:hl7-org:v3 text 0 1 datatypes-ED Element text urn:hl7-org:v3 setId 0 1 datatypes-II Element setId urn:hl7-org:v3 versionNumber 0 1 datatypes-INT Element versionNumber urn:hl7-org:v3 classCode 0 1 voc-ActClinicalDocument Attribute classCode moodCode 0 1 voc-ActMood Attribute moodCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040ClinicalDocument POCD_MT000040.ClinicalDocument constraint_classCode classCode fixed to DOCCLIN value self.classCode.oclIsUndefined() or self.classCode=ActClinicalDocument::DOCCLIN ERROR constraint_moodCode moodCode fixed to EVN value self.moodCode.oclIsUndefined() or self.moodCode=ActMood::EVN ERROR constraint_typeId typeId is required not self.typeId.oclIsUndefined() ERROR constraint_id id is required not self.id.oclIsUndefined() ERROR constraint_code code is required not self.code.oclIsUndefined() ERROR constraint_effectiveTime effectiveTime is required not self.effectiveTime.oclIsUndefined() ERROR constraint_confidentialityCode confidentialityCode required not self.confidentialityCode.oclIsUndefined() ERROR constraint_recordTarget recordTarget is required self.recordTarget->size()>0 ERROR constraint_author author is required self.author->size()>0 ERROR constraint_custodian custodian is required not self.custodian.oclIsUndefined() ERROR constraint_component component required not self.component.oclIsUndefined() ERROR constraint_copytime copyTime is deprecated by CDA R2 self.copyTime.oclIsUndefined() WARNING realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 1 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 id 1 1 datatypes-II Element id urn:hl7-org:v3 code 1 1 datatypes-CE Element code urn:hl7-org:v3 title 0 1 datatypes-ST Element title urn:hl7-org:v3 effectiveTime 1 1 datatypes-TS Element effectiveTime urn:hl7-org:v3 confidentialityCode 1 1 datatypes-CE Element confidentialityCode urn:hl7-org:v3 languageCode 0 1 datatypes-CS Element languageCode urn:hl7-org:v3 setId 0 1 datatypes-II Element setId urn:hl7-org:v3 versionNumber 0 1 datatypes-INT Element versionNumber urn:hl7-org:v3 copyTime 0 1 datatypes-TS Element copyTime urn:hl7-org:v3 recordTarget 1 -1 cda-POCDMT000040RecordTarget Element recordTarget urn:hl7-org:v3 author 1 -1 cda-POCDMT000040Author Element author urn:hl7-org:v3 dataEnterer 0 1 cda-POCDMT000040DataEnterer Element dataEnterer urn:hl7-org:v3 informant 0 -1 cda-POCDMT000040Informant12 Element informant urn:hl7-org:v3 custodian 1 1 cda-POCDMT000040Custodian Element custodian urn:hl7-org:v3 informationRecipient 0 -1 cda-POCDMT000040InformationRecipient Element informationRecipient urn:hl7-org:v3 legalAuthenticator 0 1 cda-POCDMT000040LegalAuthenticator Element legalAuthenticator urn:hl7-org:v3 authenticator 0 -1 cda-POCDMT000040Authenticator Element authenticator urn:hl7-org:v3 participant 0 -1 cda-POCDMT000040Participant1 Element participant urn:hl7-org:v3 inFulfillmentOf 0 -1 cda-POCDMT000040InFulfillmentOf Element inFulfillmentOf urn:hl7-org:v3 documentationOf 0 -1 cda-POCDMT000040DocumentationOf Element documentationOf urn:hl7-org:v3 relatedDocument 0 -1 cda-POCDMT000040RelatedDocument Element relatedDocument urn:hl7-org:v3 authorization 0 -1 cda-POCDMT000040Authorization Element authorization urn:hl7-org:v3 componentOf 0 1 cda-POCDMT000040Component1 Element componentOf urn:hl7-org:v3 component 1 1 cda-POCDMT000040Component2 Element component urn:hl7-org:v3 classCode 0 1 voc-ActClinicalDocument Attribute classCode moodCode 0 1 voc-ActMood Attribute moodCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040Authorization POCD_MT000040.Authorization constraint_typeCode typeCode fixed to AUTH value self.typeCode.oclIsUndefined() or self.typeCode=ActRelationshipType::AUTH ERROR constraint_consent consent is required not self.consent.oclIsUndefined() ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 consent 1 1 cda-POCDMT000040Consent Element consent urn:hl7-org:v3 nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor typeCode 0 1 voc-ActRelationshipType Attribute typeCode POCDMT000040Consent POCD_MT000040.Consent constraint_classCode classCode fixed to CONS value self.classCode.oclIsUndefined() or self.classCode=ActClass::CONS ERROR constraint_moodCode moodCode fixed to EVN value self.moodCode.oclIsUndefined() or self.moodCode=ActMood::EVN ERROR constraint_statusCode statusCode is required not self.statusCode.oclIsUndefined() ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 id 0 -1 datatypes-II Element id urn:hl7-org:v3 code 0 1 datatypes-CE Element code urn:hl7-org:v3 statusCode 1 1 datatypes-CS Element statusCode urn:hl7-org:v3 classCode 0 1 voc-ActClass Attribute classCode moodCode 0 1 voc-ActMood Attribute moodCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040Component1 POCD_MT000040.Component1 constraint_typeCode typeCode fixed to COMP value self.typeCode.oclIsUndefined() or self.typeCode=ActRelationshipHasComponent::COMP ERROR constraint_encompassingEncounter encompassingEncounter required not self.encompassingEncounter.oclIsUndefined() ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 encompassingEncounter 1 1 cda-POCDMT000040EncompassingEncounter Element encompassingEncounter urn:hl7-org:v3 nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor typeCode 0 1 voc-ActRelationshipHasComponent Attribute typeCode POCDMT000040EncompassingEncounter POCD_MT000040.EncompassingEncounter constraint_classCode classCode is fixed to ENC self.classCode.oclIsUndefined() or self.classCode=ActClass::ENC ERROR constraint_moodCode moodCode is fixed to EVN self.moodCode.oclIsUndefined() or self.moodCode=ActMood::EVN ERROR constraint_effectiveTime effectiveTime required not self.effectiveTime.oclIsUndefined() ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 id 0 -1 datatypes-II Element id urn:hl7-org:v3 code 0 1 datatypes-CE Element code urn:hl7-org:v3 effectiveTime 1 1 datatypes-IVLTS Element effectiveTime urn:hl7-org:v3 dischargeDispositionCode 0 1 datatypes-CE Element dischargeDispositionCode urn:hl7-org:v3 responsibleParty 0 1 cda-POCDMT000040ResponsibleParty Element responsibleParty urn:hl7-org:v3 encounterParticipant 0 -1 cda-POCDMT000040EncounterParticipant Element encounterParticipant urn:hl7-org:v3 location 0 1 cda-POCDMT000040Location Element location urn:hl7-org:v3 classCode 0 1 voc-ActClass Attribute classCode moodCode 0 1 voc-ActMood Attribute moodCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040ResponsibleParty POCD_MT000040.ResponsibleParty constraint_typeCode typeCode fixed to RESP self.typeCode.oclIsUndefined() or self.typeCode=ParticipationType::RESP ERROR constraint_assignedEntity assignedEntity required not self.assignedEntity.oclIsUndefined() ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 assignedEntity 1 1 cda-POCDMT000040AssignedEntity Element assignedEntity urn:hl7-org:v3 nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor typeCode 0 1 voc-ParticipationType Attribute typeCode POCDMT000040EncounterParticipant POCD_MT000040.EncounterParticipant constraint_assignedEntity assignedEntity required not self.assignedEntity.oclIsUndefined() ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 time 0 1 datatypes-IVLTS Element time urn:hl7-org:v3 assignedEntity 1 1 cda-POCDMT000040AssignedEntity Element assignedEntity urn:hl7-org:v3 nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor typeCode 1 1 voc-XEncounterParticipant Attribute typeCode POCDMT000040Location POCD_MT000040.Location constraint_typeCode typeCode is fixed to LOC value self.typeCode.oclIsUndefined() or self.typeCode=ParticipationTargetLocation::LOC ERROR constraint_healthCareFacility healthCareFacility required not self.healthCareFacility.oclIsUndefined() ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 healthCareFacility 1 1 cda-POCDMT000040HealthCareFacility Element healthCareFacility urn:hl7-org:v3 nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor typeCode 0 1 voc-ParticipationTargetLocation Attribute typeCode POCDMT000040HealthCareFacility POCD_MT000040.HealthCareFacility realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 id 0 -1 datatypes-II Element id urn:hl7-org:v3 code 0 1 datatypes-CE Element code urn:hl7-org:v3 location 0 1 cda-POCDMT000040Place Element location urn:hl7-org:v3 serviceProviderOrganization 0 1 cda-POCDMT000040Organization Element serviceProviderOrganization urn:hl7-org:v3 classCode 0 1 voc-RoleClassServiceDeliveryLocation Attribute classCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040Component2 POCD_MT000040.Component2 constraint_structuredBody_nonXMLBody only one of structuredBody, nonXMLBody can be present self.structuredBody.oclIsUndefined() xor self.nonXMLBody.oclIsUndefined() ERROR constraint_typeCode typeCode is fixed to COMP self.typeCode.oclIsUndefined() or self.typeCode=ActRelationshipHasComponent::COMP ERROR constraint_contextConductionInd contextConductionInd fixed to true self.contextConductionInd.oclIsUndefined() or self.contextConductionInd=true ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 nonXMLBody 0 1 cda-POCDMT000040NonXMLBody Element nonXMLBody urn:hl7-org:v3 structuredBody 0 1 cda-POCDMT000040StructuredBody Element structuredBody urn:hl7-org:v3 contextConductionInd 0 1 XMLPrimitiveTypes-Boolean Attribute contextConductionInd nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor typeCode 0 1 voc-ActRelationshipHasComponent Attribute typeCode POCDMT000040NonXMLBody POCD_MT000040.NonXMLBody constraint_classCode classCode fixed to DOCBODY self.classCode.oclIsUndefined() or self.classCode=ActClass::DOCBODY ERROR constraint_moodCode moodCode fixed to EVN self.moodCode.oclIsUndefined() or self.moodCode=ActMood::EVN ERROR constraint_text text is required not self.text.oclIsUndefined() ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 text 1 1 datatypes-ED Element text urn:hl7-org:v3 confidentialityCode 0 1 datatypes-CE Element confidentialityCode urn:hl7-org:v3 languageCode 0 1 datatypes-CS Element languageCode urn:hl7-org:v3 classCode 0 1 voc-ActClass Attribute classCode moodCode 0 1 voc-ActMood Attribute moodCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040StructuredBody POCD_MT000040.StructuredBody constraint_classCode classCode fixed to DOCBODY self.classCode.oclIsUndefined() or self.classCode=ActClass::DOCBODY ERROR constraint_moodCode moodCode fixed to EVN self.moodCode.oclIsUndefined() or self.moodCode=ActMood::EVN ERROR constraint_component component required self.component->size()>0 ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 confidentialityCode 0 1 datatypes-CE Element confidentialityCode urn:hl7-org:v3 languageCode 0 1 datatypes-CS Element languageCode urn:hl7-org:v3 component 1 -1 cda-POCDMT000040Component3 Element component urn:hl7-org:v3 classCode 0 1 voc-ActClass Attribute classCode moodCode 0 1 voc-ActMood Attribute moodCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040Component3 POCD_MT000040.Component3 constraint_typeCode typeCode fixed to COMP value self.typeCode.oclIsUndefined() or self.typeCode=ActRelationshipHasComponent::COMP ERROR constraint_contextConductionInd contextConductionInd fixed to true self.contextConductionInd.oclIsUndefined() or self.contextConductionInd=true ERROR constraint_section section is required not self.section.oclIsUndefined() ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 section 1 1 cda-POCDMT000040Section Element section urn:hl7-org:v3 contextConductionInd 0 1 XMLPrimitiveTypes-Boolean Attribute contextConductionInd nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor typeCode 0 1 voc-ActRelationshipHasComponent Attribute typeCode POCDMT000040Section POCD_MT000040.Section constraint_classCode classCode fixed to DOCSECT self.classCode.oclIsUndefined() or self.classCode=ActClass::DOCSECT ERROR constraint_moodCode moodCode fixed to EVN self.moodCode.oclIsUndefined() or self.moodCode=ActMood::EVN ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 id 0 1 datatypes-II Element id urn:hl7-org:v3 code 0 1 datatypes-CE Element code urn:hl7-org:v3 title 0 1 datatypes-ST Element title urn:hl7-org:v3 text 0 1 nblock-StrucDocText Element text urn:hl7-org:v3 confidentialityCode 0 1 datatypes-CE Element confidentialityCode urn:hl7-org:v3 languageCode 0 1 datatypes-CS Element languageCode urn:hl7-org:v3 subject 0 1 cda-POCDMT000040Subject Element subject urn:hl7-org:v3 author 0 -1 cda-POCDMT000040Author Element author urn:hl7-org:v3 informant 0 -1 cda-POCDMT000040Informant12 Element informant urn:hl7-org:v3 entry 0 -1 cda-POCDMT000040Entry Element entry urn:hl7-org:v3 component 0 -1 cda-POCDMT000040Component5 Element component urn:hl7-org:v3 classCode 0 1 voc-ActClass Attribute classCode iD1 0 1 XMLPrimitiveTypes-String Attribute iD1 moodCode 0 1 voc-ActMood Attribute moodCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040Subject POCD_MT000040.Subject constraint_typeCode typeCode fixed to SBJ self.typeCode.oclIsUndefined() or self.typeCode=ParticipationTargetSubject::SBJ ERROR constraint_contextControlCode contextControlCode fixed to OP self.contextControlCode.oclIsUndefined() or self.contextControlCode=NullFlavor::OP ERROR constraint_relatedSubject relatedSubject required not self.relatedSubject.oclIsUndefined() ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 awarenessCode 0 1 datatypes-CE Element awarenessCode urn:hl7-org:v3 relatedSubject 1 1 cda-POCDMT000040RelatedSubject Element relatedSubject urn:hl7-org:v3 contextControlCode 0 1 voc-NullFlavor Attribute contextControlCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor typeCode 0 1 voc-ParticipationTargetSubject Attribute typeCode POCDMT000040RelatedSubject POCD_MT000040.RelatedSubject realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 code 0 1 datatypes-CE Element code urn:hl7-org:v3 addr 0 -1 datatypes-AD Element addr urn:hl7-org:v3 telecom 0 -1 datatypes-TEL Element telecom urn:hl7-org:v3 subject 0 1 cda-POCDMT000040SubjectPerson Element subject urn:hl7-org:v3 classCode 0 1 voc-XDocumentSubject Attribute classCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040SubjectPerson POCD_MT000040.SubjectPerson constraint_classCode classCode fixed to PSN self.classCode.oclIsUndefined() or self.classCode=EntityClass::PSN ERROR constraint_determinerCode determinerCode fixed to INSTANCE self.determinerCode.oclIsUndefined() or self.determinerCode=EntityDeterminer::INSTANCE ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 name 0 -1 datatypes-PN Element name urn:hl7-org:v3 administrativeGenderCode 0 1 datatypes-CE Element administrativeGenderCode urn:hl7-org:v3 birthTime 0 1 datatypes-TS Element birthTime urn:hl7-org:v3 classCode 0 1 voc-EntityClass Attribute classCode determinerCode 0 1 voc-EntityDeterminer Attribute determinerCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040Entry POCD_MT000040.Entry constraint_choice only on of these attribute must be present : act, encounter, observation, observationMedia, organizer, procedure, regionOfInterest, substanceAdministration, supply Bag{self.act.oclIsUndefined(), self.encounter.oclIsUndefined(), self.observation.oclIsUndefined(), self.observationMedia.oclIsUndefined(), self.organizer.oclIsUndefined(), self.procedure.oclIsUndefined(), self.regionOfInterest.oclIsUndefined(), self.substanceAdministration.oclIsUndefined(), self.supply.oclIsUndefined()}->one(bl : Boolean | bl = false) ERROR constraint_contextConductionInd contextConductionInd fixed to true self.contextConductionInd.oclIsUndefined() or self.contextConductionInd=true ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 act 0 1 cda-POCDMT000040Act Element act urn:hl7-org:v3 encounter 0 1 cda-POCDMT000040Encounter Element encounter urn:hl7-org:v3 observation 0 1 cda-POCDMT000040Observation Element observation urn:hl7-org:v3 observationMedia 0 1 cda-POCDMT000040ObservationMedia Element observationMedia urn:hl7-org:v3 organizer 0 1 cda-POCDMT000040Organizer Element organizer urn:hl7-org:v3 procedure 0 1 cda-POCDMT000040Procedure Element procedure urn:hl7-org:v3 regionOfInterest 0 1 cda-POCDMT000040RegionOfInterest Element regionOfInterest urn:hl7-org:v3 substanceAdministration 0 1 cda-POCDMT000040SubstanceAdministration Element substanceAdministration urn:hl7-org:v3 supply 0 1 cda-POCDMT000040Supply Element supply urn:hl7-org:v3 contextConductionInd 0 1 XMLPrimitiveTypes-Boolean Attribute contextConductionInd nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor typeCode 0 1 voc-XActRelationshipEntry Attribute typeCode POCDMT000040Act POCD_MT000040.Act constraint_code code is required not self.code.oclIsUndefined() ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 id 0 -1 datatypes-II Element id urn:hl7-org:v3 code 1 1 datatypes-CD Element code urn:hl7-org:v3 text 0 1 datatypes-ED Element text urn:hl7-org:v3 statusCode 0 1 datatypes-CS Element statusCode urn:hl7-org:v3 effectiveTime 0 1 datatypes-IVLTS Element effectiveTime urn:hl7-org:v3 priorityCode 0 1 datatypes-CE Element priorityCode urn:hl7-org:v3 languageCode 0 1 datatypes-CS Element languageCode urn:hl7-org:v3 subject 0 1 cda-POCDMT000040Subject Element subject urn:hl7-org:v3 specimen 0 -1 cda-POCDMT000040Specimen Element specimen urn:hl7-org:v3 performer 0 -1 cda-POCDMT000040Performer2 Element performer urn:hl7-org:v3 author 0 -1 cda-POCDMT000040Author Element author urn:hl7-org:v3 informant 0 -1 cda-POCDMT000040Informant12 Element informant urn:hl7-org:v3 participant 0 -1 cda-POCDMT000040Participant2 Element participant urn:hl7-org:v3 entryRelationship 0 -1 cda-POCDMT000040EntryRelationship Element entryRelationship urn:hl7-org:v3 reference 0 -1 cda-POCDMT000040Reference Element reference urn:hl7-org:v3 precondition 0 -1 cda-POCDMT000040Precondition Element precondition urn:hl7-org:v3 classCode 1 1 voc-XActClassDocumentEntryAct Attribute classCode moodCode 1 1 voc-XDocumentActMood Attribute moodCode negationInd 0 1 XMLPrimitiveTypes-Boolean Attribute negationInd nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040Specimen POCD_MT000040.Specimen constraint_typeCode typeCode fixed to SPC self.typeCode.oclIsUndefined() or self.typeCode=ParticipationType::SPC ERROR constraint_role specimenRole required not self.specimenRole.oclIsUndefined() ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 specimenRole 1 1 cda-POCDMT000040SpecimenRole Element specimenRole urn:hl7-org:v3 nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor typeCode 0 1 voc-ParticipationType Attribute typeCode POCDMT000040SpecimenRole POCD_MT000040.SpecimenRole constraint_classCode classCode fixed to SPEC self.classCode.oclIsUndefined() or self.classCode=RoleClassSpecimen::SPEC ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 id 0 -1 datatypes-II Element id urn:hl7-org:v3 specimenPlayingEntity 0 1 cda-POCDMT000040PlayingEntity Element specimenPlayingEntity urn:hl7-org:v3 classCode 0 1 voc-RoleClassSpecimen Attribute classCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040PlayingEntity POCD_MT000040.PlayingEntity constraint_determinerCode determinerCode fixed to INSTANCE (constraint from the schema) self.determinerCode.oclIsUndefined() or self.determinerCode=EntityDeterminer::INSTANCE ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 code 0 1 datatypes-CE Element code urn:hl7-org:v3 quantity 0 -1 datatypes-PQ Element quantity urn:hl7-org:v3 name 0 -1 datatypes-PN Element name urn:hl7-org:v3 desc 0 1 datatypes-ED Element desc urn:hl7-org:v3 classCode 0 1 voc-EntityClassRoot Attribute classCode determinerCode 0 1 voc-EntityDeterminer Attribute determinerCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040Performer2 POCD_MT000040.Performer2 constraint_typeCode typeCode fixed to PRF self.typeCode.oclIsUndefined() or self.typeCode=ParticipationPhysicalPerformer::PRF ERROR constraint_assignedEntity assignedEntity required not self.assignedEntity.oclIsUndefined() ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 time 0 1 datatypes-IVLTS Element time urn:hl7-org:v3 modeCode 0 1 datatypes-CE Element modeCode urn:hl7-org:v3 assignedEntity 1 1 cda-POCDMT000040AssignedEntity Element assignedEntity urn:hl7-org:v3 nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor typeCode 0 1 voc-ParticipationPhysicalPerformer Attribute typeCode POCDMT000040Participant2 POCD_MT000040.Participant2 constraint_contextControlCode contextControlCode fixed to OP self.contextControlCode.oclIsUndefined() or self.contextControlCode=NullFlavor::OP ERROR constraint_participantRole participantRole required not self.participantRole.oclIsUndefined() ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 time 0 1 datatypes-IVLTS Element time urn:hl7-org:v3 awarenessCode 0 1 datatypes-CE Element awarenessCode urn:hl7-org:v3 participantRole 1 1 cda-POCDMT000040ParticipantRole Element participantRole urn:hl7-org:v3 contextControlCode 0 1 voc-NullFlavor Attribute contextControlCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor typeCode 1 1 voc-ParticipationType Attribute typeCode POCDMT000040ParticipantRole POCD_MT000040.ParticipantRole realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 id 0 -1 datatypes-II Element id urn:hl7-org:v3 code 0 1 datatypes-CE Element code urn:hl7-org:v3 addr 0 -1 datatypes-AD Element addr urn:hl7-org:v3 telecom 0 -1 datatypes-TEL Element telecom urn:hl7-org:v3 playingDevice 0 1 cda-POCDMT000040Device Element playingDevice urn:hl7-org:v3 playingEntity 0 1 cda-POCDMT000040PlayingEntity Element playingEntity urn:hl7-org:v3 scopingEntity 0 1 cda-POCDMT000040Entity Element scopingEntity urn:hl7-org:v3 classCode 0 1 voc-RoleClassRoot Attribute classCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040Device POCD_MT000040.Device constraint_classCode classCode is fixed to DEV value self.classCode.oclIsUndefined() or self.classCode=EntityClassDevice::DEV ERROR constraint_determinerCode determinerCode is fixed to INSTANCE value self.determinerCode.oclIsUndefined() or self.determinerCode=EntityDeterminer::INSTANCE ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 code 0 1 datatypes-CE Element code urn:hl7-org:v3 manufacturerModelName 0 1 datatypes-SC Element manufacturerModelName urn:hl7-org:v3 softwareName 0 1 datatypes-SC Element softwareName urn:hl7-org:v3 classCode 0 1 voc-EntityClassDevice Attribute classCode determinerCode 0 1 voc-EntityDeterminer Attribute determinerCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040Entity POCD_MT000040.Entity constraint_determinerCode determinerCode fixed to INSTANCE value self.determinerCode.oclIsUndefined() or self.determinerCode=EntityDeterminer::INSTANCE ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 id 0 -1 datatypes-II Element id urn:hl7-org:v3 code 0 1 datatypes-CE Element code urn:hl7-org:v3 desc 0 1 datatypes-ED Element desc urn:hl7-org:v3 classCode 0 1 voc-EntityClassRoot Attribute classCode determinerCode 0 1 voc-EntityDeterminer Attribute determinerCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040EntryRelationship POCD_MT000040.EntryRelationship constraint_choice on POCDMT000040EntryRelationship only one element of these must be present : act, encounter, observation, observationMedia, organizer, procedure, regionOfInterest, substanceAdministration, supply Bag{self.act.oclIsUndefined(), self.encounter.oclIsUndefined(), self.observation.oclIsUndefined(), self.observationMedia.oclIsUndefined(), self.organizer.oclIsUndefined(), self.procedure.oclIsUndefined(), self.regionOfInterest.oclIsUndefined(), self.substanceAdministration.oclIsUndefined(), self.supply.oclIsUndefined()}->one(bl : Boolean| bl = false) ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 sequenceNumber 0 1 datatypes-INT Element sequenceNumber urn:hl7-org:v3 seperatableInd 0 1 datatypes-BL Element seperatableInd urn:hl7-org:v3 act 0 1 cda-POCDMT000040Act Element act urn:hl7-org:v3 encounter 0 1 cda-POCDMT000040Encounter Element encounter urn:hl7-org:v3 observation 0 1 cda-POCDMT000040Observation Element observation urn:hl7-org:v3 observationMedia 0 1 cda-POCDMT000040ObservationMedia Element observationMedia urn:hl7-org:v3 organizer 0 1 cda-POCDMT000040Organizer Element organizer urn:hl7-org:v3 procedure 0 1 cda-POCDMT000040Procedure Element procedure urn:hl7-org:v3 regionOfInterest 0 1 cda-POCDMT000040RegionOfInterest Element regionOfInterest urn:hl7-org:v3 substanceAdministration 0 1 cda-POCDMT000040SubstanceAdministration Element substanceAdministration urn:hl7-org:v3 supply 0 1 cda-POCDMT000040Supply Element supply urn:hl7-org:v3 contextConductionInd 0 1 XMLPrimitiveTypes-Boolean Attribute contextConductionInd inversionInd 0 1 XMLPrimitiveTypes-Boolean Attribute inversionInd negationInd 0 1 XMLPrimitiveTypes-Boolean Attribute negationInd nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor typeCode 1 1 voc-XActRelationshipEntryRelationship Attribute typeCode POCDMT000040Encounter POCD_MT000040.Encounter realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 id 0 -1 datatypes-II Element id urn:hl7-org:v3 code 0 1 datatypes-CD Element code urn:hl7-org:v3 text 0 1 datatypes-ED Element text urn:hl7-org:v3 statusCode 0 1 datatypes-CS Element statusCode urn:hl7-org:v3 effectiveTime 0 1 datatypes-IVLTS Element effectiveTime urn:hl7-org:v3 priorityCode 0 1 datatypes-CE Element priorityCode urn:hl7-org:v3 subject 0 1 cda-POCDMT000040Subject Element subject urn:hl7-org:v3 specimen 0 -1 cda-POCDMT000040Specimen Element specimen urn:hl7-org:v3 performer 0 -1 cda-POCDMT000040Performer2 Element performer urn:hl7-org:v3 author 0 -1 cda-POCDMT000040Author Element author urn:hl7-org:v3 informant 0 -1 cda-POCDMT000040Informant12 Element informant urn:hl7-org:v3 participant 0 -1 cda-POCDMT000040Participant2 Element participant urn:hl7-org:v3 entryRelationship 0 -1 cda-POCDMT000040EntryRelationship Element entryRelationship urn:hl7-org:v3 reference 0 -1 cda-POCDMT000040Reference Element reference urn:hl7-org:v3 precondition 0 -1 cda-POCDMT000040Precondition Element precondition urn:hl7-org:v3 classCode 1 1 voc-ActClass Attribute classCode moodCode 1 1 voc-XDocumentEncounterMood Attribute moodCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040Reference POCD_MT000040.Reference constraint_choice only one of these attributes must be present : externalAct, externalObservation, externalProcedure, externalDocument Bag{self.externalAct.oclIsUndefined(), self.externalObservation.oclIsUndefined(), self.externalProcedure.oclIsUndefined(), self.externalDocument.oclIsUndefined()}->one(bl : Boolean | bl = false) ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 seperatableInd 0 1 datatypes-BL Element seperatableInd urn:hl7-org:v3 externalAct 0 1 cda-POCDMT000040ExternalAct Element externalAct urn:hl7-org:v3 externalObservation 0 1 cda-POCDMT000040ExternalObservation Element externalObservation urn:hl7-org:v3 externalProcedure 0 1 cda-POCDMT000040ExternalProcedure Element externalProcedure urn:hl7-org:v3 externalDocument 0 1 cda-POCDMT000040ExternalDocument Element externalDocument urn:hl7-org:v3 nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor typeCode 1 1 voc-XActRelationshipExternalReference Attribute typeCode POCDMT000040ExternalAct POCD_MT000040.ExternalAct constraint_moodCode moodCode is fixed to EVN value self.moodCode.oclIsUndefined() or self.moodCode=ActMood::EVN ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 id 0 -1 datatypes-II Element id urn:hl7-org:v3 code 0 1 datatypes-CD Element code urn:hl7-org:v3 text 0 1 datatypes-ED Element text urn:hl7-org:v3 classCode 0 1 voc-ActClassRoot Attribute classCode moodCode 0 1 voc-ActMood Attribute moodCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040ExternalObservation POCD_MT000040.ExternalObservation constraint_moodCode moodCode is fixed to EVN self.moodCode.oclIsUndefined() or self.moodCode=ActMood::EVN ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 id 0 -1 datatypes-II Element id urn:hl7-org:v3 code 0 1 datatypes-CD Element code urn:hl7-org:v3 text 0 1 datatypes-ED Element text urn:hl7-org:v3 classCode 0 1 voc-ActClassObservation Attribute classCode moodCode 0 1 voc-ActMood Attribute moodCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040ExternalProcedure POCD_MT000040.ExternalProcedure constraint_moodCode moodCode is fixed to EVN value self.moodCode.oclIsUndefined() or self.moodCode=ActMood::EVN ERROR constraint_classCode classCode is fixed to PROC value self.classCode.oclIsUndefined() or self.classCode=ActClass::PROC ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 id 0 -1 datatypes-II Element id urn:hl7-org:v3 code 0 1 datatypes-CD Element code urn:hl7-org:v3 text 0 1 datatypes-ED Element text urn:hl7-org:v3 classCode 0 1 voc-ActClass Attribute classCode moodCode 0 1 voc-ActMood Attribute moodCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040ExternalDocument POCD_MT000040.ExternalDocument constraint_moodCode moodCode is fixed to EVN self.moodCode.oclIsUndefined() or self.moodCode=ActMood::EVN ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 id 0 -1 datatypes-II Element id urn:hl7-org:v3 code 0 1 datatypes-CD Element code urn:hl7-org:v3 text 0 1 datatypes-ED Element text urn:hl7-org:v3 setId 0 1 datatypes-II Element setId urn:hl7-org:v3 versionNumber 0 1 datatypes-INT Element versionNumber urn:hl7-org:v3 classCode 0 1 voc-ActClassDocument Attribute classCode moodCode 0 1 voc-ActMood Attribute moodCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040Precondition POCD_MT000040.Precondition constraint_typeCode typeCode fixed to PRCN self.typeCode.oclIsUndefined() or self.typeCode=ActRelationshipType::PRCN ERROR constraint_criterion criterion required not self.criterion.oclIsUndefined() ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 criterion 1 1 cda-POCDMT000040Criterion Element criterion urn:hl7-org:v3 nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor typeCode 0 1 voc-ActRelationshipType Attribute typeCode POCDMT000040Criterion POCD_MT000040.Criterion constraint_classCode classCode fixed to OBS value self.classCode.oclIsUndefined() or self.classCode=ActClassObservation::OBS ERROR constraint_moodCode moodCode fixed to EVN.CRT value self.moodCode.oclIsUndefined() or self.moodCode=ActMood::EVNCRT ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 code 0 1 datatypes-CD Element code urn:hl7-org:v3 text 0 1 datatypes-ED Element text urn:hl7-org:v3 value 0 1 datatypes-ANY Element value urn:hl7-org:v3 classCode 0 1 voc-ActClassObservation Attribute classCode moodCode 0 1 voc-ActMood Attribute moodCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040Observation POCD_MT000040.Observation constraint_code code required not self.code.oclIsUndefined() ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 id 0 -1 datatypes-II Element id urn:hl7-org:v3 code 1 1 datatypes-CD Element code urn:hl7-org:v3 derivationExpr 0 1 datatypes-ST Element derivationExpr urn:hl7-org:v3 text 0 1 datatypes-ED Element text urn:hl7-org:v3 statusCode 0 1 datatypes-CS Element statusCode urn:hl7-org:v3 effectiveTime 0 1 datatypes-IVLTS Element effectiveTime urn:hl7-org:v3 priorityCode 0 1 datatypes-CE Element priorityCode urn:hl7-org:v3 repeatNumber 0 1 datatypes-IVLINT Element repeatNumber urn:hl7-org:v3 languageCode 0 1 datatypes-CS Element languageCode urn:hl7-org:v3 value 0 -1 datatypes-ANY Element value urn:hl7-org:v3 interpretationCode 0 -1 datatypes-CE Element interpretationCode urn:hl7-org:v3 methodCode 0 -1 datatypes-CE Element methodCode urn:hl7-org:v3 targetSiteCode 0 -1 datatypes-CD Element targetSiteCode urn:hl7-org:v3 subject 0 1 cda-POCDMT000040Subject Element subject urn:hl7-org:v3 specimen 0 -1 cda-POCDMT000040Specimen Element specimen urn:hl7-org:v3 performer 0 -1 cda-POCDMT000040Performer2 Element performer urn:hl7-org:v3 author 0 -1 cda-POCDMT000040Author Element author urn:hl7-org:v3 informant 0 -1 cda-POCDMT000040Informant12 Element informant urn:hl7-org:v3 participant 0 -1 cda-POCDMT000040Participant2 Element participant urn:hl7-org:v3 entryRelationship 0 -1 cda-POCDMT000040EntryRelationship Element entryRelationship urn:hl7-org:v3 reference 0 -1 cda-POCDMT000040Reference Element reference urn:hl7-org:v3 precondition 0 -1 cda-POCDMT000040Precondition Element precondition urn:hl7-org:v3 referenceRange 0 -1 cda-POCDMT000040ReferenceRange Element referenceRange urn:hl7-org:v3 classCode 1 1 voc-ActClassObservation Attribute classCode moodCode 1 1 voc-XActMoodDocumentObservation Attribute moodCode negationInd 0 1 XMLPrimitiveTypes-Boolean Attribute negationInd nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040ReferenceRange POCD_MT000040.ReferenceRange constraint_typeCode typeCode fixed to REFV self.typeCode.oclIsUndefined() or self.typeCode=ActRelationshipType::REFV ERROR constraint_observationRange observationRange required not self.observationRange.oclIsUndefined() ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 observationRange 1 1 cda-POCDMT000040ObservationRange Element observationRange urn:hl7-org:v3 nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor typeCode 0 1 voc-ActRelationshipType Attribute typeCode POCDMT000040ObservationRange POCD_MT000040.ObservationRange constraint_moodCode moodCode fixed to EVN.CRT self.moodCode.oclIsUndefined() or self.moodCode=ActMood::EVNCRT ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 code 0 1 datatypes-CD Element code urn:hl7-org:v3 text 0 1 datatypes-ED Element text urn:hl7-org:v3 value 0 1 datatypes-ANY Element value urn:hl7-org:v3 interpretationCode 0 1 datatypes-CE Element interpretationCode urn:hl7-org:v3 classCode 0 1 voc-ActClassObservation Attribute classCode moodCode 0 1 voc-ActMood Attribute moodCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040ObservationMedia POCD_MT000040.ObservationMedia constraint_value value required not self.value.oclIsUndefined() ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 id 0 -1 datatypes-II Element id urn:hl7-org:v3 languageCode 0 1 datatypes-CS Element languageCode urn:hl7-org:v3 value 1 1 datatypes-ED Element value urn:hl7-org:v3 subject 0 1 cda-POCDMT000040Subject Element subject urn:hl7-org:v3 specimen 0 -1 cda-POCDMT000040Specimen Element specimen urn:hl7-org:v3 performer 0 -1 cda-POCDMT000040Performer2 Element performer urn:hl7-org:v3 author 0 -1 cda-POCDMT000040Author Element author urn:hl7-org:v3 informant 0 -1 cda-POCDMT000040Informant12 Element informant urn:hl7-org:v3 participant 0 -1 cda-POCDMT000040Participant2 Element participant urn:hl7-org:v3 entryRelationship 0 -1 cda-POCDMT000040EntryRelationship Element entryRelationship urn:hl7-org:v3 reference 0 -1 cda-POCDMT000040Reference Element reference urn:hl7-org:v3 precondition 0 -1 cda-POCDMT000040Precondition Element precondition urn:hl7-org:v3 classCode 1 1 voc-ActClassObservation Attribute classCode iD1 0 1 XMLPrimitiveTypes-String Attribute iD1 moodCode 1 1 voc-ActMood Attribute moodCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040Organizer POCD_MT000040.Organizer constraint_statusCode statusCode required not self.statusCode.oclIsUndefined() ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 id 0 -1 datatypes-II Element id urn:hl7-org:v3 code 0 1 datatypes-CD Element code urn:hl7-org:v3 statusCode 1 1 datatypes-CS Element statusCode urn:hl7-org:v3 effectiveTime 0 1 datatypes-IVLTS Element effectiveTime urn:hl7-org:v3 subject 0 1 cda-POCDMT000040Subject Element subject urn:hl7-org:v3 specimen 0 -1 cda-POCDMT000040Specimen Element specimen urn:hl7-org:v3 performer 0 -1 cda-POCDMT000040Performer2 Element performer urn:hl7-org:v3 author 0 -1 cda-POCDMT000040Author Element author urn:hl7-org:v3 informant 0 -1 cda-POCDMT000040Informant12 Element informant urn:hl7-org:v3 participant 0 -1 cda-POCDMT000040Participant2 Element participant urn:hl7-org:v3 reference 0 -1 cda-POCDMT000040Reference Element reference urn:hl7-org:v3 precondition 0 -1 cda-POCDMT000040Precondition Element precondition urn:hl7-org:v3 component 0 -1 cda-POCDMT000040Component4 Element component urn:hl7-org:v3 classCode 1 1 voc-XActClassDocumentEntryOrganizer Attribute classCode moodCode 1 1 voc-ActMood Attribute moodCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040Component4 POCD_MT000040.Component4 constraint_choice only one of act, encounter, observation, observationMedia, organizer, procedure, regionOfInterest, substanceAdministration, supply, must be present Bag{self.act.oclIsUndefined(), self.encounter.oclIsUndefined(), self.observation.oclIsUndefined(), self.observationMedia.oclIsUndefined(), self.organizer.oclIsUndefined(), self.procedure.oclIsUndefined(), self.regionOfInterest.oclIsUndefined(), self.substanceAdministration.oclIsUndefined(), self.supply.oclIsUndefined()}->one(x | x = false) ERROR constraint_typeCode typeCode fixed to COMP value self.typeCode.oclIsUndefined() or self.typeCode=ActRelationshipHasComponent::COMP ERROR constraint_contextConductionInd contextConductionInd fixed to true self.contextConductionInd.oclIsUndefined() or self.contextConductionInd=true ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 sequenceNumber 0 1 datatypes-INT Element sequenceNumber urn:hl7-org:v3 seperatableInd 0 1 datatypes-BL Element seperatableInd urn:hl7-org:v3 act 0 1 cda-POCDMT000040Act Element act urn:hl7-org:v3 encounter 0 1 cda-POCDMT000040Encounter Element encounter urn:hl7-org:v3 observation 0 1 cda-POCDMT000040Observation Element observation urn:hl7-org:v3 observationMedia 0 1 cda-POCDMT000040ObservationMedia Element observationMedia urn:hl7-org:v3 organizer 0 1 cda-POCDMT000040Organizer Element organizer urn:hl7-org:v3 procedure 0 1 cda-POCDMT000040Procedure Element procedure urn:hl7-org:v3 regionOfInterest 0 1 cda-POCDMT000040RegionOfInterest Element regionOfInterest urn:hl7-org:v3 substanceAdministration 0 1 cda-POCDMT000040SubstanceAdministration Element substanceAdministration urn:hl7-org:v3 supply 0 1 cda-POCDMT000040Supply Element supply urn:hl7-org:v3 contextConductionInd 0 1 XMLPrimitiveTypes-Boolean Attribute contextConductionInd nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor typeCode 0 1 voc-ActRelationshipHasComponent Attribute typeCode POCDMT000040Procedure POCD_MT000040.Procedure realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 id 0 -1 datatypes-II Element id urn:hl7-org:v3 code 0 1 datatypes-CD Element code urn:hl7-org:v3 text 0 1 datatypes-ED Element text urn:hl7-org:v3 statusCode 0 1 datatypes-CS Element statusCode urn:hl7-org:v3 effectiveTime 0 1 datatypes-IVLTS Element effectiveTime urn:hl7-org:v3 priorityCode 0 1 datatypes-CE Element priorityCode urn:hl7-org:v3 languageCode 0 1 datatypes-CS Element languageCode urn:hl7-org:v3 methodCode 0 -1 datatypes-CE Element methodCode urn:hl7-org:v3 approachSiteCode 0 -1 datatypes-CD Element approachSiteCode urn:hl7-org:v3 targetSiteCode 0 -1 datatypes-CD Element targetSiteCode urn:hl7-org:v3 subject 0 1 cda-POCDMT000040Subject Element subject urn:hl7-org:v3 specimen 0 -1 cda-POCDMT000040Specimen Element specimen urn:hl7-org:v3 performer 0 -1 cda-POCDMT000040Performer2 Element performer urn:hl7-org:v3 author 0 -1 cda-POCDMT000040Author Element author urn:hl7-org:v3 informant 0 -1 cda-POCDMT000040Informant12 Element informant urn:hl7-org:v3 participant 0 -1 cda-POCDMT000040Participant2 Element participant urn:hl7-org:v3 entryRelationship 0 -1 cda-POCDMT000040EntryRelationship Element entryRelationship urn:hl7-org:v3 reference 0 -1 cda-POCDMT000040Reference Element reference urn:hl7-org:v3 precondition 0 -1 cda-POCDMT000040Precondition Element precondition urn:hl7-org:v3 classCode 1 1 voc-ActClass Attribute classCode moodCode 1 1 voc-XDocumentProcedureMood Attribute moodCode negationInd 0 1 XMLPrimitiveTypes-Boolean Attribute negationInd nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040RegionOfInterest POCD_MT000040.RegionOfInterest constraint_classCode classCode fixed to ROIOVL (not self.classCode.oclIsUndefined()) and self.classCode=ActClass::ROIOVL ERROR constraint_moodCode moodCode fixed to EVN (not self.moodCode.oclIsUndefined()) and self.moodCode=ActMood::EVN ERROR constraint_id id required self.id->size()>0 ERROR constraint_code code required not self.code.oclIsUndefined() ERROR constraint_value value required self.value->size()>0 ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 id 1 -1 datatypes-II Element id urn:hl7-org:v3 code 1 1 datatypes-CS Element code urn:hl7-org:v3 value 1 -1 cda-POCDMT000040RegionOfInterestValue Element value urn:hl7-org:v3 subject 0 1 cda-POCDMT000040Subject Element subject urn:hl7-org:v3 specimen 0 -1 cda-POCDMT000040Specimen Element specimen urn:hl7-org:v3 performer 0 -1 cda-POCDMT000040Performer2 Element performer urn:hl7-org:v3 author 0 -1 cda-POCDMT000040Author Element author urn:hl7-org:v3 informant 0 -1 cda-POCDMT000040Informant12 Element informant urn:hl7-org:v3 participant 0 -1 cda-POCDMT000040Participant2 Element participant urn:hl7-org:v3 entryRelationship 0 -1 cda-POCDMT000040EntryRelationship Element entryRelationship urn:hl7-org:v3 reference 0 -1 cda-POCDMT000040Reference Element reference urn:hl7-org:v3 precondition 0 -1 cda-POCDMT000040Precondition Element precondition urn:hl7-org:v3 classCode 1 1 voc-ActClass Attribute classCode iD1 0 1 XMLPrimitiveTypes-String Attribute iD1 moodCode 1 1 voc-ActMood Attribute moodCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040RegionOfInterestValue POCD_MT000040.RegionOfInterest.value datatypes-INT unsorted 0 1 XMLPrimitiveTypes-Boolean Attribute unsorted POCDMT000040SubstanceAdministration POCD_MT000040.SubstanceAdministration constraint_classCode classCode fixed to SBADM (not self.classCode.oclIsUndefined()) and self.classCode=ActClass::SBADM ERROR constraint_consumable consumable required not self.consumable.oclIsUndefined() ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 id 0 -1 datatypes-II Element id urn:hl7-org:v3 code 0 1 datatypes-CD Element code urn:hl7-org:v3 text 0 1 datatypes-ED Element text urn:hl7-org:v3 statusCode 0 1 datatypes-CS Element statusCode urn:hl7-org:v3 effectiveTime 0 -1 datatypes-SXCMTS Element effectiveTime urn:hl7-org:v3 priorityCode 0 1 datatypes-CE Element priorityCode urn:hl7-org:v3 repeatNumber 0 1 datatypes-IVLINT Element repeatNumber urn:hl7-org:v3 routeCode 0 1 datatypes-CE Element routeCode urn:hl7-org:v3 approachSiteCode 0 -1 datatypes-CD Element approachSiteCode urn:hl7-org:v3 doseQuantity 0 1 datatypes-IVLPQ Element doseQuantity urn:hl7-org:v3 rateQuantity 0 1 datatypes-IVLPQ Element rateQuantity urn:hl7-org:v3 maxDoseQuantity 0 1 datatypes-RTOPQPQ Element maxDoseQuantity urn:hl7-org:v3 administrationUnitCode 0 1 datatypes-CE Element administrationUnitCode urn:hl7-org:v3 subject 0 1 cda-POCDMT000040Subject Element subject urn:hl7-org:v3 specimen 0 -1 cda-POCDMT000040Specimen Element specimen urn:hl7-org:v3 consumable 1 1 cda-POCDMT000040Consumable Element consumable urn:hl7-org:v3 performer 0 -1 cda-POCDMT000040Performer2 Element performer urn:hl7-org:v3 author 0 -1 cda-POCDMT000040Author Element author urn:hl7-org:v3 informant 0 -1 cda-POCDMT000040Informant12 Element informant urn:hl7-org:v3 participant 0 -1 cda-POCDMT000040Participant2 Element participant urn:hl7-org:v3 entryRelationship 0 -1 cda-POCDMT000040EntryRelationship Element entryRelationship urn:hl7-org:v3 reference 0 -1 cda-POCDMT000040Reference Element reference urn:hl7-org:v3 precondition 0 -1 cda-POCDMT000040Precondition Element precondition urn:hl7-org:v3 classCode 1 1 voc-ActClass Attribute classCode moodCode 1 1 voc-XDocumentSubstanceMood Attribute moodCode negationInd 0 1 XMLPrimitiveTypes-Boolean Attribute negationInd nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040Consumable POCD_MT000040.Consumable constraint_typeCode typeCode fixed to CSM value self.typeCode.oclIsUndefined() or self.typeCode=ParticipationType::CSM ERROR constraint_manuf manufacturedProduct required not self.manufacturedProduct.oclIsUndefined() ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 manufacturedProduct 1 1 cda-POCDMT000040ManufacturedProduct Element manufacturedProduct urn:hl7-org:v3 nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor typeCode 0 1 voc-ParticipationType Attribute typeCode POCDMT000040ManufacturedProduct POCD_MT000040.ManufacturedProduct constraint_choice only one element must be present : manufacturedLabeledDrug, manufacturedMaterial Bag{self.manufacturedLabeledDrug.oclIsUndefined(), self.manufacturedMaterial.oclIsUndefined()}->one(bl : Boolean | bl = false) ERROR constraint_classCode classCode fixed to MANU self.classCode.oclIsUndefined() or self.classCode=RoleClassManufacturedProduct::MANU ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 id 0 -1 datatypes-II Element id urn:hl7-org:v3 manufacturedLabeledDrug 0 1 cda-POCDMT000040LabeledDrug Element manufacturedLabeledDrug urn:hl7-org:v3 manufacturedMaterial 0 1 cda-POCDMT000040Material Element manufacturedMaterial urn:hl7-org:v3 manufacturerOrganization 0 1 cda-POCDMT000040Organization Element manufacturerOrganization urn:hl7-org:v3 classCode 0 1 voc-RoleClassManufacturedProduct Attribute classCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040LabeledDrug POCD_MT000040.LabeledDrug constraint_classCode classCode is fixed to MMAT self.classCode.oclIsUndefined() or self.classCode=EntityClassManufacturedMaterial::MMAT ERROR constraint_determinerCode determinerCode is fixed to KIND self.determinerCode.oclIsUndefined() or self.determinerCode=EntityDeterminerDetermined::KIND ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 code 0 1 datatypes-CE Element code urn:hl7-org:v3 name 0 1 datatypes-EN Element name urn:hl7-org:v3 classCode 0 1 voc-EntityClassManufacturedMaterial Attribute classCode determinerCode 0 1 voc-EntityDeterminerDetermined Attribute determinerCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040Material POCD_MT000040.Material constraint_classCode classCode is fixed to MMAT self.classCode.oclIsUndefined() or self.classCode=EntityClassManufacturedMaterial::MMAT ERROR constraint_determinerCode determinerCode fixed to KIND self.determinerCode.oclIsUndefined() or self.determinerCode=EntityDeterminerDetermined::KIND ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 code 0 1 datatypes-CE Element code urn:hl7-org:v3 name 0 1 datatypes-EN Element name urn:hl7-org:v3 lotNumberText 0 1 datatypes-ST Element lotNumberText urn:hl7-org:v3 classCode 0 1 voc-EntityClassManufacturedMaterial Attribute classCode determinerCode 0 1 voc-EntityDeterminerDetermined Attribute determinerCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040Supply POCD_MT000040.Supply constraint_classCode classCode fixed to SPLY (not self.classCode.oclIsUndefined()) and self.classCode=ActClassSupply::SPLY ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 id 0 -1 datatypes-II Element id urn:hl7-org:v3 code 0 1 datatypes-CD Element code urn:hl7-org:v3 text 0 1 datatypes-ED Element text urn:hl7-org:v3 statusCode 0 1 datatypes-CS Element statusCode urn:hl7-org:v3 effectiveTime 0 -1 datatypes-SXCMTS Element effectiveTime urn:hl7-org:v3 priorityCode 0 -1 datatypes-CE Element priorityCode urn:hl7-org:v3 repeatNumber 0 1 datatypes-IVLINT Element repeatNumber urn:hl7-org:v3 independentInd 0 1 datatypes-BL Element independentInd urn:hl7-org:v3 quantity 0 1 datatypes-PQ Element quantity urn:hl7-org:v3 expectedUseTime 0 1 datatypes-IVLTS Element expectedUseTime urn:hl7-org:v3 subject 0 1 cda-POCDMT000040Subject Element subject urn:hl7-org:v3 specimen 0 -1 cda-POCDMT000040Specimen Element specimen urn:hl7-org:v3 product 0 1 cda-POCDMT000040Product Element product urn:hl7-org:v3 performer 0 -1 cda-POCDMT000040Performer2 Element performer urn:hl7-org:v3 author 0 -1 cda-POCDMT000040Author Element author urn:hl7-org:v3 informant 0 -1 cda-POCDMT000040Informant12 Element informant urn:hl7-org:v3 participant 0 -1 cda-POCDMT000040Participant2 Element participant urn:hl7-org:v3 entryRelationship 0 -1 cda-POCDMT000040EntryRelationship Element entryRelationship urn:hl7-org:v3 reference 0 -1 cda-POCDMT000040Reference Element reference urn:hl7-org:v3 precondition 0 -1 cda-POCDMT000040Precondition Element precondition urn:hl7-org:v3 classCode 1 1 voc-ActClassSupply Attribute classCode moodCode 1 1 voc-XDocumentSubstanceMood Attribute moodCode nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor POCDMT000040Product POCD_MT000040.Product constraint_typeCode typeCode fixed to PRD self.typeCode.oclIsUndefined() or self.typeCode=ParticipationType::PRD ERROR constraint_manufacturedProduct manufacturedProduct required not self.manufacturedProduct.oclIsUndefined() ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 manufacturedProduct 1 1 cda-POCDMT000040ManufacturedProduct Element manufacturedProduct urn:hl7-org:v3 nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor typeCode 0 1 voc-ParticipationType Attribute typeCode POCDMT000040Component5 POCD_MT000040.Component5 constraint_typeCode typeCode fixed to COMP value self.typeCode.oclIsUndefined() or self.typeCode=ActRelationshipHasComponent::COMP ERROR constraint_contextConductionInd contextConductionInd fixed to true self.contextConductionInd.oclIsUndefined() or self.contextConductionInd=true ERROR constraint_section section is required not self.section.oclIsUndefined() ERROR realmCode 0 -1 datatypes-CS Element realmCode urn:hl7-org:v3 typeId 0 1 cda-POCDMT000040InfrastructureRootTypeId Element typeId urn:hl7-org:v3 templateId 0 -1 datatypes-II Element templateId urn:hl7-org:v3 section 1 1 cda-POCDMT000040Section Element section urn:hl7-org:v3 contextConductionInd 0 1 XMLPrimitiveTypes-Boolean Attribute contextConductionInd nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor typeCode 0 1 voc-ActRelationshipHasComponent Attribute typeCode CDAEpsosSpec Common MedicalDocumentsSpecification TemplateSpec MedicalDocumentsSpecification 1.3.6.1.4.1.19376.1.5.3.1.1.1 cdaepsos-POCDMT000040ClinicalDocument constraint_R1 /ClinicalDocument/recordTarget/patientRole is required for Medical Documents (Appendix B1, R1) self.recordTarget->size()>0 and self.recordTarget->forAll(rt : POCDMT000040RecordTarget | not rt.patientRole.oclIsUndefined() ) ERROR constraint_R11 /ClinicalDocument/recordTarget/patientRole/patient/name required for Medical Documents (Appendix B1, R1.1) self.recordTarget->size()>0 and self.recordTarget->forAll(rt : POCDMT000040RecordTarget | (not rt.patientRole.oclIsUndefined()) and (not rt.patientRole.patient.oclIsUndefined()) and (rt.patientRole.patient.name->size()>0) ) ERROR constraint_R111 /ClinicalDocument/recordTarget/patientRole/patient/name/family required (Appendix B1, R1.1.1) self.recordTarget->size()>0 and self.recordTarget->forAll(rt : POCDMT000040RecordTarget | (not rt.patientRole.oclIsUndefined()) and (not rt.patientRole.patient.oclIsUndefined()) and (rt.patientRole.patient.name->size()>0) and rt.patientRole.patient.name->forAll(nm : PN | nm.family->size()>0 and nm.family->forAll(fam : EnFamily | fam.nullFlavor.oclIsUndefined()) ) ) ERROR constraint_R112 /ClinicalDocument/recordTarget/patientRole/patient/name/prefix/ is optional. If the attribute qualifier is used for this element it should be derived from HL7:EntityNamePartQualifier 2.16.840.1.113883.5.43 (this condition is already checked by basic CDA) (Appendix B1, R1.1.2) true ERROR constraint_R113 /ClinicalDocument/recordTarget/patientRole/patient/name/given required (Appendix B1, R1.1.3) self.recordTarget->size()>0 and self.recordTarget->forAll(rt : POCDMT000040RecordTarget | (not rt.patientRole.oclIsUndefined()) and (not rt.patientRole.patient.oclIsUndefined()) and (rt.patientRole.patient.name->size()>0) and rt.patientRole.patient.name->forAll(nm : PN | nm.given->size()>0 and nm.given->forAll(giv : EnGiven | giv.nullFlavor.oclIsUndefined())) ) ERROR constraint_R12_1 /ClinicalDocument/recordTarget/patientRole/patient/administrativeGenderCode required, if nullFlavor used, it SHALL be UNK (Appendix B1, R1.2) self.recordTarget->size()>0 and self.recordTarget->forAll(rt : POCDMT000040RecordTarget | (not rt.patientRole.oclIsUndefined()) and (not rt.patientRole.patient.oclIsUndefined()) and (not rt.patientRole.patient.administrativeGenderCode.oclIsUndefined()) and ( rt.patientRole.patient.administrativeGenderCode.nullFlavor.oclIsUndefined() or rt.patientRole.patient.administrativeGenderCode.nullFlavor=NullFlavor::UNK) ) ERROR constraint_R13 /ClinicalDocument/recordTarget/patientRole/patient/birthtime required (Appendix B1, R1.3) self.recordTarget->size()>0 and self.recordTarget->forAll(rt : POCDMT000040RecordTarget | (not rt.patientRole.oclIsUndefined()) and (not rt.patientRole.patient.oclIsUndefined()) and (not rt.patientRole.patient.birthTime.oclIsUndefined()) ) ERROR constraint_R141 /ClinicalDocument/recordTarget/patientRole/id primary patient identifier is required (Appendix B1, R1.4) self.recordTarget->size()>0 and self.recordTarget->forAll(rt : POCDMT000040RecordTarget | (not rt.patientRole.oclIsUndefined()) and (rt.patientRole.id->size()>0) ) ERROR constraint_R15_1 /ClinicalDocument/recordTarget/patientRole/addr required and if nullFlavor present, it SHALL be 'NI', and no address part SHALL be present. (Appendix B1, R1.5) self.recordTarget->size()>0 and self.recordTarget->forAll(rt : POCDMT000040RecordTarget | (not rt.patientRole.oclIsUndefined()) and (rt.patientRole.addr->size()>0) and rt.patientRole.addr->forAll(ad : AD | ( ad.nullFlavor.oclIsUndefined() and Bag{ad.streetAddressLine->size()=0, ad.city->size()=0, ad.postalCode->size()=0, ad.state->size()=0, ad.country->size()=0}->exists(bo : Boolean | bo = false) ) or ( (not ad.nullFlavor.oclIsUndefined()) and ad.nullFlavor=NullFlavor::NI and Bag{ad.streetAddressLine->size()=0, ad.city->size()=0, ad.postalCode->size()=0, ad.state->size()=0, ad.country->size()=0}->forAll(bo : Boolean | bo = true) ) ) ) ERROR constraint_R15_2 allowed sub part of /ClinicalDocument/recordTarget/patientRole/addr are streetAddressLine, city, postalCode, state and country (Appendix B1, R1.5) self.recordTarget->size()>0 and self.recordTarget->forAll(rt : POCDMT000040RecordTarget | (not rt.patientRole.oclIsUndefined()) and (rt.patientRole.addr->size()>0) and rt.patientRole.addr->forAll(ad : AD | ad.delimiter->size()=0 and ad.county->size()=0 and ad.houseNumber->size()=0 and ad.houseNumberNumeric->size()=0 and ad.direction->size()=0 and ad.streetName->size()=0 and ad.streetNameBase->size()=0 and ad.streetNameType->size()=0 and ad.additionalLocator->size()=0 and ad.unitID->size()=0 and ad.unitType->size()=0 and ad.careOf->size()=0 and ad.censusTract->size()=0 and ad.deliveryAddressLine->size()=0 and ad.deliveryInstallationType->size()=0 and ad.deliveryInstallationArea->size()=0 and ad.deliveryInstallationQualifier->size()=0 and ad.deliveryMode->size()=0 and ad.deliveryModeIdentifier->size()=0 and ad.buildingNumberSuffix->size()=0 and ad.postBox->size()=0 and ad.precinct->size()=0 ) ) ERROR constraint_R16_1 /ClinicalDocument/recordTarget/patientRole/telecom required.If there is no information, the nullFlavor attribute SHALL have a value of 'NI' and the 'value' and 'use' attributes SHALL be omitted, otherwise the nullFlavor attribute SHALL not be present, and the 'value' and 'use' attributes SHALL be present (Appendix B1, R1.6) self.recordTarget->size()>0 and self.recordTarget->forAll(rt : POCDMT000040RecordTarget | (not rt.patientRole.oclIsUndefined()) and (rt.patientRole.telecom->size()>0) and rt.patientRole.telecom->forAll(tel : TEL | ( tel.nullFlavor.oclIsUndefined() and (tel.use->size()>0) and (not tel.value.oclIsUndefined()) ) or ( (not tel.nullFlavor.oclIsUndefined()) and tel.use->isEmpty() and tel.value.oclIsUndefined() and tel.nullFlavor=NullFlavor::NI ) ) ) ERROR constraint_R16_2 it is not expected to have two nullFlavored telecom elements on /ClinicalDocument/recordTarget/patientRole (Appendix B1, R1.6) self.recordTarget->size()>0 and self.recordTarget->forAll(rt : POCDMT000040RecordTarget | (rt.patientRole.oclIsUndefined()) or rt.patientRole.telecom->select(tel : TEL | not tel.nullFlavor.oclIsUndefined())->size()<2 ) ERROR constraint_R16_3 we expect to have two telecom attribute on /ClinicalDocument/recordTarget/patientRole : on for telephone, the other for email, with no nullflavor value. otherwise, if no information exists about the telephone and the email, only one telecom attribute is allowed with nullFlavor=NI (Appendix B1, R1.6) self.recordTarget->size()>0 and self.recordTarget->forAll(rt : POCDMT000040RecordTarget | (not rt.patientRole.oclIsUndefined()) and ( (rt.patientRole.telecom->size()>1) or ( rt.patientRole.telecom->size()=1 and rt.patientRole.telecom->forAll(tel : TEL | (not tel.nullFlavor.oclIsUndefined()) ) ) ) ) ERROR constraint_R1111 effectiveTime is required (Appendix B1, R1.11.1) (not self.effectiveTime.oclIsUndefined()) and self.effectiveTime.nullFlavor.oclIsUndefined() ERROR constraint_R1112 Date of last update is requierd for PatientSummary document (Appendix B1, R1.11.2) (not 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.3')) or self.documentationOf->size()>0 and self.documentationOf->forAll(doc : POCDMT000040DocumentationOf | (not doc.serviceEvent.oclIsUndefined()) and (not doc.serviceEvent.effectiveTime.oclIsUndefined()) and (not doc.serviceEvent.effectiveTime.high.oclIsUndefined()) and doc.serviceEvent.effectiveTime.high.nullFlavor.oclIsUndefined() ) ERROR constraint_1113 DucmentId required and unique (Appendix B1, R1.11.3) (not self.id.oclIsUndefined()) and self.id.nullFlavor.oclIsUndefined() ERROR constraint_R1116_1 ClinicalDocument code is required and unique (Appendix B1, R1.11.6) (not self.code.oclIsUndefined()) and self.code.nullFlavor.oclIsUndefined() ERROR constraint_R1117 /ClinicalDocument/title is required (Appendix B1, R1.11.7) (not self.title.oclIsUndefined()) and self.title.nullFlavor.oclIsUndefined() ERROR constraint_R1118_1 /ClinicalDocument/confidentialityCode/@code required, nullFlavor allowed (Appendix B1, R1.11.8) (not self.confidentialityCode.oclIsUndefined()) and ( (not self.confidentialityCode.code.oclIsUndefined()) or (not self.confidentialityCode.nullFlavor.oclIsUndefined()) ) ERROR constraint_R1119_1 /ClinicalDocument/LegalAuthenticator required (Appendix B1, R1.11.9) (not self.legalAuthenticator.oclIsUndefined()) and self.legalAuthenticator.nullFlavor.oclIsUndefined() ERROR constraint_R1119_2 /ClinicalDocument/LegalAuthenticator SHALL have assignedPerson, and it SHALL have family name (R1.10.1) (Appendix B1, R1.11.9) (not self.legalAuthenticator.oclIsUndefined()) and (not self.legalAuthenticator.assignedEntity.oclIsUndefined()) and (not self.legalAuthenticator.assignedEntity.assignedPerson.oclIsUndefined()) and ( self.legalAuthenticator.assignedEntity.assignedPerson.name->size()>0 and self.legalAuthenticator.assignedEntity.assignedPerson.name->forAll(nm : PN | nm.family->size()>0 and nm.family->forAll(nullFlavor.oclIsUndefined()) ) ) ERROR constraint_R1119_3 /ClinicalDocument/LegalAuthenticator have assignedPerson, and it SHALL have given name (R1.10.2) (Appendix B1, R1.11.9) (not self.legalAuthenticator.oclIsUndefined()) and (not self.legalAuthenticator.assignedEntity.oclIsUndefined()) and (not self.legalAuthenticator.assignedEntity.assignedPerson.oclIsUndefined()) and ( self.legalAuthenticator.assignedEntity.assignedPerson.name->size()>0 and self.legalAuthenticator.assignedEntity.assignedPerson.name->forAll(nm : PN | nm.given->size()>0 and nm.given->forAll(nullFlavor.oclIsUndefined()) ) ) ERROR constraint_R1119_4 /ClinicalDocument/LegalAuthenticator SHALL have assignedPerson, and it SHALL have ID number (R1.10.5) (Appendix B1, R1.11.9) (not self.legalAuthenticator.oclIsUndefined()) and (not self.legalAuthenticator.assignedEntity.oclIsUndefined()) and (not self.legalAuthenticator.assignedEntity.assignedPerson.oclIsUndefined()) and self.legalAuthenticator.assignedEntity.id->select(ii : II | not ii.nullFlavor.oclIsUndefined())->size()=0 and self.legalAuthenticator.assignedEntity.id->size()>0 ERROR constraint_R1119_5 /ClinicalDocument/LegalAuthenticator SHALL have assignedPerson, and the legalAuthenticator SHALL have a telecom attribute (R1.10.8). NullFlavor is allowed with NI value, and in this case value and use SHALL be empty, otherwise these attributes SHALL be pesent (R1.10.8) (Appendix B1, R1.11.9) (not self.legalAuthenticator.oclIsUndefined()) and (not self.legalAuthenticator.assignedEntity.oclIsUndefined()) and (not self.legalAuthenticator.assignedEntity.assignedPerson.oclIsUndefined()) and ( ( self.legalAuthenticator.assignedEntity.telecom->size()>0 and self.legalAuthenticator.assignedEntity.telecom->forAll(tel : TEL | ( tel.nullFlavor.oclIsUndefined() and (not tel.value.oclIsUndefined()) and tel.use->size()>0) or ( (not tel.nullFlavor.oclIsUndefined()) and tel.nullFlavor=NullFlavor::NI and tel.value.oclIsUndefined() and tel.use->size()=0 ) ) ) ) ERROR constraint_R1119_6 /ClinicalDocument/LegalAuthenticator SHALL have assignedPerson, the legalAuthenticator SHALL have a telecom attribute, and it is not expected to have two nullFlavor telecom attributes (R1.10.8) (Appendix B1, R1.11.9) (not self.legalAuthenticator.oclIsUndefined()) and (not self.legalAuthenticator.assignedEntity.oclIsUndefined()) and (not self.legalAuthenticator.assignedEntity.assignedPerson.oclIsUndefined()) and self.legalAuthenticator.assignedEntity.telecom->select(tel : TEL | not tel.nullFlavor.oclIsUndefined())->size()<2 ERROR constraint_R1119_7 /ClinicalDocument/LegalAuthenticator SHALL have representedOrganization (Appendix B1, R1.11.9) (not self.legalAuthenticator.oclIsUndefined()) and (not self.legalAuthenticator.assignedEntity.oclIsUndefined()) and (not self.legalAuthenticator.assignedEntity.representedOrganization.oclIsUndefined()) ERROR constraint_R1119_8 /ClinicalDocument/LegalAuthenticator SHALL have representedOrganization, and the representedOrganization SHALL have a name (R1.10.9.1) (Appendix B1, R1.11.9) (not self.legalAuthenticator.oclIsUndefined()) and (not self.legalAuthenticator.assignedEntity.oclIsUndefined()) and (not self.legalAuthenticator.assignedEntity.representedOrganization.oclIsUndefined()) and self.legalAuthenticator.assignedEntity.representedOrganization.name->size()>0 ERROR constraint_R1119_9 /ClinicalDocument/LegalAuthenticator SHALL have representedOrganization, and the representedOrganization SHALL have an identifier (R1.10.9.2) (Appendix B1, R1.11.9) (not self.legalAuthenticator.oclIsUndefined()) and (not self.legalAuthenticator.assignedEntity.oclIsUndefined()) and (not self.legalAuthenticator.assignedEntity.representedOrganization.oclIsUndefined()) and self.legalAuthenticator.assignedEntity.representedOrganization.id->size()>0 ERROR constraint_R1119_10 /ClinicalDocument/LegalAuthenticator SHALL have representedOrganization, and the representedOrganization SHALL have an addr (R1.10.9.3) (Appendix B1, R1.11.9) (not self.legalAuthenticator.oclIsUndefined()) and (not self.legalAuthenticator.assignedEntity.oclIsUndefined()) and (not self.legalAuthenticator.assignedEntity.representedOrganization.oclIsUndefined()) and self.legalAuthenticator.assignedEntity.representedOrganization.addr->size()>0 ERROR constraint_R1119_11 /ClinicalDocument/LegalAuthenticator SHALL have representedOrganization, and the representedOrganization may have a unique streetAddressLine on the addr (R1.10.9.3.1) (Appendix B1, R1.11.9) (not self.legalAuthenticator.oclIsUndefined()) and (not self.legalAuthenticator.assignedEntity.oclIsUndefined()) and (not self.legalAuthenticator.assignedEntity.representedOrganization.oclIsUndefined()) and self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(ad : AD | ad.streetAddressLine->size()<2) ERROR constraint_R1119_12 /ClinicalDocument/LegalAuthenticator SHALL have representedOrganization, and the representedOrganization may have a unique city on the addr (R1.10.9.3.2) (Appendix B1, R1.11.9) (not self.legalAuthenticator.oclIsUndefined()) and (not self.legalAuthenticator.assignedEntity.oclIsUndefined()) and (not self.legalAuthenticator.assignedEntity.representedOrganization.oclIsUndefined()) and self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(ad : AD | ad.city->size()<2) ERROR constraint_R1119_13 /ClinicalDocument/LegalAuthenticator SHALL have representedOrganization, and the representedOrganization may have a unique state on the addr (R1.10.9.3.3) (Appendix B1, R1.11.9) (not self.legalAuthenticator.oclIsUndefined()) and (not self.legalAuthenticator.assignedEntity.oclIsUndefined()) and (not self.legalAuthenticator.assignedEntity.representedOrganization.oclIsUndefined()) and self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(ad : AD | ad.state->size()<2) ERROR constraint_R1119_14 /ClinicalDocument/LegalAuthenticator SHALL have representedOrganization, and the representedOrganization may have a unique postalCode on the addr (R1.10.9.3.4) (Appendix B1, R1.11.9) (not self.legalAuthenticator.oclIsUndefined()) and (not self.legalAuthenticator.assignedEntity.oclIsUndefined()) and (not self.legalAuthenticator.assignedEntity.representedOrganization.oclIsUndefined()) and self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(ad : AD | ad.postalCode->size()<2) ERROR constraint_R1119_15 /ClinicalDocument/LegalAuthenticator SHALL have representedOrganization, and the representedOrganization SHALL have a unique country on the addr (R1.10.9.3.5) (Appendix B1, R1.11.9) (not self.legalAuthenticator.oclIsUndefined()) and (not self.legalAuthenticator.assignedEntity.oclIsUndefined()) and (not self.legalAuthenticator.assignedEntity.representedOrganization.oclIsUndefined()) and self.legalAuthenticator.assignedEntity.representedOrganization.addr->forAll(ad : AD | ad.country->size()=1) ERROR constraint_R1119_16 /ClinicalDocument/LegalAuthenticator SHALL have representedOrganization, and the representedOrganization can have telecom attributes. If telecom is specified, it can be nullFlavored to NI, and in this case, value and use attribute SHALL be empty, otherwise these attribute SHALL be present (R1.10.9.4) (Appendix B1, R1.11.9) (not self.legalAuthenticator.oclIsUndefined()) and (not self.legalAuthenticator.assignedEntity.oclIsUndefined()) and (not self.legalAuthenticator.assignedEntity.representedOrganization.oclIsUndefined()) and self.legalAuthenticator.assignedEntity.representedOrganization.telecom->forAll(tel : TEL | ( tel.nullFlavor.oclIsUndefined() and (not tel.value.oclIsUndefined()) and tel.use->size()>0 ) or ( (not tel.nullFlavor.oclIsUndefined()) and tel.nullFlavor=NullFlavor::NI and tel.value.oclIsUndefined() and tel.use->size()=0 ) ) ERROR constraint_R1119_17 /ClinicalDocument/LegalAuthenticator SHALL have representedOrganization, and the representedOrganization can have telecom attributes. It is not expected to have two nullFlavored telecom attribute (Appendix B1, R1.11.9) (not self.legalAuthenticator.oclIsUndefined()) and (not self.legalAuthenticator.assignedEntity.oclIsUndefined()) and (not self.legalAuthenticator.assignedEntity.representedOrganization.oclIsUndefined()) and self.legalAuthenticator.assignedEntity.representedOrganization.telecom->select(tel : TEL | (not tel.nullFlavor.oclIsUndefined()))->size()<2 ERROR constraint_R110 An author or a performer with the template 1.3.6.1.4.1.19376.1.5.3.1.2.3 is required for eP, eD and PS document (Appendix B1, R1.10, R1.10.1) self.author->size()>0 or self.documentationOf->exists(doc : POCDMT000040DocumentationOf | (not doc.serviceEvent.oclIsUndefined()) and doc.serviceEvent.performer->exists(perf : POCDMT000040Performer1 | perf.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.2.3' ) ) ) ERROR LanguageCommunication TemplateSpec LanguageCommunication 1.3.6.1.4.1.19376.1.5.3.1.2.1 cda-POCDMT000040LanguageCommunication constraint_R17_1 if present, /ClinicalDocument/recordTarget/patientRole/patient/languageCommunication/languageCode SHALL have the form nn-CC self.languageCode.oclIsUndefined() or self.languageCode.code.oclIsUndefined() or self.languageCode.matches(self.languageCode.code, '[a-z]{2}-[A-Z]{2}') ERROR PatientGuardian TemplateSpec PatientGuardian 1.3.6.1.4.1.19376.1.5.3.1.2.4 cda-POCDMT000040Guardian constraint_R17A1 If Patient's Guardian present, its family name SHALL be present (Appendix B1, R1.7.A.1) self.guardianPerson.oclIsUndefined() or (not self.guardianPerson.nullFlavor.oclIsUndefined()) or (self.guardianPerson.name->forAll(nm : PN | nm.family->size()>0) and self.guardianPerson.name->size()>0) ERROR constraint_R17A2 If Patient's Guardian present, its given name SHALL be present (Appendix B1, R1.7.A.2) self.guardianPerson.oclIsUndefined() or (not self.guardianPerson.nullFlavor.oclIsUndefined()) or self.guardianPerson.name->forAll(nm : PN | nm.given->size()>0) ERROR constraint_R17A3_1 If the guardian is present, its address is required. If there is no information, the nullFlavor attribute SHALL have a value of 'NI' and no address parts SHALL be present. (Appendix B1, R1.7.A.3) self.addr->size()>0 and self.addr->forAll(ad : AD | ( (ad.nullFlavor.oclIsUndefined()) and ( Bag{ad.additionalLocator->size()=0, ad.buildingNumberSuffix->size()=0, ad.careOf->size()=0, ad.censusTract->size()=0, ad.city->size()=0, ad.country->size()=0, ad.county->size()=0, ad.delimiter->size()=0, ad.deliveryAddressLine->size()=0, ad.deliveryInstallationArea->size()=0, ad.deliveryInstallationType->size()=0, ad.deliveryMode->size()=0, ad.deliveryModeIdentifier->size()=0, ad.direction->size()=0, ad.houseNumber->size()=0, ad.houseNumberNumeric->size()=0, ad.postBox->size()=0, ad.postalCode->size()=0, ad.precinct->size()=0, ad.state->size()=0, ad.streetAddressLine->size()=0, ad.streetName->size()=0, ad.streetNameBase->size()=0, ad.streetNameType->size()=0, ad.unitID->size()=0, ad.unitType->size()=0}->exists(bl : Boolean | bl = false) ) ) or ( (not ad.nullFlavor.oclIsUndefined()) and ad.nullFlavor=NullFlavor::NI and Bag{ad.additionalLocator->size()=0, ad.buildingNumberSuffix->size()=0, ad.careOf->size()=0, ad.censusTract->size()=0, ad.city->size()=0, ad.country->size()=0, ad.county->size()=0, ad.delimiter->size()=0, ad.deliveryAddressLine->size()=0, ad.deliveryInstallationArea->size()=0, ad.deliveryInstallationType->size()=0, ad.deliveryMode->size()=0, ad.deliveryModeIdentifier->size()=0, ad.direction->size()=0, ad.houseNumber->size()=0, ad.houseNumberNumeric->size()=0, ad.postBox->size()=0, ad.postalCode->size()=0, ad.precinct->size()=0, ad.state->size()=0, ad.streetAddressLine->size()=0, ad.streetName->size()=0, ad.streetNameBase->size()=0, ad.streetNameType->size()=0, ad.unitID->size()=0, ad.unitType->size()=0}->forAll(bl : Boolean | bl = true) ) ) ERROR constraint_R17A3_2 allowed part on address of guardian, are streetAddressLine, city, postal code, state, and country (Appendix B1, R1.7.A.3) self.addr->forAll(ad : AD | Bag{ad.additionalLocator->size()=0, ad.buildingNumberSuffix->size()=0, ad.careOf->size()=0, ad.censusTract->size()=0, ad.county->size()=0, ad.delimiter->size()=0, ad.deliveryAddressLine->size()=0, ad.deliveryInstallationArea->size()=0, ad.deliveryInstallationType->size()=0, ad.deliveryMode->size()=0, ad.deliveryModeIdentifier->size()=0, ad.direction->size()=0, ad.houseNumber->size()=0, ad.houseNumberNumeric->size()=0, ad.postBox->size()=0,ad.precinct->size()=0,ad.streetName->size()=0, ad.streetNameBase->size()=0, ad.streetNameType->size()=0, ad.unitID->size()=0, ad.unitType->size()=0}->forAll(bl : Boolean | bl = true) ) ERROR constraint_R17A4_1 The guardian's telecommunication <telecom> element is required (one for email, the other for telephone).If there is no information, the nullFlavor attribute SHALL have a value of NI and the 'value' and 'use' attributes SHALL be omitted, otherwise the nullFlavor attribute SHALL not be present, and the 'value' and 'use' attributes SHALL be present. (Appendix B1, R1.7.A.4) ( self.telecom->size()>1 or ( self.telecom->size()=1 and self.telecom->forAll(tel : TEL | not tel.nullFlavor.oclIsUndefined()) ) ) and self.telecom->forAll(tel : TEL | ( tel.nullFlavor.oclIsUndefined() and (tel.use->size()>0) and (not tel.value.oclIsUndefined()) ) or ( (not tel.nullFlavor.oclIsUndefined()) and tel.nullFlavor=NullFlavor::NI and (tel.use->size()=0) and tel.value.oclIsUndefined() ) ) ERROR constraint_R17A4_2 it is not expected to have two nullFlavored telecom elements (Appendix B1, R1.7.A.4) self.telecom->select(tel : TEL | (not tel.nullFlavor.oclIsUndefined()))->size()<2 ERROR AuthorHCPIdentification ConstraintsSpec AuthorHCPIdentification cda-POCDMT000040Author constraint_R1101 HCP family required (Appendix B1, R1.10.1) (not self.assignedAuthor.oclIsUndefined()) and (not self.assignedAuthor.assignedPerson.oclIsUndefined()) and self.assignedAuthor.assignedPerson.name->forAll(nm : PN | nm.family->size()>0 and nm.family->forAll(fam : EnFamily | fam.nullFlavor.oclIsUndefined()) ) ERROR constraint_R1102 HCP given required (Appendix B1, R1.10.2) (not self.assignedAuthor.oclIsUndefined()) and (not self.assignedAuthor.assignedPerson.oclIsUndefined()) and self.assignedAuthor.assignedPerson.name->forAll(nm : PN | nm.given->size()>0 and nm.given->forAll(giv : EnGiven | giv.nullFlavor.oclIsUndefined()) ) ERROR constraint_R1105 HCP ID number required (Appendix B1, R1.10.5) (not self.assignedAuthor.oclIsUndefined()) and self.assignedAuthor.id->size()>0 and self.assignedAuthor.id->forAll(ii : II | ii.nullFlavor.oclIsUndefined()) ERROR constraint_R1108_1 HCP telecom is required. If there is no information, the nullFlavor attribute SHALL have a value of 'NI' and the 'value' and 'use' attributes SHALL be omitted, otherwise the nullFlavor attribute SHALL not be present, and the 'value' and 'use' attributes SHALL be present (Appendix B1, R1.10.8) (not self.assignedAuthor.oclIsUndefined()) and self.assignedAuthor.telecom->size()>0 and self.assignedAuthor.telecom->forAll(tel : TEL | ( tel.nullFlavor.oclIsUndefined() and (not tel.value.oclIsUndefined()) and (tel.use->size()>0) ) or ( (not tel.nullFlavor.oclIsUndefined()) and tel.nullFlavor=NullFlavor::NI and tel.value.oclIsUndefined() and (tel.use->size()=0) ) ) ERROR constraint_R1109 Healthcare Facility required for HCP (Appendix B1, R1.10.9) (not self.assignedAuthor.oclIsUndefined()) and (not self.assignedAuthor.representedOrganization.oclIsUndefined()) ERROR constraint_R11093_2 Allowed sub part of Healthcare facility address are streetAddressLine, city, state, postalCode and country (Appendix B1, R1.10.9.3) (self.assignedAuthor.oclIsUndefined()) or (self.assignedAuthor.representedOrganization.oclIsUndefined()) or self.assignedAuthor.representedOrganization.addr->forAll(ad : AD | Bag{ad.additionalLocator->size()=0, ad.buildingNumberSuffix->size()=0, ad.careOf->size()=0, ad.censusTract->size()=0, ad.county->size()=0, ad.delimiter->size()=0, ad.deliveryAddressLine->size()=0, ad.deliveryInstallationArea->size()=0, ad.deliveryInstallationType->size()=0, ad.deliveryMode->size()=0, ad.deliveryModeIdentifier->size()=0, ad.direction->size()=0, ad.houseNumber->size()=0, ad.houseNumberNumeric->size()=0, ad.postBox->size()=0,ad.precinct->size()=0,ad.streetName->size()=0, ad.streetNameBase->size()=0, ad.streetNameType->size()=0, ad.unitID->size()=0, ad.unitType->size()=0}->forAll(bl : Boolean | bl = true) ) ERROR constraint_R11094_2 If the healthcare facility is present, it can have nullFlavor as NI, and the value and use attribute are omitted, otherwise value and use attribute SHALL be present. (Appendix B1, R1.10.9.4) (self.assignedAuthor.oclIsUndefined()) or (self.assignedAuthor.representedOrganization.oclIsUndefined()) or self.assignedAuthor.representedOrganization.telecom->forAll(tel :TEL | ( tel.nullFlavor.oclIsUndefined() and tel.use->size()>0 and (not tel.value.oclIsUndefined()) ) or ( (not tel.nullFlavor.oclIsUndefined()) and tel.nullFlavor=NullFlavor::NI and tel.use->size()=0 and tel.value.oclIsUndefined() ) ) ERROR constraint_R11093_1 Healthcare Facility address required (Appendix B1, R1.10.9.3) (not self.assignedAuthor.oclIsUndefined()) and (not self.assignedAuthor.representedOrganization.oclIsUndefined()) and (self.assignedAuthor.representedOrganization.addr->size()>0) ERROR HealthCareProvider TemplateSpec HealthCareProvider 1.3.6.1.4.1.19376.1.5.3.1.2.3 cda-POCDMT000040Performer1 constraint_R1101 HCP family required (Appendix B1, R1.10.1) (not self.assignedEntity.oclIsUndefined()) and (not self.assignedEntity.assignedPerson.oclIsUndefined()) and self.assignedEntity.assignedPerson.name->size()>0 and self.assignedEntity.assignedPerson.name->forAll(nm : PN | nm.family->size()>0 and nm.family->forAll(fam : EnFamily | fam.nullFlavor.oclIsUndefined()) ) ERROR constraint_R1102 HCP given required (Appendix B1, R1.10.2) (not self.assignedEntity.oclIsUndefined()) and (not self.assignedEntity.assignedPerson.oclIsUndefined()) and self.assignedEntity.assignedPerson.name->size()>0 and self.assignedEntity.assignedPerson.name->forAll(nm : PN | nm.given->size()>0 and nm.given->forAll(giv : EnGiven | giv.nullFlavor.oclIsUndefined()) ) ERROR constraint_R1105 HCP ID number required (Appendix B1, R1.10.5) (not self.assignedEntity.oclIsUndefined()) and self.assignedEntity.id->size()>0 and self.assignedEntity.id->forAll(ii : II | ii.nullFlavor.oclIsUndefined()) ERROR constraint_R1108_1 HCP telecom is required. If there is no information, the nullFlavor attribute SHALL have a value of 'NI' and the 'value' and 'use' attributes SHALL be omitted, otherwise the nullFlavor attribute SHALL not be present, and the 'value' and 'use' attributes SHALL be present (Appendix B1, R1.10.8) (not self.assignedEntity.oclIsUndefined()) and self.assignedEntity.telecom->size()>0 and self.assignedEntity.telecom->forAll(tel : TEL | ( tel.nullFlavor.oclIsUndefined() and (not tel.value.oclIsUndefined()) and (tel.use->size()>0) ) or ( (not tel.nullFlavor.oclIsUndefined()) and tel.nullFlavor=NullFlavor::NI and tel.value.oclIsUndefined() and (tel.use->size()=0) ) ) ERROR constraint_R1109 Healthcare Facility required for HCP (Appendix B1, R1.10.9) (not self.assignedEntity.oclIsUndefined()) and (not self.assignedEntity.representedOrganization.oclIsUndefined()) ERROR constraint_R11093_2 Allowed sub part of Healthcare facility address are streetAddressLine, city, state, postalCode and country (Appendix B1, R1.10.9.3) (self.assignedEntity.oclIsUndefined()) or (self.assignedEntity.representedOrganization.oclIsUndefined()) or self.assignedEntity.representedOrganization.addr->forAll(ad : AD | Bag{ad.additionalLocator->size()=0, ad.buildingNumberSuffix->size()=0, ad.careOf->size()=0, ad.censusTract->size()=0, ad.county->size()=0, ad.delimiter->size()=0, ad.deliveryAddressLine->size()=0, ad.deliveryInstallationArea->size()=0, ad.deliveryInstallationType->size()=0, ad.deliveryMode->size()=0, ad.deliveryModeIdentifier->size()=0, ad.direction->size()=0, ad.houseNumber->size()=0, ad.houseNumberNumeric->size()=0, ad.postBox->size()=0,ad.precinct->size()=0,ad.streetName->size()=0, ad.streetNameBase->size()=0, ad.streetNameType->size()=0, ad.unitID->size()=0, ad.unitType->size()=0}->forAll(bl : Boolean | bl = true) ) ERROR constraint_R11094_2 If the healthcare facility is present, it can have nullFlavor as NI, and the value and use attribute are omitted, otherwise value and use attribute SHALL be present. (Appendix B1, R1.10.9.4) (self.assignedEntity.oclIsUndefined()) or (self.assignedEntity.representedOrganization.oclIsUndefined()) or self.assignedEntity.representedOrganization.telecom->forAll(tel :TEL | ( tel.nullFlavor.oclIsUndefined() and tel.use->size()>0 and (not tel.value.oclIsUndefined()) ) or ( (not tel.nullFlavor.oclIsUndefined()) and tel.nullFlavor=NullFlavor::NI and tel.use->size()=0 and tel.value.oclIsUndefined() ) ) ERROR constraint_R11093_1 Healthcare Facility address required (Appendix B1, R1.10.9.3) (not self.assignedEntity.oclIsUndefined()) and (not self.assignedEntity.representedOrganization.oclIsUndefined()) and (self.assignedEntity.representedOrganization.addr->size()>0) ERROR CommonHeader ConstraintsSpec CommonHeader cdaepsos-POCDMT000040ClinicalDocument constraint_custodian1 custodian element is required and SHALL have assignedCustodian and representedCustodianOrganization (Appendix B1, 11.1.4) (not self.custodian.oclIsUndefined()) and (not self.custodian.assignedCustodian.oclIsUndefined()) and (not self.custodian.assignedCustodian.representedCustodianOrganization.oclIsUndefined()) ERROR constraint_custodian2 custodian SHALL have name (Appendix B1, 11.1.4) (not self.custodian.oclIsUndefined()) and (not self.custodian.assignedCustodian.oclIsUndefined()) and (not self.custodian.assignedCustodian.representedCustodianOrganization.oclIsUndefined()) and (not self.custodian.assignedCustodian.representedCustodianOrganization.name.oclIsUndefined()) ERROR constraint_custodian3 custodian SHALL have addr (Appendix B1, 11.1.4) (not self.custodian.oclIsUndefined()) and (not self.custodian.assignedCustodian.oclIsUndefined()) and (not self.custodian.assignedCustodian.representedCustodianOrganization.oclIsUndefined()) and (not self.custodian.assignedCustodian.representedCustodianOrganization.addr.oclIsUndefined()) ERROR constraint_custodian4 custodian SHALL have telecom (Appendix B1, 11.1.4) (not self.custodian.oclIsUndefined()) and (not self.custodian.assignedCustodian.oclIsUndefined()) and (not self.custodian.assignedCustodian.representedCustodianOrganization.oclIsUndefined()) and (not self.custodian.assignedCustodian.representedCustodianOrganization.telecom.oclIsUndefined()) ERROR constraint_custodian5 custodian SHALL have id element (Appendix B1, 11.1.4) (not self.custodian.oclIsUndefined()) and (not self.custodian.assignedCustodian.oclIsUndefined()) and (not self.custodian.assignedCustodian.representedCustodianOrganization.oclIsUndefined()) and self.custodian.assignedCustodian.representedCustodianOrganization.id->size()>0 ERROR constraint_guardian1 guardian SHALL be recorded on /ClinicalDocument/recordTarget/patientRole/patient element(Appendix B1, 11.1.5) self.recordTarget->size()>0 and self.recordTarget->forAll(rec : POCDMT000040RecordTarget | (not rec.patientRole.oclIsUndefined()) and (not rec.patientRole.patient.oclIsUndefined()) and rec.patientRole.patient.guardian->size()>0 ) ERROR constraint_participant1 the associatedEntity on /ClinicalDocument/participant SHALL have classCode from the set AGNT, CAREGIVER, ECON, NOK, or PRS (Appendix B1, 11.1.5) self.participant->forAll(part : POCDMT000040Participant1 | (not part.associatedEntity.oclIsUndefined()) and (not part.associatedEntity.classCode.oclIsUndefined()) and ( part.associatedEntity.classCode=RoleClassAssociative::AGNT or part.associatedEntity.classCode=RoleClassAssociative::CAREGIVER or part.associatedEntity.classCode=RoleClassAssociative::ECON or part.associatedEntity.classCode=RoleClassAssociative::NOK or part.associatedEntity.classCode=RoleClassAssociative::PRS ) ) ERROR constraint_setId Implementers are recommended to setId this attribute. (Appendix B1, 11.1.3) not self.setId.oclIsUndefined() WARNING constraint_guardian2 The code attribute of guardian is required (Appendix B1, 11.1.5) self.recordTarget->size()>0 and self.recordTarget->forAll(rec : POCDMT000040RecordTarget | (not rec.patientRole.oclIsUndefined()) and (not rec.patientRole.patient.oclIsUndefined()) and rec.patientRole.patient.guardian->size()>0 and rec.patientRole.patient.guardian->forAll(gard : POCDMT000040Guardian | (not gard.code.oclIsUndefined()) and gard.code.nullFlavor.oclIsUndefined() ) ) ERROR constraint_guardian3 The address of the guardian or other contact SHOULD be present (Appendix B1, 11.1.5) self.recordTarget->size()>0 and self.recordTarget->forAll(rec : POCDMT000040RecordTarget | (not rec.patientRole.oclIsUndefined()) and (not rec.patientRole.patient.oclIsUndefined()) and rec.patientRole.patient.guardian->size()>0 and rec.patientRole.patient.guardian->forAll(gard : POCDMT000040Guardian | gard.addr->size()>0 ) ) WARNING constraint_guardian4 The phone number of the guardian or other contact SHOULD be present (Appendix B1, 11.1.5) self.recordTarget->size()>0 and self.recordTarget->forAll(rec : POCDMT000040RecordTarget | (not rec.patientRole.oclIsUndefined()) and (not rec.patientRole.patient.oclIsUndefined()) and rec.patientRole.patient.guardian->size()>0 and rec.patientRole.patient.guardian->forAll(gard : POCDMT000040Guardian | gard.telecom->size()>0 ) ) WARNING constraint_guardian5 The name of the guardian or other contact SHALL be present (Appendix B1, 11.1.5) self.recordTarget->size()>0 and self.recordTarget->forAll(rec : POCDMT000040RecordTarget | (not rec.patientRole.oclIsUndefined()) and (not rec.patientRole.patient.oclIsUndefined()) and rec.patientRole.patient.guardian->size()>0 and rec.patientRole.patient.guardian->forAll(gard : POCDMT000040Guardian | ( (not gard.guardianOrganization.oclIsUndefined()) and gard.guardianOrganization.name->size()>0 ) or ( (not gard.guardianPerson.oclIsUndefined()) and gard.guardianPerson.name->size()>0 ) ) ) ERROR constraint_author At least one author is required (Appendix B1, 11.1.7) self.author->size()>0 and self.author->exists(aut : POCDMT000040Author | (not aut.assignedAuthor.oclIsUndefined()) and ( (not aut.assignedAuthor.assignedAuthoringDevice.oclIsUndefined()) or (not aut.assignedAuthor.assignedPerson.oclIsUndefined()) ) ) ERROR MedicationFulfillmentInstructionEntry TemplateSpec MedicationFulfillmentInstructionEntry 1.3.6.1.4.1.19376.1.5.3.1.4.3.1 cdaepsos-POCDMT000040EntryRelationship constraint_typeCode typeCode SHALL be equals to SUBJ (Appendix B1, 12.1.2.6.2.1) (not self.typeCode.oclIsUndefined()) and self.typeCode=XActRelationshipEntryRelationship::SUBJ ERROR constraint_inversionInd inversionInd SHALL be equal to true (Appendix B1, 12.1.2.6.2.1) (not self.inversionInd.oclIsUndefined()) and self.inversionInd=true ERROR constraint_classCode act/classCode SHALL be equals to ACT (Appendix B1, 12.1.2.6.2.2) (not self.act.oclIsUndefined()) and (not self.act.classCode.oclIsUndefined()) and self.act.classCode=XActClassDocumentEntryAct::ACT ERROR constraint_moodCode act@moodCode=INT (Appendix B1, 12.1.2.6.2.2) (not self.act.oclIsUndefined()) and (not self.act.moodCode.oclIsUndefined()) and self.act.moodCode=XDocumentActMood::INT ERROR constraint_templateId act SHALL contains two templateId : 2.16.840.1.113883.10.20.1.43 and 1.3.6.1.4.1.19376.1.5.3.1.4.3.1 (Appendix B1, 12.1.2.6.2.3) self.act.oclIsUndefined() or self.act.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.1.43' ) ERROR constraint_code code of act SHALL be <code code='FINSTRUCT' codeSystem='1.3.6.1.4.1.19376.1.5.3.2' codeSystemName='IHEActCode' /> (Appendix B1, 12.1.2.6.2.4) (not self.act.code.oclIsUndefined()) and (not self.act.code.code.oclIsUndefined()) and self.act.code.code='FINSTRUCT' and (not self.act.code.codeSystem.oclIsUndefined()) and self.act.code.codeSystem='1.3.6.1.4.1.19376.1.5.3.2' and (not self.act.code.codeSystemName.oclIsUndefined()) and self.act.code.codeSystemName='IHEActCode' ERROR constraint_text if text present, it SHALL contains reference element, with a value (Appendix B1, 12.1.2.6.2.5) self.act.text.oclIsUndefined() or ( (not self.act.text.reference.oclIsUndefined()) and (not self.act.text.reference.value.oclIsUndefined()) ) ERROR constraint_statusCode The code attribute of <statusCode> for all comments must be completed (Appendix B1, 12.1.2.6.2.6) (not self.act.statusCode.oclIsUndefined()) and (not self.act.statusCode.code.oclIsUndefined()) and self.act.statusCode.code='completed' ERROR CommonPivot MedicalDocumentsSpecification2 TemplateSpec MedicalDocumentsSpecification2 1.3.6.1.4.1.19376.1.5.3.1.1.1 cdaepsos-POCDMT000040ClinicalDocument constraint_R12_2 /ClinicalDocument/recordTarget/patientRole/patient/administrativeGenderCode SHALL be HL7:AdministrativeGender (2.16.840.1.113883.5.1). (Appendix B1, R1.2) self.recordTarget->size()>0 and self.recordTarget->forAll(rt : POCDMT000040RecordTarget | (not rt.patientRole.oclIsUndefined()) and (not rt.patientRole.patient.oclIsUndefined()) and (not rt.patientRole.patient.administrativeGenderCode.oclIsUndefined()) and rt.patientRole.patient.administrativeGenderCode.matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.34', rt.patientRole.patient.administrativeGenderCode.code, rt.patientRole.patient.administrativeGenderCode.codeSystem, rt.patientRole.patient.administrativeGenderCode.codeSystemName, rt.patientRole.patient.administrativeGenderCode.displayName ) ) -- 1.3.6.1.4.1.12559.11.10.1.3.1.42.34 :: epSOSAdministrativeGender ERROR constraint_R156 If present, /ClinicalDocument/recordTarget/patientRole/addr/country SHALL be from epSOSCountry (1.0.3166.1) (Appendix B1, R1.5.6) self.recordTarget->size()>0 and self.recordTarget->forAll(rt : POCDMT000040RecordTarget | (not rt.patientRole.oclIsUndefined()) and (rt.patientRole.addr->size()>0) and rt.patientRole.addr->forAll(ad : AD | ad.country->forAll(coun : AdxpCountry | coun.getListStringValues()->forAll(st : String | coun.matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.4', st)) ) ) ) ERROR constraint_R161 /ClinicalDocument/recordTarget/patientRole/telecom/@use SHALL be HL7:TelecommunicationAddressUse if present (Appendix B1, R1.6.1) (self.recordTarget->size()>0) and self.recordTarget->forAll(rt : POCDMT000040RecordTarget | (not rt.patientRole.oclIsUndefined()) and rt.patientRole.telecom->forAll(tel : TEL | tel.use->forAll(st : String | tel.matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.40', st) ) ) ) ERROR constraint_R1116_2 ClinicalDocument SHALL have code from epSOSDocumentCode codes (Appendix B1, R1.11.6) self.code.oclIsUndefined() or self.code.matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.32', self.code.code, self.code.codeSystem, self.code.codeSystemName, self.code.displayName) ERROR constraint_R1118_2 /ClinicalDocument/confidentialityCode/@code SHALL be from ConfidentialityByAccessKind codes (epSOS confidentiality) (Appendix B1, R1.11.8) self.confidentialityCode.oclIsUndefined() or self.confidentialityCode.code.oclIsUndefined() or self.confidentialityCode.matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.31', self.confidentialityCode.code, self.confidentialityCode.codeSystem, self.confidentialityCode.codeSystemName, self.confidentialityCode.displayName) ERROR constraint_R1110 languageCode SHALL have this form nn-CC, with nn from epSOSLanguage and CC from epSOSCountry (Appendix B1, R1.11.10) self.languageCode.oclIsUndefined() or self.languageCode.code.oclIsUndefined() or ( self.languageCode.matches(self.languageCode.code, '[a-z]{2}-[A-Z]{2}') and self.languageCode.matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.4', self.languageCode.code.substring(4, 5)) and self.languageCode.matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.6', self.languageCode.code.substring(1, 2)) ) ERROR LanguageCommunication2 TemplateSpec LanguageCommunication2 1.3.6.1.4.1.19376.1.5.3.1.2.1 cda-POCDMT000040LanguageCommunication constraint_R17_2 if present, /ClinicalDocument/recordTarget/patientRole/patient/languageCommunication/languageCode SHALL have the form nn-CC, and nn portion SHALL be from epSOSLanguage self.languageCode.oclIsUndefined() or self.languageCode.code.oclIsUndefined() or ( self.languageCode.matches(self.languageCode.code, '[a-z]{2}-[A-Z]{2}') and self.languageCode.matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.6', self.languageCode.code.substring(1, 2)) ) ERROR constraint_R17_3 if present, /ClinicalDocument/recordTarget/patientRole/patient/languageCommunication/languageCode SHALL have the form nn-CC, and CC portion SHALL be from epSOSCountry self.languageCode.oclIsUndefined() or self.languageCode.code.oclIsUndefined() or ( self.languageCode.matches(self.languageCode.code, '[a-z]{2}-[A-Z]{2}') and self.languageCode.matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.4', self.languageCode.code.substring(4, 5)) ) ERROR PatientGuardian2 TemplateSpec PatientGuardian2 1.3.6.1.4.1.19376.1.5.3.1.2.4 cda-POCDMT000040Guardian constraint_R17A36 on guardian, the country part SHALL be from epSOSCountry codes (Appendix B1, R1.7.A.3.6) self.addr->forAll(ad : AD | ad.country->forAll(coun : AdxpCountry | coun.getListStringValues()->forAll(st : String | ad.matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.4', st) )) ) ERROR constraint_R17A4_3 on telecom, use SHALL be from HL7:TelecommunicationAddressUse (Appendix B1, R1.7.A.4) self.telecom->forAll(tel : TEL | tel.use->forAll(st : String | tel.matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.40', st))) ERROR AuthorHCPIdentification2 ConstraintsSpec AuthorHCPIdentification2 cda-POCDMT000040Author constraint_R1106_2 HCP function code SHALL be from epSOS : HealthcareProfessionalRoles (Appendix B1, R1.10.6) self.functionCode.oclIsUndefined() or (not self.functionCode.nullFlavor.oclIsUndefined()) or self.functionCode.matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.1', self.functionCode.code, self.functionCode.codeSystem, self.functionCode.codeSystemName, self.functionCode.displayName) ERROR constraint_R1108_2 telecom@use are from TelecommunicationAddressUse valueSet (Appendix B1, R1.10.8) (not self.assignedAuthor.oclIsUndefined()) and self.assignedAuthor.telecom->size()>0 and self.assignedAuthor.telecom->forAll(tel : TEL | tel.use->forAll(st : String | tel.matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.40', st))) ERROR constraint_R110935 Healthcare Facility address SHALL have unique country code part (nullflavor not allowed), and the code SHALL be from epSOScountry codes (Appendix B1, R1.10.9.3.5) self.assignedAuthor.oclIsUndefined() or self.assignedAuthor.representedOrganization.oclIsUndefined() or ( self.assignedAuthor.representedOrganization.addr->forAll(ad : AD | ad.country->size()=1) and self.assignedAuthor.representedOrganization.addr->forAll(ad : AD | ad.country->forAll(coun : AdxpCountry | coun.nullFlavor.oclIsUndefined() and coun.getListStringValues()->forAll(st : String | ad.matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.4', st) ) ) ) ) ERROR HealthCareProvider2 TemplateSpec HealthCareProvider2 1.3.6.1.4.1.19376.1.5.3.1.2.3 cda-POCDMT000040Performer1 constraint_R1106_2 HCP function code SHALL be from epSOS : HealthcareProfessionalRoles (Appendix B1, R1.10.6) self.functionCode.oclIsUndefined() or (not self.functionCode.nullFlavor.oclIsUndefined()) or self.functionCode.matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.1', self.functionCode.code, self.functionCode.codeSystem, self.functionCode.codeSystemName, self.functionCode.displayName) ERROR constraint_R1108_2 telecom@use are from TelecommunicationAddressUse valueSet (Appendix B1, R1.10.8) (not self.assignedEntity.oclIsUndefined()) and self.assignedEntity.telecom->size()>0 and self.assignedEntity.telecom->forAll(tel : TEL | tel.use->forAll(st : String | tel.matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.40', st))) ERROR constraint_R110935 Healthcare Facility address SHALL have unique country code part (nullflavor not allowed), and the code SHALL be from epSOScountry codes (Appendix B1, R1.10.9.3.5) self.assignedEntity.oclIsUndefined() or self.assignedEntity.representedOrganization.oclIsUndefined() or ( self.assignedEntity.representedOrganization.addr->forAll(ad : AD | ad.country->size()=1) and self.assignedEntity.representedOrganization.addr->forAll(ad : AD | ad.country->forAll(coun : AdxpCountry | coun.nullFlavor.oclIsUndefined() and coun.getListStringValues()->forAll(st : String | ad.matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.4', st) ) ) ) ) ERROR datatypes AD AD datatypes-ANY delimiter partType of delimiter attribute fixed to DEL value self.delimiter->forAll(adxp : AdxpDelimiter | adxp.partType.oclIsUndefined() or adxp.partType = AddressPartType::DEL) ERROR country partType of country attribute fixed to CNT value self.country->forAll(adxp : AdxpCountry | adxp.partType.oclIsUndefined() or adxp.partType = AddressPartType::CNT) ERROR state partType of state attribute fixed to STA value self.state->forAll(adxp : AdxpState | adxp.partType.oclIsUndefined() or adxp.partType = AddressPartType::STA) ERROR county partType of county attribute fixed to CPA value self.county->forAll(adxp : AdxpCounty | (adxp.partType.oclIsUndefined()) or adxp.partType = AddressPartType::CPA) ERROR city partType of city attribute fixed to CTY value self.city->forAll(adxp : AdxpCity | adxp.partType.oclIsUndefined() or adxp.partType = AddressPartType::CTY) ERROR postalCode partType of postalCode attribute fixed to ZIP value self.postalCode->forAll(adxp : AdxpPostalCode | adxp.partType.oclIsUndefined() or adxp.partType = AddressPartType::ZIP) ERROR streetAddressLine partType of streetAddressLine attribute fixed to SAL value self.streetAddressLine->forAll(adxp : AdxpStreetAddressLine | adxp.partType.oclIsUndefined() or adxp.partType = AddressPartType::SAL) ERROR houseNumber partType of houseNumber attribute fixed to BNR value self.houseNumber->forAll(adxp : AdxpHouseNumber | adxp.partType.oclIsUndefined() or adxp.partType = AddressPartType::BNR) ERROR houseNumberNumeric partType of houseNumberNumeric attribute fixed to BNN value self.houseNumberNumeric->forAll(adxp : AdxpHouseNumberNumeric | adxp.partType.oclIsUndefined() or adxp.partType = AddressPartType::BNN) ERROR direction partType of direction attribute fixed to DIR value self.direction->forAll(adxp : AdxpDirection | adxp.partType.oclIsUndefined() or adxp.partType = AddressPartType::DIR) ERROR streetName partType of streetName attribute fixed to STR value self.streetName->forAll(adxp : AdxpStreetName | adxp.partType.oclIsUndefined() or adxp.partType = AddressPartType::STR) ERROR streetNameBase partType of streetNameBase attribute fixed to STB value self.streetNameBase->forAll(adxp : AdxpStreetNameBase | adxp.partType.oclIsUndefined() or adxp.partType = AddressPartType::STB) ERROR streetNameType partType of streetNameType attribute fixed to STTYP value self.streetNameType->forAll(adxp : AdxpStreetNameType | adxp.partType.oclIsUndefined() or adxp.partType = AddressPartType::STTYP) ERROR additionalLocator partType of additionalLocator attribute fixed to ADL value self.additionalLocator->forAll(adxp : AdxpAdditionalLocator | adxp.partType.oclIsUndefined() or adxp.partType = AddressPartType::ADL) ERROR unitID partType of unitID attribute fixed to UNID value self.unitID->forAll(adxp : AdxpUnitID | adxp.partType.oclIsUndefined() or adxp.partType = AddressPartType::UNID) ERROR unitType partType of unitType attribute fixed to UNIT value self.unitType->forAll(adxp : AdxpUnitType | adxp.partType.oclIsUndefined() or adxp.partType = AddressPartType::UNIT) ERROR careOf partType of careOf attribute fixed to CAR value self.careOf->forAll(adxp : AdxpCareOf | adxp.partType.oclIsUndefined() or adxp.partType = AddressPartType::CAR) ERROR censusTract partType of censusTract attribute fixed to CEN value self.censusTract->forAll(adxp : AdxpCensusTract | adxp.partType.oclIsUndefined() or adxp.partType = AddressPartType::CEN) ERROR deliveryAddressLine partType of deliveryAddressLine attribute fixed to DAL value self.deliveryAddressLine->forAll(adxp : AdxpDeliveryAddressLine | adxp.partType.oclIsUndefined() or adxp.partType = AddressPartType::DAL) ERROR deliveryInstallationType partType of deliveryInstallationType attribute fixed to DINST value self.deliveryInstallationType->forAll(adxp : AdxpDeliveryInstallationType | adxp.partType.oclIsUndefined() or adxp.partType = AddressPartType::DINST) ERROR deliveryInstallationArea partType of deliveryInstallationArea attribute fixed to DINSTA value self.deliveryInstallationArea->forAll(adxp : AdxpDeliveryInstallationArea | adxp.partType.oclIsUndefined() or adxp.partType = AddressPartType::DINSTA) ERROR deliveryInstallationQualifier partType of deliveryInstallationQualifier attribute fixed to DINSTQ value self.deliveryInstallationQualifier->forAll(adxp : AdxpDeliveryInstallationQualifier | adxp.partType.oclIsUndefined() or adxp.partType = AddressPartType::DINSTQ) ERROR deliveryMode partType of deliveryMode attribute fixed to DMOD value self.deliveryMode->forAll(adxp : AdxpDeliveryMode | adxp.partType.oclIsUndefined() or adxp.partType = AddressPartType::DMOD) ERROR deliveryModeIdentifier partType of deliveryModeIdentifier attribute fixed to DMODID value self.deliveryModeIdentifier->forAll(adxp : AdxpDeliveryModeIdentifier | adxp.partType.oclIsUndefined() or adxp.partType = AddressPartType::DMODID) ERROR buildingNumberSuffix partType of buildingNumberSuffix attribute fixed to BNS value self.buildingNumberSuffix->forAll(adxp : AdxpBuildingNumberSuffix | adxp.partType.oclIsUndefined() or adxp.partType = AddressPartType::BNS) ERROR postBox partType of postBox attribute fixed to POB value self.postBox->forAll(adxp : AdxpPostBox | adxp.partType.oclIsUndefined() or adxp.partType = AddressPartType::POB) ERROR precinct partType of precinct attribute fixed to PRE value self.precinct->forAll(adxp : AdxpPrecinct | adxp.partType.oclIsUndefined() or adxp.partType = AddressPartType::PRE) ERROR constraint_state2 it does not make sense for an address to have two states self.state->size()<2 ERROR constraint_country2 it does not make sense for an address to have two countries self.country->size()<2 ERROR constraint_city2 it does not make sense for an address to have two cities self.city->size()<2 ERROR constraint_postalCode2 it does not make sense for an address to have two postal codes self.postalCode->size()<2 ERROR mixed 0 -1 EcorePrimitiveTypes-EFeatureMapEntry ElementWildcard mixed group 0 -1 EcorePrimitiveTypes-EFeatureMapEntry Group group delimiter 0 -1 datatypes-AdxpDelimiter Element delimiter urn:hl7-org:v3 country 0 -1 datatypes-AdxpCountry Element country urn:hl7-org:v3 state 0 -1 datatypes-AdxpState Element state urn:hl7-org:v3 county 0 -1 datatypes-AdxpCounty Element county urn:hl7-org:v3 city 0 -1 datatypes-AdxpCity Element city urn:hl7-org:v3 postalCode 0 -1 datatypes-AdxpPostalCode Element postalCode urn:hl7-org:v3 streetAddressLine 0 -1 datatypes-AdxpStreetAddressLine Element streetAddressLine urn:hl7-org:v3 houseNumber 0 -1 datatypes-AdxpHouseNumber Element houseNumber urn:hl7-org:v3 houseNumberNumeric 0 -1 datatypes-AdxpHouseNumberNumeric Element houseNumberNumeric urn:hl7-org:v3 direction 0 -1 datatypes-AdxpDirection Element direction urn:hl7-org:v3 streetName 0 -1 datatypes-AdxpStreetName Element streetName urn:hl7-org:v3 streetNameBase 0 -1 datatypes-AdxpStreetNameBase Element streetNameBase urn:hl7-org:v3 streetNameType 0 -1 datatypes-AdxpStreetNameType Element streetNameType urn:hl7-org:v3 additionalLocator 0 -1 datatypes-AdxpAdditionalLocator Element additionalLocator urn:hl7-org:v3 unitID 0 -1 datatypes-AdxpUnitID Element unitID urn:hl7-org:v3 unitType 0 -1 datatypes-AdxpUnitType Element unitType urn:hl7-org:v3 careOf 0 -1 datatypes-AdxpCareOf Element careOf urn:hl7-org:v3 censusTract 0 -1 datatypes-AdxpCensusTract Element censusTract urn:hl7-org:v3 deliveryAddressLine 0 -1 datatypes-AdxpDeliveryAddressLine Element deliveryAddressLine urn:hl7-org:v3 deliveryInstallationType 0 -1 datatypes-AdxpDeliveryInstallationType Element deliveryInstallationType urn:hl7-org:v3 deliveryInstallationArea 0 -1 datatypes-AdxpDeliveryInstallationArea Element deliveryInstallationArea urn:hl7-org:v3 deliveryInstallationQualifier 0 -1 datatypes-AdxpDeliveryInstallationQualifier Element deliveryInstallationQualifier urn:hl7-org:v3 deliveryMode 0 -1 datatypes-AdxpDeliveryMode Element deliveryMode urn:hl7-org:v3 deliveryModeIdentifier 0 -1 datatypes-AdxpDeliveryModeIdentifier Element deliveryModeIdentifier urn:hl7-org:v3 buildingNumberSuffix 0 -1 datatypes-AdxpBuildingNumberSuffix Element buildingNumberSuffix urn:hl7-org:v3 postBox 0 -1 datatypes-AdxpPostBox Element postBox urn:hl7-org:v3 precinct 0 -1 datatypes-AdxpPrecinct Element precinct urn:hl7-org:v3 useablePeriod 0 -1 datatypes-SXCMTS Element useablePeriod urn:hl7-org:v3 isNotOrdered 0 1 XMLPrimitiveTypes-Boolean Attribute isNotOrdered use 0 1 datatypes-SetPostalAddressUse Attribute use getListStringValues String ANY ANY common-CommonOperations nullFlavor 0 1 voc-NullFlavor Attribute nullFlavor AdxpDelimiter adxp.delimiter datatypes-ADXP ADXP ADXP datatypes-ST partType 0 1 voc-AddressPartType Attribute partType ST ST datatypes-ED thumbnail thumbnail is undefined self.thumbnail.oclIsUndefined() ERROR reference reference is undefined self.reference.oclIsUndefined() ERROR integrityCheckAlgorithm integrityCheckAlgorithm is prohibited self.integrityCheckAlgorithm.oclIsUndefined() ERROR compression compression is prohibited self.compression.oclIsUndefined() ERROR representation representation fixed to TXT self.representation.oclIsUndefined() or self.representation=BinaryDataEncoding::TXT ERROR constraint_ST ST element must be nullFlavor or must contains datas (not self.nullFlavor.oclIsUndefined()) xor (self.mixed->size() > 0) ERROR constraint_mediaType mediaType fixed on ST to text/plain self.mediaType.oclIsUndefined() or self.mediaType='text/plain' ERROR ED ED datatypes-BIN constraint_thumbnail if thumbnail defined on ED element, thumbnail.thumbnail must be undefined not self.thumbnail.oclIsUndefined() implies self.thumbnail.thumbnail.oclIsUndefined() ERROR constraint_mediaType on ED, mediaType is csType self.mediaType.oclIsUndefined() or self.isCSType(self.mediaType) ERROR constraint_language1 on ED, language is csType self.language.oclIsUndefined() or self.isCSType(self.language) ERROR constraint_integretyCheck integrityCheck shall be xs:base64Binary type self.integrityCheck.oclIsUndefined() or self.isBIN(self.integrityCheck) ERROR reference 0 1 datatypes-TEL Element reference urn:hl7-org:v3 thumbnail 0 1 datatypes-Thumbnail Element thumbnail urn:hl7-org:v3 compression 0 1 voc-CompressionAlgorithm Attribute compression integrityCheck 0 1 XMLPrimitiveTypes-String Attribute integrityCheck integrityCheckAlgorithm 0 1 voc-IntegrityCheckAlgorithm Attribute integrityCheckAlgorithm language 0 1 XMLPrimitiveTypes-String Attribute language mediaType 0 1 XMLPrimitiveTypes-String Attribute mediaType BIN BIN datatypes-ANY mixed 0 -1 EcorePrimitiveTypes-EFeatureMapEntry ElementWildcard mixed representation 0 1 datatypes-BinaryDataEncoding Attribute representation getListStringValues String TEL TEL datatypes-URL constraint_value value can be tel, fax, email, web site, instant messaging, or sms self.value.oclIsUndefined() or self.matches(self.value, '^tel:.*$') or self.matches(self.value, '^fax:.*$') or self.matches(self.value, '^mailto:.*$') or self.matches(self.value, '^http:.*$') or self.matches(self.value, '^https:.*$') or self.matches(self.value, '^ftp:.*$') or self.matches(self.value, '^im:.*$') or self.matches(self.value, '^sms:.*$') or self.matches(self.value, '^#.*$') ERROR useablePeriod 0 -1 datatypes-SXCMTS Element useablePeriod urn:hl7-org:v3 use 0 -1 UMLPrimitiveTypes-String Attribute use URL URL datatypes-ANY constraint_nullFlavor URL must be nullFlavor, or it must have value attribute (not self.nullFlavor.oclIsUndefined()) xor (not self.value.oclIsUndefined()) ERROR value 0 1 XMLPrimitiveTypes-String Attribute value SXCMTS SXCM_TS datatypes-TS operator 0 1 voc-SetOperator Attribute operator TS TS datatypes-QTY constraint_value on TS, value is tsType self.value.oclIsUndefined() or self.isTSType(self.value) ERROR value 0 1 XMLPrimitiveTypes-String Attribute value QTY QTY datatypes-ANY Thumbnail thumbnail datatypes-ED AdxpCountry adxp.country datatypes-ADXP AdxpState adxp.state datatypes-ADXP AdxpCounty adxp.county datatypes-ADXP AdxpCity adxp.city datatypes-ADXP AdxpPostalCode adxp.postalCode datatypes-ADXP AdxpStreetAddressLine adxp.streetAddressLine datatypes-ADXP AdxpHouseNumber adxp.houseNumber datatypes-ADXP AdxpHouseNumberNumeric adxp.houseNumberNumeric datatypes-ADXP AdxpDirection adxp.direction datatypes-ADXP AdxpStreetName adxp.streetName datatypes-ADXP AdxpStreetNameBase adxp.streetNameBase datatypes-ADXP AdxpStreetNameType adxp.streetNameType datatypes-ADXP AdxpAdditionalLocator adxp.additionalLocator datatypes-ADXP AdxpUnitID adxp.unitID datatypes-ADXP AdxpUnitType adxp.unitType datatypes-ADXP AdxpCareOf adxp.careOf datatypes-ADXP AdxpCensusTract adxp.censusTract datatypes-ADXP AdxpDeliveryAddressLine adxp.deliveryAddressLine datatypes-ADXP AdxpDeliveryInstallationType adxp.deliveryInstallationType datatypes-ADXP AdxpDeliveryInstallationArea adxp.deliveryInstallationArea datatypes-ADXP AdxpDeliveryInstallationQualifier adxp.deliveryInstallationQualifier datatypes-ADXP AdxpDeliveryMode adxp.deliveryMode datatypes-ADXP AdxpDeliveryModeIdentifier adxp.deliveryModeIdentifier datatypes-ADXP AdxpBuildingNumberSuffix adxp.buildingNumberSuffix datatypes-ADXP AdxpPostBox adxp.postBox datatypes-ADXP AdxpPrecinct adxp.precinct datatypes-ADXP ANYNonNull ANYNonNull datatypes-ANY constraint_nonnull nullFlavor is prohibited self.nullFlavor.oclIsUndefined() ERROR BL BL datatypes-ANY constraint_nullflavor BL is nullFlavor or value must be not null (not self.nullFlavor.oclIsUndefined()) xor (not self.value.oclIsUndefined()) ERROR value 0 1 XMLPrimitiveTypes-Boolean Attribute value BN BN datatypes-ANYNonNull constraint_nullFlavor nullFlavor undefined on BN class self.nullFlavor.oclIsUndefined() ERROR value 0 1 XMLPrimitiveTypes-Boolean Attribute value BXITCD BXIT_CD datatypes-CD qty 0 1 XMLPrimitiveTypes-Integer Attribute qty CD CD datatypes-ANY constraint_code_cs on CD, code shall be a string self.code.oclIsUndefined() or self.isCSType(self.code) ERROR constraint_codeSystem on CD, codeSystem is an uid attribute self.codeSystem.oclIsUndefined() or self.isUID(self.codeSystem) ERROR constraint_codeSystemName on CD, codeSystemName is an stType self.codeSystemName.oclIsUndefined() or self.isSTType(self.codeSystemName) ERROR constraint_codeSystemVersion on CD, codeSystemVersion is stType self.codeSystemVersion.oclIsUndefined() or self.isSTType(self.codeSystemVersion) ERROR constraint_displayName on CD, displayName is stType self.displayName.oclIsUndefined() or self.isSTType(self.displayName) ERROR originalText 0 1 datatypes-ED Element originalText urn:hl7-org:v3 qualifier 0 -1 datatypes-CR Element qualifier urn:hl7-org:v3 translation 0 -1 datatypes-CD Element translation urn:hl7-org:v3 code 0 1 XMLPrimitiveTypes-String Attribute code codeSystem 0 1 XMLPrimitiveTypes-String Attribute codeSystem codeSystemName 0 1 XMLPrimitiveTypes-String Attribute codeSystemName codeSystemVersion 0 1 XMLPrimitiveTypes-String Attribute codeSystemVersion displayName 0 1 XMLPrimitiveTypes-String Attribute displayName CR CR datatypes-ANY constraint_nullFlavor CR is nullFlavor or valur must be defined (not self.nullFlavor.oclIsUndefined()) xor (not self.value.oclIsUndefined()) ERROR name 0 1 datatypes-CV Element name urn:hl7-org:v3 value 0 1 datatypes-CD Element value urn:hl7-org:v3 inverted 0 1 XMLPrimitiveTypes-Boolean Attribute inverted CV CV datatypes-CE constraint_translation translation null self.translation->size()=0 ERROR CE CE datatypes-CD constraint_qualifier qualifier empty self.qualifier->size()=0 ERROR BXITIVLPQ BXIT_IVL_PQ datatypes-IVLPQ qty 0 1 XMLPrimitiveTypes-Integer Attribute qty IVLPQ IVL_PQ datatypes-SXCMPQ optionsContainingLow In any interval representation only two of the three properties high, low, and width need to be stated and the third can be derived. not self.low.oclIsUndefined() implies self.center.oclIsUndefined() and (self.width.oclIsUndefined() or self.high.oclIsUndefined()) ERROR optionsContainingCenter In any interval representation only two of the three properties high, low, and width need to be stated and the third can be derived. not self.center.oclIsUndefined() implies self.high.oclIsUndefined() and self.low.oclIsUndefined() ERROR optionsContainingHigh In any interval representation only two of the three properties high, low, and width need to be stated and the third can be derived. not self.high.oclIsUndefined() implies (self.low.oclIsUndefined() and self.center.oclIsUndefined() and self.width.oclIsUndefined()) or ((not self.low.oclIsUndefined()) and self.width.oclIsUndefined() and self.center.oclIsUndefined()) or ((not self.width.oclIsUndefined()) and self.low.oclIsUndefined() and self.center.oclIsUndefined()) ERROR optionsContainingWidth In any interval representation only two of the three properties high, low, and width need to be stated and the third can be derived. not self.width.oclIsUndefined() implies ((not self.low.oclIsUndefined()) and self.center.oclIsUndefined() and self.high.oclIsUndefined()) or (self.low.oclIsUndefined() and self.center.oclIsUndefined()) or ((not self.center.oclIsUndefined()) and self.low.oclIsUndefined() and self.high.oclIsUndefined()) ERROR low 0 1 datatypes-IVXBPQ Element low urn:hl7-org:v3 center 0 1 datatypes-PQ Element center urn:hl7-org:v3 width 0 1 datatypes-PQ Element width urn:hl7-org:v3 high 0 1 datatypes-IVXBPQ Element high urn:hl7-org:v3 SXCMPQ SXCM_PQ datatypes-PQ operator 0 1 voc-SetOperator Attribute operator PQ PQ datatypes-QTY constraint_unit on PQ, unit is csType self.unit.oclIsUndefined() or self.isCSType(self.unit) ERROR translation 0 -1 datatypes-PQR Element translation urn:hl7-org:v3 unit 0 1 XMLPrimitiveTypes-String Attribute unit value 0 1 XMLPrimitiveTypes-Double Attribute value PQR PQR datatypes-CV value 0 1 XMLPrimitiveTypes-Double Attribute value IVXBPQ IVXB_PQ datatypes-PQ inclusive 0 1 XMLPrimitiveTypes-Boolean Attribute inclusive CO CO datatypes-CV CS CS datatypes-CV constraint_codeSystem codeSystem null self.codeSystem.oclIsUndefined() ERROR constraint_codeSystemVersion codeSystemVersion null self.codeSystemVersion.oclIsUndefined() ERROR displayName displayName null self.displayName.oclIsUndefined() ERROR constraint_codeSystemName codeSystemName prohibited self.codeSystemName.oclIsUndefined() ERROR EIVLEvent EIVL.event datatypes-CE constraint_codeSystem codeSystem null or equal to 2.16.840.1.113883.5.139 not self.codeSystem.oclIsUndefined() implies self.codeSystem='2.16.840.1.113883.5.139' ERROR constraint_codeSystemName codeSystemName null or equals to TimingEvent not self.codeSystemName.oclIsUndefined() implies self.codeSystemName='TimingEvent' ERROR constraint_code on EIVLEvent type, code shall be TimingEvent if present self.code.oclIsUndefined() or self.code='AC' or self.code='ACD' or self.code='ACM' or self.code='ACV' or self.code='HS' or self.code='IC' or self.code='ICD' or self.code='ICM' or self.code='ICV' or self.code='PC' or self.code='PCD' or self.code='PCM' or self.code='PCV' ERROR EIVLPPDTS EIVL_PPD_TS datatypes-SXCMPPDTS event 0 1 datatypes-EIVLEvent Element event urn:hl7-org:v3 offset 0 1 datatypes-IVLPPDPQ Element offset urn:hl7-org:v3 SXCMPPDTS SXCM_PPD_TS datatypes-PPDTS operator 0 1 voc-SetOperator Attribute operator PPDTS PPD_TS datatypes-TS standardDeviation 0 1 datatypes-PQ Element standardDeviation urn:hl7-org:v3 distributionType 0 1 voc-ProbabilityDistributionType Attribute distributionType IVLPPDPQ IVL_PPD_PQ datatypes-SXCMPPDPQ low 0 1 datatypes-IVXBPPDPQ Element low urn:hl7-org:v3 center 0 1 datatypes-PPDPQ Element center urn:hl7-org:v3 width 0 1 datatypes-PPDPQ Element width urn:hl7-org:v3 high 0 1 datatypes-IVXBPPDPQ Element high urn:hl7-org:v3 SXCMPPDPQ SXCM_PPD_PQ datatypes-PPDPQ operator 0 1 voc-SetOperator Attribute operator PPDPQ PPD_PQ datatypes-PQ standardDeviation 0 1 datatypes-PQ Element standardDeviation urn:hl7-org:v3 distributionType 0 1 voc-ProbabilityDistributionType Attribute distributionType IVXBPPDPQ IVXB_PPD_PQ datatypes-PPDPQ inclusive 0 1 XMLPrimitiveTypes-Boolean Attribute inclusive EIVLTS EIVL_TS datatypes-SXCMTS event 0 1 datatypes-EIVLEvent Element event urn:hl7-org:v3 offset 0 1 datatypes-IVLPQ Element offset urn:hl7-org:v3 EN EN datatypes-ANY delimiter partType of delimiter fixed to DEL self.delimiter->forAll(enxp : EnDelimiter | enxp.partType.oclIsUndefined() or enxp.partType = EntityNamePartType::DEL) ERROR family partType of family fixed to FAM self.family->forAll(enxp : EnFamily | enxp.partType.oclIsUndefined() or enxp.partType=EntityNamePartType::FAM) ERROR given partType of given fixed to GIV self.given->forAll(enxp : EnGiven | enxp.partType.oclIsUndefined() or enxp.partType = EntityNamePartType::GIV) ERROR prefix partType of prefix fixed to PFX self.prefix->forAll(enxp : EnPrefix | enxp.partType.oclIsUndefined() or enxp.partType = EntityNamePartType::PFX) ERROR suffix partType of suffix fixed to SFX self.suffix->forAll(enxp : EnSuffix | enxp.partType.oclIsUndefined() or enxp.partType = EntityNamePartType::SFX) ERROR mixed 0 -1 EcorePrimitiveTypes-EFeatureMapEntry ElementWildcard mixed group 0 -1 EcorePrimitiveTypes-EFeatureMapEntry Group group delimiter 0 -1 datatypes-EnDelimiter Element delimiter urn:hl7-org:v3 family 0 -1 datatypes-EnFamily Element family urn:hl7-org:v3 given 0 -1 datatypes-EnGiven Element given urn:hl7-org:v3 prefix 0 -1 datatypes-EnPrefix Element prefix urn:hl7-org:v3 suffix 0 -1 datatypes-EnSuffix Element suffix urn:hl7-org:v3 validTime 0 1 datatypes-IVLTS Element validTime urn:hl7-org:v3 use 0 -1 UMLPrimitiveTypes-String Attribute use EnDelimiter en.delimiter datatypes-ENXP ENXP ENXP datatypes-ST partType 0 1 voc-EntityNamePartType Attribute partType qualifier 0 -1 UMLPrimitiveTypes-String Attribute qualifier EnFamily en.family datatypes-ENXP EnGiven en.given datatypes-ENXP EnPrefix en.prefix datatypes-ENXP EnSuffix en.suffix datatypes-ENXP IVLTS IVL_TS datatypes-SXCMTS optionsContainingLow In any interval representation only two of the three properties high, low, and width need to be stated and the third can be derived. not self.low.oclIsUndefined() implies self.center.oclIsUndefined() and (self.width.oclIsUndefined() or self.high.oclIsUndefined()) ERROR optionsContainingCenter In any interval representation only two of the three properties high, low, and width need to be stated and the third can be derived. not self.center.oclIsUndefined() implies self.high.oclIsUndefined() and self.low.oclIsUndefined() ERROR optionsContainingHigh In any interval representation only two of the three properties high, low, and width need to be stated and the third can be derived. not self.high.oclIsUndefined() implies (self.low.oclIsUndefined() and self.center.oclIsUndefined() and self.width.oclIsUndefined()) or ((not self.low.oclIsUndefined()) and self.width.oclIsUndefined() and self.center.oclIsUndefined()) or ((not self.width.oclIsUndefined()) and self.low.oclIsUndefined() and self.center.oclIsUndefined()) ERROR optionsContainingWidth In any interval representation only two of the three properties high, low, and width need to be stated and the third can be derived. not self.width.oclIsUndefined() implies ((not self.low.oclIsUndefined()) and self.center.oclIsUndefined() and self.high.oclIsUndefined()) or (self.low.oclIsUndefined() and self.center.oclIsUndefined()) or ((not self.center.oclIsUndefined()) and self.low.oclIsUndefined() and self.high.oclIsUndefined()) ERROR low 0 1 datatypes-IVXBTS Element low urn:hl7-org:v3 center 0 1 datatypes-TS Element center urn:hl7-org:v3 width 0 1 datatypes-PQ Element width urn:hl7-org:v3 high 0 1 datatypes-IVXBTS Element high urn:hl7-org:v3 IVXBTS IVXB_TS datatypes-TS inclusive 0 1 XMLPrimitiveTypes-Boolean Attribute inclusive GLISTPQ GLIST_PQ datatypes-ANY head 1 1 datatypes-PQ Element head urn:hl7-org:v3 increment 1 1 datatypes-PQ Element increment urn:hl7-org:v3 denominator 0 1 XMLPrimitiveTypes-Integer Attribute denominator period 0 1 XMLPrimitiveTypes-Integer Attribute period GLISTTS GLIST_TS datatypes-ANY head 1 1 datatypes-TS Element head urn:hl7-org:v3 increment 1 1 datatypes-PQ Element increment urn:hl7-org:v3 denominator 0 1 XMLPrimitiveTypes-Integer Attribute denominator period 0 1 XMLPrimitiveTypes-Integer Attribute period HXITCE HXIT_CE datatypes-CE validTime 0 1 datatypes-IVLTS Element validTime urn:hl7-org:v3 HXITPQ HXIT_PQ datatypes-PQ validTime 0 1 datatypes-IVLTS Element validTime urn:hl7-org:v3 II II datatypes-ANY constraint_II II must be nullflavor or root attribtue must be defined (not self.nullFlavor.oclIsUndefined()) xor (not self.root.oclIsUndefined()) ERROR constraint_root on II, root attribute shall match uid structure self.root.oclIsUndefined() or self.isUID(self.root) ERROR constraint_extension on II, extension shall be stType self.extension.oclIsUndefined() or self.isSTType(self.extension) ERROR constraint_assigningAuthorityName on II, assigningAuthorityame shall be stType self.assigningAuthorityName.oclIsUndefined() or self.isSTType(self.assigningAuthorityName) ERROR assigningAuthorityName 0 1 XMLPrimitiveTypes-String Attribute assigningAuthorityName displayable 0 1 XMLPrimitiveTypes-Boolean Attribute displayable extension 0 1 XMLPrimitiveTypes-String Attribute extension root 0 1 XMLPrimitiveTypes-String Attribute root INT INT datatypes-QTY constraint_INT INT value should be not null, or nullFlavor is defined (not self.nullFlavor.oclIsUndefined()) xor (not self.value.oclIsUndefined()) ERROR constraint_value if present on INT, value shall be bigger or equal to -1 self.value.oclIsUndefined() or (self.value>(-2)) ERROR value 0 1 XMLPrimitiveTypes-Integer Attribute value IVLINT IVL_INT datatypes-SXCMINT optionsContainingLow In any interval representation only two of the three properties high, low, and width need to be stated and the third can be derived. not self.low.oclIsUndefined() implies self.center.oclIsUndefined() and (self.width.oclIsUndefined() or self.high.oclIsUndefined()) ERROR optionsContainingHigh In any interval representation only two of the three properties high, low, and width need to be stated and the third can be derived. not self.high.oclIsUndefined() implies (self.low.oclIsUndefined() and self.center.oclIsUndefined() and self.width.oclIsUndefined()) or ((not self.low.oclIsUndefined()) and self.width.oclIsUndefined() and self.center.oclIsUndefined()) or ((not self.width.oclIsUndefined()) and self.low.oclIsUndefined() and self.center.oclIsUndefined()) ERROR optionsContainingCenter In any interval representation only two of the three properties high, low, and width need to be stated and the third can be derived. not self.center.oclIsUndefined() implies self.high.oclIsUndefined() and self.low.oclIsUndefined() ERROR optionsContainingWidth In any interval representation only two of the three properties high, low, and width need to be stated and the third can be derived. not self.width.oclIsUndefined() implies ((not self.low.oclIsUndefined()) and self.center.oclIsUndefined() and self.high.oclIsUndefined()) or (self.low.oclIsUndefined() and self.center.oclIsUndefined()) or ((not self.center.oclIsUndefined()) and self.low.oclIsUndefined() and self.high.oclIsUndefined()) ERROR low 0 1 datatypes-IVXBINT Element low urn:hl7-org:v3 center 0 1 datatypes-INT Element center urn:hl7-org:v3 width 0 1 datatypes-INT Element width urn:hl7-org:v3 high 0 1 datatypes-IVXBINT Element high urn:hl7-org:v3 SXCMINT SXCM_INT datatypes-INT operator 0 1 voc-SetOperator Attribute operator IVXBINT IVXB_INT datatypes-INT inclusive 0 1 XMLPrimitiveTypes-Boolean Attribute inclusive IVLMO IVL_MO datatypes-SXCMMO low 0 1 datatypes-IVXBMO Element low urn:hl7-org:v3 center 0 1 datatypes-MO Element center urn:hl7-org:v3 width 0 1 datatypes-MO Element width urn:hl7-org:v3 high 0 1 datatypes-IVXBMO Element high urn:hl7-org:v3 SXCMMO SXCM_MO datatypes-MO operator 0 1 voc-SetOperator Attribute operator MO MO datatypes-QTY constraint_MO nullFlavor doeas not much if value or curracy are defined not ((not self.nullFlavor.oclIsUndefined()) and ((not self.value.oclIsUndefined()) or (not self.currency.oclIsUndefined()))) ERROR constraint_currency on MO, currency is csType self.currency.oclIsUndefined() or self.isCSType(self.currency) ERROR currency 0 1 XMLPrimitiveTypes-String Attribute currency value 0 1 XMLPrimitiveTypes-Double Attribute value IVXBMO IVXB_MO datatypes-MO inclusive 0 1 XMLPrimitiveTypes-Boolean Attribute inclusive IVLPPDTS IVL_PPD_TS datatypes-SXCMPPDTS low 0 1 datatypes-IVXBPPDTS Element low urn:hl7-org:v3 center 0 1 datatypes-PPDTS Element center urn:hl7-org:v3 width 0 1 datatypes-PPDPQ Element width urn:hl7-org:v3 high 0 1 datatypes-IVXBPPDTS Element high urn:hl7-org:v3 IVXBPPDTS IVXB_PPD_TS datatypes-PPDTS inclusive 0 1 XMLPrimitiveTypes-Boolean Attribute inclusive IVLREAL IVL_REAL datatypes-SXCMREAL low 0 1 datatypes-IVXBREAL Element low urn:hl7-org:v3 center 0 1 datatypes-REAL Element center urn:hl7-org:v3 width 0 1 datatypes-REAL Element width urn:hl7-org:v3 high 0 1 datatypes-IVXBREAL Element high urn:hl7-org:v3 SXCMREAL SXCM_REAL datatypes-REAL operator 0 1 voc-SetOperator Attribute operator REAL REAL datatypes-QTY constraint_nullFlavor nullFlavor must be defined, or value must be not null (not self.nullFlavor.oclIsUndefined()) xor (not self.value.oclIsUndefined()) ERROR value 0 1 XMLPrimitiveTypes-Double Attribute value IVXBREAL IVXB_REAL datatypes-REAL inclusive 0 1 XMLPrimitiveTypes-Boolean Attribute inclusive ON ON datatypes-EN constraint_ON family and given must be null on ON element self.family->isEmpty() and self.given->isEmpty() ERROR PIVLPPDTS PIVL_PPD_TS datatypes-SXCMPPDTS phase 0 1 datatypes-IVLPPDTS Element phase urn:hl7-org:v3 period 0 1 datatypes-PPDPQ Element period urn:hl7-org:v3 alignment 0 1 voc-CalendarCycle Attribute alignment institutionSpecified 0 1 XMLPrimitiveTypes-Boolean Attribute institutionSpecified PIVLTS PIVL_TS datatypes-SXCMTS constraint_period_unit common period unit are s, min, h, d, wk, mo self.period.oclIsUndefined() or (not self.period.nullFlavor.oclIsUndefined()) or ( (not self.period.unit.oclIsUndefined()) and self.period.unit='s' or self.period.unit='min' or self.period.unit='h' or self.period.unit='d' or self.period.unit='wk' or self.period.unit='mo' ) WARNING phase 0 1 datatypes-IVLTS Element phase urn:hl7-org:v3 period 0 1 datatypes-PQ Element period urn:hl7-org:v3 alignment 0 1 voc-CalendarCycle Attribute alignment institutionSpecified 0 1 XMLPrimitiveTypes-Boolean Attribute institutionSpecified PN PN datatypes-EN constraint_PN delimiter attributes must not contains LS as qualifier, as well as for family, given, prefix and suffix self.delimiter->forAll(enxp :EnDelimiter | enxp.qualifier->forAll(qual : String | not enxp.matches(qual, '^LS$')) ) and self.family->forAll(enxp :EnFamily | enxp.qualifier->forAll(qual : String | not enxp.matches(qual, '^LS$')) ) and self.given->forAll(enxp :EnGiven | enxp.qualifier->forAll(qual : String | not enxp.matches(qual, '^LS$')) ) and self.prefix->forAll(enxp :EnPrefix | enxp.qualifier->forAll(qual : String | not enxp.matches(qual, '^LS$')) ) and self.suffix->forAll(enxp :EnSuffix | enxp.qualifier->forAll(qual : String | not enxp.matches(qual, '^LS$')) ) ERROR RTO RTO datatypes-RTOQTYQTY RTOQTYQTY RTO_QTY_QTY datatypes-QTY constraint_denominator The denominator must not be zero (self.denominator.oclIsKindOf(INT) implies self.denominator.oclAsType(INT).value <> 0) and (self.denominator.oclIsKindOf(REAL) implies self.denominator.oclAsType(REAL).value <> 0) ERROR constraint_required denominator and numerator shall be present (not self.denominator.oclIsUndefined()) and (not self.numerator.oclIsUndefined()) ERROR numerator 1 1 datatypes-QTY Element numerator urn:hl7-org:v3 denominator 1 1 datatypes-QTY Element denominator urn:hl7-org:v3 RTOMOPQ RTO_MO_PQ datatypes-QTY numerator 1 1 datatypes-MO Element numerator urn:hl7-org:v3 denominator 1 1 datatypes-PQ Element denominator urn:hl7-org:v3 RTOPQPQ RTO_PQ_PQ datatypes-QTY constraint_denominator denominator value must be not null self.denominator.value<>0 ERROR numerator 1 1 datatypes-PQ Element numerator urn:hl7-org:v3 denominator 1 1 datatypes-PQ Element denominator urn:hl7-org:v3 SC SC datatypes-ST constraint_code on SC, code is csType self.code.oclIsUndefined() or self.isCSType(self.code) ERROR constraint_codeSystem on SC, codeSystem is uid type self.codeSystem.oclIsUndefined() or self.isUID(self.codeSystem) ERROR constraint_codeSystemName on SC, codeSystemName is stType self.codeSystemName.oclIsUndefined() or self.isSTType(self.codeSystemName) ERROR constraint_codeSystemVersion on SC, codeSystemVersion is stType self.codeSystemVersion.oclIsUndefined() or self.isSTType(self.codeSystemVersion) ERROR constraint_displayName on SC, displayName is stType self.displayName.oclIsUndefined() or self.isSTType(self.displayName) ERROR code 0 1 XMLPrimitiveTypes-String Attribute code codeSystem 0 1 XMLPrimitiveTypes-String Attribute codeSystem codeSystemName 0 1 XMLPrimitiveTypes-String Attribute codeSystemName codeSystemVersion 0 1 XMLPrimitiveTypes-String Attribute codeSystemVersion displayName 0 1 XMLPrimitiveTypes-String Attribute displayName SLISTPQ SLIST_PQ datatypes-ANY origin 1 1 datatypes-PQ Element origin urn:hl7-org:v3 scale 1 1 datatypes-PQ Element scale urn:hl7-org:v3 digits 1 1 datatypes-ListInt Element digits urn:hl7-org:v3 SLISTTS SLIST_TS datatypes-ANY origin 1 1 datatypes-TS Element origin urn:hl7-org:v3 scale 1 1 datatypes-PQ Element scale urn:hl7-org:v3 digits 1 1 datatypes-ListInt Element digits urn:hl7-org:v3 SXCMCD SXCM_CD datatypes-CD operator 0 1 voc-SetOperator Attribute operator SXPRTS SXPR_TS datatypes-SXCMTS comp 2 -1 datatypes-SXCMTS Element comp urn:hl7-org:v3 TN TN datatypes-EN constraint_invariant TN is a restriction of entity name that is effectively a simple string used for a simple name for things and places. self.delimiter->isEmpty() and self.family->isEmpty() and self.given->isEmpty() and self.prefix->isEmpty() and self.suffix->isEmpty() and self.mixed->size() = 1 ERROR UVPTS UVP_TS datatypes-TS probability 0 1 XMLPrimitiveTypes-Double Attribute probability BinaryDataEncoding BinaryDataEncoding B64 B64 TXT TXT eDispensation EDispensationSpec TemplateSpec EDispensationSpec 1.3.6.1.4.1.12559.11.10.1.3.1.1.2 cdaepsos-POCDMT000040ClinicalDocument constraint_R18 The Contact Person SHALL not be provided for eP and eD. self.participant->forAll(part : POCDMT000040Participant1 | part.templateId->select(tm : II | (not tm.root.oclIsUndefined()) and tm.root='1.3.6.1.4.1.19376.1.5.3.1.2.4' )->size()=0) ERROR constraint_RelatedDocument /ClinicalDocument/relatedDocument@typeCode='XFRM' is required on Dispensation document (Appendix B1, 11.1.2) self.relatedDocument->exists((not typeCode.oclIsUndefined()) and typeCode=XActRelationshipDocument::XFRM) ERROR constraint_InFullfillmentOf The eD document SHALL refer the prescription ID using the InFulfillmentOf relationship (Appendix B1, 11.1.2) self.inFulfillmentOf->size()>0 ERROR EDAllowedDocumentSpec ConstraintsSpec EDAllowedDocumentSpec cdaepsos-POCDMT000040ClinicalDocument constraint_patientSummary_template ClinicalDocument SHALL have this templates : 1.3.6.1.4.1.12559.11.10.1.3.1.1.2 and 1.3.6.1.4.1.19376.1.5.3.1.1.1 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') and self.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.1.1') ERROR constraint_patientSummary_templates allowed template on ClinicalDocument are : 1.3.6.1.4.1.12559.11.10.1.3.1.1.2, 1.3.6.1.4.1.19376.1.5.3.1.1.1 self.templateId->size()>0 and self.templateId->forAll(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.19376.1.5.3.1.1.1')) WARNING EDAllowedLanguageCommunicationSpec ConstraintsSpec EDAllowedLanguageCommunicationSpec cda-POCDMT000040LanguageCommunication constraint_allowed_languageCommunication allowed language communication templates are : 1.3.6.1.4.1.19376.1.5.3.1.2.1 self.templateId->forAll(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.2.1' ) WARNING constraint_mandatory_templates mandatory templates are 1.3.6.1.4.1.19376.1.5.3.1.2.1 self.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.2.1') ERROR EDAllowedGuardianSpec ConstraintsSpec EDAllowedGuardianSpec cda-POCDMT000040Guardian constraint_allowed_guardian template of guardian SHALL be from this list : 1.3.6.1.4.1.19376.1.5.3.1.2.4 self.templateId->forAll(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.2.4') WARNING constraint_templates templates of guardian SHALL contains : 1.3.6.1.4.1.19376.1.5.3.1.2.4 self.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.2.4') ERROR EDAllowedPerformerSpec ConstraintsSpec EDAllowedPerformerSpec cda-POCDMT000040Performer1 constraint_templates performer SHALL have this template : 1.3.6.1.4.1.19376.1.5.3.1.2.3 self.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.2.3') ERROR constraint_allowed_templates allowed template of performer are : 1.3.6.1.4.1.19376.1.5.3.1.2.3 self.templateId->forAll(ii : II | ii.root.oclIsUndefined() or ii.root='1.3.6.1.4.1.19376.1.5.3.1.2.3') WARNING EDAuthorHCPIdentification ConstraintsSpec EDAuthorHCPIdentification cda-POCDMT000040Author constraint_R11091 name of thr healthcare facility for HCP is required and unique (Appendix B1, R1.10.9.1) (not self.assignedAuthor.oclIsUndefined()) and (not self.assignedAuthor.representedOrganization.oclIsUndefined()) and (self.assignedAuthor.representedOrganization.name->size()=1) and self.assignedAuthor.representedOrganization.name->forAll(nm : ON | nm.nullFlavor.oclIsUndefined()) ERROR constraint_R11092 Healthcare Facility identifier's id is required and unique (Appendix B1, R1.10.9.2) (not self.assignedAuthor.oclIsUndefined()) and (not self.assignedAuthor.representedOrganization.oclIsUndefined()) and (self.assignedAuthor.representedOrganization.id->size()=1) and self.assignedAuthor.representedOrganization.id->forAll(ii : II | ii.nullFlavor.oclIsUndefined()) ERROR constraint_R110931 Healthcare Facility address SHALL have unique street part (nullflavor allowed) (Appendix B1, R1.10.9.3.1) (self.assignedAuthor.oclIsUndefined()) or (self.assignedAuthor.representedOrganization.oclIsUndefined()) or self.assignedAuthor.representedOrganization.addr->forAll(ad : AD | ad.streetAddressLine->size()=1) ERROR constraint_R110932 Healthcare Facility address SHALL have unique city part (nullflavor allowed) (Appendix B1, R1.10.9.3.2) (self.assignedAuthor.oclIsUndefined()) or (self.assignedAuthor.representedOrganization.oclIsUndefined()) or self.assignedAuthor.representedOrganization.addr->forAll(ad : AD | ad.city->size()=1) ERROR constraint_R110933 Healthcare Facility address SHALL have unique state part (nullflavor allowed) (Appendix B1, R1.10.9.3.3) (self.assignedAuthor.oclIsUndefined()) or (self.assignedAuthor.representedOrganization.oclIsUndefined()) or self.assignedAuthor.representedOrganization.addr->forAll(ad : AD | ad.state->size()=1) ERROR constraint_R110934 Healthcare Facility address SHALL have unique postal code part (nullflavor allowed) (Appendix B1, R1.10.9.3.4) (self.assignedAuthor.oclIsUndefined()) or (self.assignedAuthor.representedOrganization.oclIsUndefined()) or self.assignedAuthor.representedOrganization.addr->forAll(ad : AD | ad.postalCode->size()=1) ERROR constraint_R11094_1 two telecom attribute are required for Healthcare facility, one for telecom and the other for email. If there are no information about telecom attribue, only one telecom attribute SHALL be present with the value of nullFlavor=NI. Two nullFlavor are not allowed. (Appendix B1, R1.10.9.4) (self.assignedAuthor.oclIsUndefined()) or (self.assignedAuthor.representedOrganization.oclIsUndefined()) or self.assignedAuthor.representedOrganization.telecom->size()>2 or (self.assignedAuthor.representedOrganization.telecom->size()=2 and self.assignedAuthor.representedOrganization.telecom->exists(tel : TEL | tel.nullFlavor.oclIsUndefined())) or (self.assignedAuthor.representedOrganization.telecom->size()=1 and self.assignedAuthor.representedOrganization.telecom->forAll(tel : TEL | (not tel.nullFlavor.oclIsUndefined()) and tel.nullFlavor=NullFlavor::NI ) ) ERROR EDHealthCareProvider TemplateSpec EDHealthCareProvider 1.3.6.1.4.1.19376.1.5.3.1.2.3 cda-POCDMT000040Performer1 constraint_R11091 name of thr healthcare facility for HCP is required and unique (Appendix B1, R1.10.9.1) (not self.assignedEntity.oclIsUndefined()) and (not self.assignedEntity.representedOrganization.oclIsUndefined()) and (self.assignedEntity.representedOrganization.name->size()=1) and self.assignedEntity.representedOrganization.name->forAll(nm : ON | nm.nullFlavor.oclIsUndefined()) ERROR constraint_R11092 Healthcare Facility identifier's id is required and unique (Appendix B1, R1.10.9.2) (not self.assignedEntity.oclIsUndefined()) and (not self.assignedEntity.representedOrganization.oclIsUndefined()) and (self.assignedEntity.representedOrganization.id->size()=1) and self.assignedEntity.representedOrganization.id->forAll(ii : II | ii.nullFlavor.oclIsUndefined()) ERROR constraint_R110931 Healthcare Facility address SHALL have unique street part (nullflavor allowed) (Appendix B1, R1.10.9.3.1) (self.assignedEntity.oclIsUndefined()) or (self.assignedEntity.representedOrganization.oclIsUndefined()) or self.assignedEntity.representedOrganization.addr->forAll(ad : AD | ad.streetAddressLine->size()=1) ERROR constraint_R110932 Healthcare Facility address SHALL have unique city part (nullflavor allowed) (Appendix B1, R1.10.9.3.2) (self.assignedEntity.oclIsUndefined()) or (self.assignedEntity.representedOrganization.oclIsUndefined()) or self.assignedEntity.representedOrganization.addr->forAll(ad : AD | ad.city->size()=1) ERROR constraint_R110933 Healthcare Facility address SHALL have unique state part (nullflavor allowed) (Appendix B1, R1.10.9.3.3) (self.assignedEntity.oclIsUndefined()) or (self.assignedEntity.representedOrganization.oclIsUndefined()) or self.assignedEntity.representedOrganization.addr->forAll(ad : AD | ad.state->size()=1) ERROR constraint_R110934 Healthcare Facility address SHALL have unique postal code part (nullflavor allowed) (Appendix B1, R1.10.9.3.4) (self.assignedEntity.oclIsUndefined()) or (self.assignedEntity.representedOrganization.oclIsUndefined()) or self.assignedEntity.representedOrganization.addr->forAll(ad : AD | ad.postalCode->size()=1) ERROR constraint_R11094_1 two telecom attribute are required for Healthcare facility, one for telecom and the other for email. If there are no information about telecom attribue, only one telecom attribute SHALL be present with the value of nullFlavor=NI. Two nullFlavor are not allowed. (Appendix B1, R1.10.9.4) (self.assignedEntity.oclIsUndefined()) or (self.assignedEntity.representedOrganization.oclIsUndefined()) or self.assignedEntity.representedOrganization.telecom->size()>2 or (self.assignedEntity.representedOrganization.telecom->size()=2 and self.assignedEntity.representedOrganization.telecom->exists(tel : TEL | tel.nullFlavor.oclIsUndefined())) or (self.assignedEntity.representedOrganization.telecom->size()=1 and self.assignedEntity.representedOrganization.telecom->forAll(tel : TEL | (not tel.nullFlavor.oclIsUndefined()) and tel.nullFlavor=NullFlavor::NI ) ) ERROR DispensedMedecine TemplateSpec DispensedMedecine 1.3.6.1.4.1.12559.11.10.1.3.1.3.3 cdaepsos-POCDMT000040Supply constraint_R22 entryRelationShip with typeCode=REFR can have only one and unique author on substanceAdministration (Appendix B1, R2.2) self.entryRelationship->select(entr : POCDMT000040EntryRelationship | (not entr.typeCode.oclIsUndefined()) and (entr.typeCode=XActRelationshipEntryRelationship::REFR) )->forAll(entrr : POCDMT000040EntryRelationship | entrr.substanceAdministration.oclIsUndefined() or (entrr.substanceAdministration.author->size()<2) ) ERROR constraint_R24 entryRelationship[typeCode='REFR']/substanceAdministration/id required and unique (Appendix B1, R2.4) self.entryRelationship->select(entrr : POCDMT000040EntryRelationship | (not entrr.typeCode.oclIsUndefined()) and entrr.typeCode=XActRelationshipEntryRelationship::REFR and (not entrr.substanceAdministration.oclIsUndefined()) )->forAll(entrr2 : POCDMT000040EntryRelationship | entrr2.substanceAdministration.id->size()=1 and entrr2.substanceAdministration.id->forAll(ii : II | ii.nullFlavor.oclIsUndefined()) ) and self.entryRelationship->select(entrr3 : POCDMT000040EntryRelationship | (not entrr3.typeCode.oclIsUndefined()) and entrr3.typeCode=XActRelationshipEntryRelationship::REFR and (not entrr3.substanceAdministration.oclIsUndefined()) )->size()=1 ERROR constraint_R31 performer required and unique (Appendix B1, R3.1) self.performer->size()=1 and self.performer->forAll(nullFlavor.oclIsUndefined()) ERROR constraint_R322 participant[@typeCode='PRF']/participant Role[@classCode='LIC']/scopingEntity[@ classCode='ORG']/id can have only one value (cardinality 0..1) (Appendix B1, R3.2.2) self.participant->select(part : POCDMT000040Participant2 | (not part.typeCode.oclIsUndefined()) and part.typeCode=ParticipationType::PRF and (not part.participantRole.oclIsUndefined()) and (not part.participantRole.classCode.oclIsUndefined()) and part.participantRole.classCode=RoleClassRoot::LIC and (not part.participantRole.scopingEntity.oclIsUndefined()) and (not part.participantRole.scopingEntity.classCode.oclIsUndefined()) and part.participantRole.scopingEntity.classCode=EntityClassRoot::ORG )->forAll(part2 : POCDMT000040Participant2 | part2.participantRole.scopingEntity.id->size()<2 ) ERROR constraint_R323 product/manufacturedProduct/manufacturedMaterial/id required (Appendix B1, R3.2.3) (not self.product.oclIsUndefined()) and (not self.product.manufacturedProduct.oclIsUndefined()) and (not self.product.manufacturedProduct.manufacturedMaterial.oclIsUndefined()) and (not self.product.manufacturedProduct.manufacturedMaterial.id.oclIsUndefined()) and self.product.manufacturedProduct.manufacturedMaterial.id.nullFlavor.oclIsUndefined() ERROR constraint_R44 product/manufacturedProduct/manufacturedMaterial/ingredient/[@classCode='ACTI']/quantity required. (Appendix B1, R4.4) (not self.product.oclIsUndefined()) and (not self.product.manufacturedProduct.oclIsUndefined()) and (not self.product.manufacturedProduct.manufacturedMaterial.oclIsUndefined()) and self.product.manufacturedProduct.manufacturedMaterial.ingredient->select(ingr : COCTMT230100UVIngredient | (not ingr.classCode.oclIsUndefined()) and ingr.classCode=RoleClassIngredientEntityExt::ACTI) ->size()>0 and self.product.manufacturedProduct.manufacturedMaterial.ingredient->select(ingr : COCTMT230100UVIngredient | (not ingr.classCode.oclIsUndefined()) and ingr.classCode=RoleClassIngredientEntityExt::ACTI)->forAll(ingr : COCTMT230100UVIngredient | (not ingr.quantity.oclIsUndefined()) and ingr.quantity.nullFlavor.oclIsUndefined() ) ERROR constraint_R45_1 product/manufacturedProduct/manufacturedMaterial/asContent/containerPackageMedicine/formCode required (nullFlavor allowed) (Appendix B1, R4.5) (not self.product.oclIsUndefined()) and (not self.product.manufacturedProduct.oclIsUndefined()) and (not self.product.manufacturedProduct.manufacturedMaterial.oclIsUndefined()) and (not self.product.manufacturedProduct.manufacturedMaterial.asContent.oclIsUndefined()) and (not self.product.manufacturedProduct.manufacturedMaterial.asContent.containerPackagedMedicine.oclIsUndefined()) and (not self.product.manufacturedProduct.manufacturedMaterial.asContent.containerPackagedMedicine.formCode.oclIsUndefined()) ERROR constraint_R46_1 product/manufacturedProduct/manufacturedMaterial/formCode required (Appendix B1, R4.6) (not self.product.oclIsUndefined()) and (not self.product.manufacturedProduct.oclIsUndefined()) and (not self.product.manufacturedProduct.manufacturedMaterial.oclIsUndefined()) and (not self.product.manufacturedProduct.manufacturedMaterial.formCode.oclIsUndefined()) and self.product.manufacturedProduct.manufacturedMaterial.formCode.nullFlavor.oclIsUndefined() ERROR constraint_R48 quantity element is required (Appendix B1, R4.8) (not self.quantity.oclIsUndefined()) and self.quantity.nullFlavor.oclIsUndefined() ERROR constraint_R481 product/manufacturedProduct/manufacturedMaterial/asContent/containerPackagedMedicine/capacityQuantity required (Appendix B1, R4.8.1) (not self.product.oclIsUndefined()) and (not self.product.manufacturedProduct.oclIsUndefined()) and (not self.product.manufacturedProduct.manufacturedMaterial.oclIsUndefined()) and (not self.product.manufacturedProduct.manufacturedMaterial.asContent.oclIsUndefined()) and (not self.product.manufacturedProduct.manufacturedMaterial.asContent.containerPackagedMedicine.oclIsUndefined()) and (not self.product.manufacturedProduct.manufacturedMaterial.asContent.containerPackagedMedicine.capacityQuantity.oclIsUndefined()) and self.product.manufacturedProduct.manufacturedMaterial.asContent.containerPackagedMedicine.capacityQuantity.nullFlavor.oclIsUndefined() ERROR constraint_classCode classCode attribute SHALL be SPLY (Appendix B1, 12.1.3.4.2) (not self.classCode.oclIsUndefined()) and self.classCode=ActClassSupply::SPLY ERROR constraint_moodCode moodCode attribute SHALL be INT or EVN (not self.moodCode.oclIsUndefined()) and (self.moodCode=XDocumentSubstanceMood::INT or self.moodCode=XDocumentSubstanceMood::EVN) ERROR constraint_template templates that SHALL be present on dispensed medecine are 2.16.840.1.113883.10.20.1.34, 1.3.6.1.4.1.19376.1.5.3.1.4.7.3, and 1.3.6.1.4.1.12559.11.10.1.3.1.3.3 (Appendix B1, paragraph 12.1.3.4.3) self.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.1.34') and self.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.4.7.3') and self.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3') ERROR constraint_id Each supply act SHALL have an identifier to uniquely identify the dispensation of this particular medication (Appendix B1, paragraph 12.1.3.4.4) self.id->size()>0 and self.id->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.nullFlavor.oclIsUndefined()) ERROR constraint_quantity1 The supply entry should indicate the quantity supplied (Appendix B1, paragraph 12.1.3.4.5) (not self.quantity.oclIsUndefined()) and self.quantity.nullFlavor.oclIsUndefined() ERROR constraint_quantity2 The value of quantity attribute SHALL be present and indicates the quantity of medication supplied (Appendix B1, paragraph 12.1.3.4.5) (not self.quantity.oclIsUndefined()) and (not self.quantity.value.oclIsUndefined()) ERROR constraint_quantity3 The unit of quantity attribute SHALL be present (Appendix B1, paragraph 12.1.3.4.5) (not self.quantity.oclIsUndefined()) and (not self.quantity.unit.oclIsUndefined()) ERROR constraint_product The <product> element SHALL be present, and SHALL contain a <manufacturedProduct> entry, con- forming to the Medicine Entry template (Appendix B1, paragraph 12.1.3.4.6) (not self.product.oclIsUndefined()) and (not self.product.manufacturedProduct.oclIsUndefined()) ERROR constraint_dispenser if moodCode=EVN, a performer SHALL be present, with typeCode=PRF (Appendix B1, paragraph 12.1.3.4.7) self.moodCode.oclIsUndefined() or self.moodCode<>XDocumentSubstanceMood::EVN or self.performer->exists(perf : POCDMT000040Performer2 | (not perf.typeCode.oclIsUndefined()) and perf.typeCode=ParticipationPhysicalPerformer::PRF ) ERROR constraint_particpant participant SHALL be present with the typeCode=PRF and participantRole@classCode=LIC (Appendix B1, paragraph 12.1.3.4.7.1) self.participant->exists(part : POCDMT000040Participant2 | (not part.typeCode.oclIsUndefined()) and part.typeCode=ParticipationType::PRF and (not part.participantRole.oclIsUndefined()) and (not part.participantRole.classCode.oclIsUndefined()) and part.participantRole.classCode=RoleClassRoot::LIC ) ERROR constraint_relatedPrescriptionItem The prescription Item is required within the dispensed medication Entry (Appendix B1, paragraph 12.1.3.4.8) self.entryRelationship->exists(entr : POCDMT000040EntryRelationship | (not entr.typeCode.oclIsUndefined()) and entr.typeCode=XActRelationshipEntryRelationship::REFR and (not entr.substanceAdministration.oclIsUndefined()) and (not entr.substanceAdministration.classCode.oclIsUndefined()) and entr.substanceAdministration.classCode=ActClass::SBADM and entr.substanceAdministration.moodCode=XDocumentSubstanceMood::INT and entr.substanceAdministration.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2') ) ERROR constraint_instructions Patient Medication Instructions SHALL be recorded under an entryRelationship with typeCode=SUBJ and inversionInd=true (Appendix B1, 12.1.3.4.12.3) self.entryRelationship->select(entr : POCDMT000040EntryRelationship | (not entr.act.oclIsUndefined()) and entr.act.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.4.3' ) )->forAll(entr : POCDMT000040EntryRelationship | (not entr.typeCode.oclIsUndefined()) and entr.typeCode=XActRelationshipEntryRelationship::SUBJ and (not entr.inversionInd.oclIsUndefined()) and entr.inversionInd=true ) ERROR DispensationSection TemplateSpec DispensationSection 1.3.6.1.4.1.12559.11.10.1.3.1.2.2 cdaepsos-POCDMT000040Section constraint_code LOINC code required and SHALL be equals to (60590-7, 2.16.840.1.113883.6.1, LOINC, Medication dispensed) (Appendix B1, 12.1.3) (not self.code.oclIsUndefined()) and (not self.code.code.oclIsUndefined()) and self.code.code='60590-7' and (not self.code.codeSystem.oclIsUndefined()) and self.code.codeSystem='2.16.840.1.113883.6.1' and (not self.code.codeSystemName.oclIsUndefined()) and self.code.codeSystemName='LOINC' ERROR constraint_entry Dispensed Medicine Entry SHALL be present on Dispensation Section (template required for the supply element are 2.16.840.1.113883.10.20.1.34, 1.3.6.1.4.1.19376.1.5.3.1.4.7.3, and 1.3.6.1.4.1.12559.11.10.1.3.1.3.3) (Appendix B1, 12.1.3) self.entry->exists(entr : POCDMT000040Entry | (not entr.supply.oclIsUndefined()) and entr.supply.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.1.34') and entr.supply.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.4.7.3') and entr.supply.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3') ) ERROR constraint_R24 entry/supply[templateId/@root= '1.3.6.1.4.1.12559.11.10.1.3.1.3.3']/entryRelationship[typeCode='REFR']/substanceAdministration/id requred and unique (Appendix B1, R2.4) self.entry->exists(entr : POCDMT000040Entry | (not entr.supply.oclIsUndefined()) and entr.supply.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3') and entr.supply.entryRelationship->exists(entrr : POCDMT000040EntryRelationship | (not entrr.typeCode.oclIsUndefined()) and entrr.typeCode=XActRelationshipEntryRelationship::REFR and entrr.substanceAdministration.id->size()=1 and entrr.substanceAdministration.id->forAll(ii : II | ii.nullFlavor.oclIsUndefined()) ) ) ERROR constraint_R31 DispensedMedecine is required on dispensation section (Appendix B1, R3.1) self.entry->exists(entr : POCDMT000040Entry | (not entr.supply.oclIsUndefined()) and entr.supply.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.12559.11.10.1.3.1.3.3') ) ERROR PatientMedicationInstructions TemplateSpec PatientMedicationInstructions 1.3.6.1.4.1.19376.1.5.3.1.4.3 cdaepsos-POCDMT000040Act constraint_classCode classCode attribute SHALL be ACT and moodCode attribute SHALL be INT (Appendix B1, 12.1.3.4.12.4) (not self.classCode.oclIsUndefined()) and self.classCode=XActClassDocumentEntryAct::ACT and (not self.moodCode.oclIsUndefined()) and self.moodCode=XDocumentActMood::INT ERROR constraint_templateId templateId that SHALL be present are 2.16.840.1.113883.10.20.1.49 and 1.3.6.1.4.1.19376.1.5.3.1.4.3 (Appendix B1, 12.1.3.4.12.5) self.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.1.49' ) and self.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.4.3' ) ERROR constraint_code code SHALL be recorded exactly like this : <code code='PINSTRUCT' codeSystem='1.3.6.1.4.1.19376.1.5.3.2' codeSystemName='IHEActCode' /> (Appendix B1, 12.1.3.4.12.6) (not self.code.oclIsUndefined()) and (not self.code.code.oclIsUndefined()) and self.code.code='PINSTRUCT' and (not self.code.codeSystem.oclIsUndefined()) and self.code.codeSystem='1.3.6.1.4.1.19376.1.5.3.2' and (not self.code.codeSystemName.oclIsUndefined()) and self.code.codeSystemName='IHEActCode' ERROR constraint_text text element SHALL contain a reference element with a value (Appendix B1, 12.1.3.4.12.7) self.text.oclIsUndefined() or ( (not self.text.reference.oclIsUndefined()) and (not self.text.reference.value.oclIsUndefined()) ) ERROR constraint_statusCode statusCode attribute SHALL be equal to completed (Appendix B1, 12.1.3.4.12.8) (not self.statusCode.oclIsUndefined()) and (not self.statusCode.code.oclIsUndefined()) and self.statusCode.code='completed' ERROR eDispensationPivot DispensedMedecine2 TemplateSpec DispensedMedecine2 1.3.6.1.4.1.12559.11.10.1.3.1.3.3 cdaepsos-POCDMT000040Supply constraint_R43 product/manufacturedProduct/manufacturedMaterial/ingredie nt/[@classCode='ACTI']/ingredient/code MAY be present. In this case, it SHALL be from epSOSActiveIngredient (2.16.840.1.113883.6.73) (Appendix B1, R4.3) (not self.product.oclIsUndefined()) and (not self.product.manufacturedProduct.oclIsUndefined()) and (not self.product.manufacturedProduct.manufacturedMaterial.oclIsUndefined()) and self.product.manufacturedProduct.manufacturedMaterial.ingredient->select(ingr : COCTMT230100UVIngredient | (not ingr.classCode.oclIsUndefined()) and ingr.classCode=RoleClassIngredientEntityExt::ACTI)->forAll(ingr2 : COCTMT230100UVIngredient | ingr2.ingredient.oclIsUndefined() or (not ingr2.ingredient.code.oclIsUndefined() or ingr2.ingredient.code.nullFlavor.oclIsUndefined()) or ingr2.ingredient.code.matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.24', ingr2.ingredient.code.code, ingr2.ingredient.code.codeSystem, ingr2.ingredient.code.codeSystemName, ingr2.ingredient.code.displayName) ) ERROR constraint_R45_2 product/manufacturedProduct/manufacturedMaterial/asContent/containerPackageMedicine/formCode SHALL be from epSOSPackage codes if not nullFlavored (Appendix B1, R4.5) (not self.product.oclIsUndefined()) and (not self.product.manufacturedProduct.oclIsUndefined()) and (not self.product.manufacturedProduct.manufacturedMaterial.oclIsUndefined()) and (not self.product.manufacturedProduct.manufacturedMaterial.asContent.oclIsUndefined()) and (not self.product.manufacturedProduct.manufacturedMaterial.asContent.containerPackagedMedicine.oclIsUndefined()) and (not self.product.manufacturedProduct.manufacturedMaterial.asContent.containerPackagedMedicine.formCode.oclIsUndefined()) and ( (not self.product.manufacturedProduct.manufacturedMaterial.asContent.containerPackagedMedicine.formCode.nullFlavor.oclIsUndefined()) or self.product.manufacturedProduct.manufacturedMaterial.asContent.containerPackagedMedicine.formCode.matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.3', self.product.manufacturedProduct.manufacturedMaterial.asContent.containerPackagedMedicine.formCode.code, self.product.manufacturedProduct.manufacturedMaterial.asContent.containerPackagedMedicine.formCode.codeSystem, self.product.manufacturedProduct.manufacturedMaterial.asContent.containerPackagedMedicine.formCode.codeSystemName, self.product.manufacturedProduct.manufacturedMaterial.asContent.containerPackagedMedicine.formCode.displayName) ) ERROR constraint_R46_2 product/manufacturedProduct/manufacturedMaterial/formCode SHALL be from epSOSDoseForm (1.3.6.1.4.1.12559.11.10.1.3.1.44.1) (Appendix B1, R4.6) (not self.product.oclIsUndefined()) and (not self.product.manufacturedProduct.oclIsUndefined()) and (not self.product.manufacturedProduct.manufacturedMaterial.oclIsUndefined()) and (not self.product.manufacturedProduct.manufacturedMaterial.formCode.oclIsUndefined()) and self.product.manufacturedProduct.manufacturedMaterial.formCode.matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.2', self.product.manufacturedProduct.manufacturedMaterial.formCode.code, self.product.manufacturedProduct.manufacturedMaterial.formCode.codeSystem, self.product.manufacturedProduct.manufacturedMaterial.formCode.codeSystemName, self.product.manufacturedProduct.manufacturedMaterial.formCode.displayName) ERROR DispensationSection2 TemplateSpec DispensationSection2 1.3.6.1.4.1.12559.11.10.1.3.1.2.2 cdaepsos-POCDMT000040Section constraint_code LOINC code required and SHALL be equals to (60590-7, 2.16.840.1.113883.6.1, LOINC, Medication dispensed) (Appendix B1, 12.1.3) (not self.code.oclIsUndefined()) and (not self.code.code.oclIsUndefined()) and self.code.code='60590-7' and (not self.code.codeSystem.oclIsUndefined()) and self.code.codeSystem='2.16.840.1.113883.6.1' and (not self.code.codeSystemName.oclIsUndefined()) and self.code.codeSystemName='LOINC' and (not self.code.displayName.oclIsUndefined()) and self.code.displayName='Medication dispensed' ERROR ePrescription PrescriptionDocumentSpec TemplateSpec PrescriptionDocumentSpec 1.3.6.1.4.1.12559.11.10.1.3.1.1.1 cdaepsos-POCDMT000040ClinicalDocument constraint_R18 The Contact Person SHALL not be provided for eP and eD. (R1.8) self.participant->forAll(part : POCDMT000040Participant1 | part.templateId->select(tm : II | (not tm.root.oclIsUndefined()) and tm.root='1.3.6.1.4.1.19376.1.5.3.1.2.4' )->size()=0) ERROR constraint_R22 /ClinicalDocument/author is required and unique (Appendix B1, 12.1.2.3, and R2.2) self.author->size()=1and self.author->forAll(nullFlavor.oclIsUndefined()) ERROR constraint_prescriptionSection prescription section is required on a prescription document (Appendix B1, R2, R2.1) (not self.component.oclIsUndefined()) and (not self.component.structuredBody.oclIsUndefined()) and self.component.structuredBody.component->exists(comp : POCDMT000040Component3 | (not comp.section.oclIsUndefined()) and comp.section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.12559.11.10.1.3.1.2.1') ) ERROR EPAllowedDocumentSpec ConstraintsSpec EPAllowedDocumentSpec cdaepsos-POCDMT000040ClinicalDocument constraint_patientSummary_template ClinicalDocument SHALL have this templates : 1.3.6.1.4.1.12559.11.10.1.3.1.1.1 and 1.3.6.1.4.1.19376.1.5.3.1.1.1 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.1') and self.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.1.1') ERROR constraint_patientSummary_templates allowed template on ClinicalDocument are : 1.3.6.1.4.1.12559.11.10.1.3.1.1.2, 1.3.6.1.4.1.19376.1.5.3.1.1.1 self.templateId->forAll(ii : II | (not ii.root.oclIsUndefined()) and (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.19376.1.5.3.1.1.1')) WARNING EPAllowedGuardianSpec ConstraintsSpec EPAllowedGuardianSpec cda-POCDMT000040Guardian constraint_allowed_guardian allowed templates of guardian are: 1.3.6.1.4.1.19376.1.5.3.1.2.4 self.templateId->forAll(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.2.4') WARNING constraint_template guardian SHALL have this template if present : 1.3.6.1.4.1.19376.1.5.3.1.2.4 self.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.2.4') ERROR EPAllowedLanguageCommunicationSpec ConstraintsSpec EPAllowedLanguageCommunicationSpec cda-POCDMT000040LanguageCommunication constraint_allowed_languageCommunication allowed language communication templates are : 1.3.6.1.4.1.19376.1.5.3.1.2.1 self.templateId->forAll(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.2.1' ) WARNING constraint_template language communication SHALL have this template : 1.3.6.1.4.1.19376.1.5.3.1.2.1 self.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.2.1') ERROR EPAuthorHCPIdentification ConstraintsSpec EPAuthorHCPIdentification cda-POCDMT000040Author constraint_R1106_1 HCP Profession is required (functionCode is required) (Appendix B1, R1.10.6) (not self.functionCode.oclIsUndefined()) and self.functionCode.nullFlavor.oclIsUndefined() ERROR constraint_R11091 name of thr healthcare facility for HCP is required and unique (nullFlavor allowed) (not self.assignedAuthor.oclIsUndefined()) and (not self.assignedAuthor.representedOrganization.oclIsUndefined()) and (self.assignedAuthor.representedOrganization.name->size()=1) ERROR constraint_R11092 Healthcare Facility identifier's id is required and unique (nullFlavor allowed) (Appendix B1, R1.10.9.1) (not self.assignedAuthor.oclIsUndefined()) and (not self.assignedAuthor.representedOrganization.oclIsUndefined()) and (self.assignedAuthor.representedOrganization.id->size()=1) ERROR constraint_R110931 Healthcare Facility address may have a unique street part (nullflavor allowed) (Appendix B1, R1.10.9.3.1) (self.assignedAuthor.oclIsUndefined()) or (self.assignedAuthor.representedOrganization.oclIsUndefined()) or self.assignedAuthor.representedOrganization.addr->forAll(ad : AD | ad.streetAddressLine->size()<2) ERROR constraint_R110932 Healthcare Facility address may have unique city part (nullflavor allowed) (Appendix B1, R1.10.9.3.2) (self.assignedAuthor.oclIsUndefined()) or (self.assignedAuthor.representedOrganization.oclIsUndefined()) or self.assignedAuthor.representedOrganization.addr->forAll(ad : AD | ad.city->size()<2) ERROR constraint_R110933 Healthcare Facility address may have unique state part (nullflavor allowed) (Appendix B1, R1.10.9.3.3) (self.assignedAuthor.oclIsUndefined()) or (self.assignedAuthor.representedOrganization.oclIsUndefined()) or self.assignedAuthor.representedOrganization.addr->forAll(ad : AD | ad.state->size()<2) ERROR constraint_R110934 Healthcare Facility address may have unique postal code part (nullflavor allowed) (Appendix B1, R1.10.9.3.4) (self.assignedAuthor.oclIsUndefined()) or (self.assignedAuthor.representedOrganization.oclIsUndefined()) or self.assignedAuthor.representedOrganization.addr->forAll(ad : AD | ad.postalCode->size()<2) ERROR EPHealthCareProvider TemplateSpec EPHealthCareProvider 1.3.6.1.4.1.19376.1.5.3.1.2.3 cda-POCDMT000040Performer1 constraint_R1106_1 HCP Profession is required (functionCode is required)for ePrescription documents (Appendix B1, R1.10.6) (not self.functionCode.oclIsUndefined()) and self.functionCode.nullFlavor.oclIsUndefined() ERROR constraint_R11091 name of thr healthcare facility for HCP is required and unique (nullFlavor allowed) (Appendix B1, R1.10.9.1) (not self.assignedEntity.oclIsUndefined()) and (not self.assignedEntity.representedOrganization.oclIsUndefined()) and (self.assignedEntity.representedOrganization.name->size()=1) ERROR constraint_R11092 Healthcare Facility identifier's id is required and unique (nullFlavor allowed) (Appendix B1, R1.10.9.2) (not self.assignedEntity.oclIsUndefined()) and (not self.assignedEntity.representedOrganization.oclIsUndefined()) and (self.assignedEntity.representedOrganization.id->size()=1) ERROR constraint_R110931 Healthcare Facility address may have unique street part (nullflavor allowed) (Appendix B1, R1.10.9.3.1) (self.assignedEntity.oclIsUndefined()) or (self.assignedEntity.representedOrganization.oclIsUndefined()) or self.assignedEntity.representedOrganization.addr->forAll(ad : AD | ad.streetAddressLine->size()<2) ERROR constraint_R110932 Healthcare Facility address may have unique city part (nullflavor allowed) (Appendix B1, R1.10.9.3.2) (self.assignedEntity.oclIsUndefined()) or (self.assignedEntity.representedOrganization.oclIsUndefined()) or self.assignedEntity.representedOrganization.addr->forAll(ad : AD | ad.city->size()<2) ERROR constraint_R110933 Healthcare Facility address may have unique state part (nullflavor allowed) (Appendix B1, R1.10.9.3.3) (self.assignedEntity.oclIsUndefined()) or (self.assignedEntity.representedOrganization.oclIsUndefined()) or self.assignedEntity.representedOrganization.addr->forAll(ad : AD | ad.state->size()<2) ERROR constraint_R110934 Healthcare Facility address may have unique postal code part (nullflavor allowed) (Appendix B1, R1.10.9.3.4) (self.assignedEntity.oclIsUndefined()) or (self.assignedEntity.representedOrganization.oclIsUndefined()) or self.assignedEntity.representedOrganization.addr->forAll(ad : AD | ad.postalCode->size()<2) ERROR EPAllowedPerformerSpec ConstraintsSpec EPAllowedPerformerSpec cda-POCDMT000040Performer1 constraint_template allowed performer SHALL have this template : 1.3.6.1.4.1.19376.1.5.3.1.2.3 self.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.2.3') ERROR constraint_template_allowed allowed performer templates are : 1.3.6.1.4.1.19376.1.5.3.1.2.3 self.templateId->forAll(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.2.3') WARNING PrescriptionSection TemplateSpec PrescriptionSection 1.3.6.1.4.1.12559.11.10.1.3.1.2.1 cdaepsos-POCDMT000040Section constraint_R21 id is required and unique (Appendix B1, R2.1) (not self.id.oclIsUndefined()) and self.id.nullFlavor.oclIsUndefined() ERROR constraint_R22 section can have a unique author (Appendix B1, R2.1) self.author->size()<2 ERROR constraint_R24 entry/substanceAdministration[templateId/ @root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2']/id required and unique (Appendix B1, R2.4) self.entry->exists(entr : POCDMT000040Entry | (not entr.substanceAdministration.oclIsUndefined()) and entr.substanceAdministration.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2') and entr.substanceAdministration.id->size()=1 and entr.substanceAdministration.id->forAll(i2 : II | i2.nullFlavor.oclIsUndefined()) ) ERROR constraint_id Each prescription SHALL have its own identifier recorded in the element section[templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.2.1']/id (not self.id.oclIsUndefined()) and self.id.nullFlavor.oclIsUndefined() ERROR constraint_code LOINC code is required and it SHALL be (57828-6, 2.16.840.1.113883.6.1, LOINC, Prescriptions) (Appendix B1, 12.1.2) (not self.code.oclIsUndefined()) and (not self.code.code.oclIsUndefined()) and self.code.code='57828-6' and (not self.code.codeSystem.oclIsUndefined()) and self.code.codeSystem='2.16.840.1.113883.6.1' and (not self.code.codeSystemName.oclIsUndefined()) and self.code.codeSystemName='LOINC' ERROR constraint_entry Prescription Item Entry content module is required (Appendix B1, 12.1.2) self.entry->exists(entr : POCDMT000040Entry | (not entr.substanceAdministration.oclIsUndefined()) and entr.substanceAdministration.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2') ) ERROR PrescriptionItemEntry TemplateSpec PrescriptionItemEntry 1.3.6.1.4.1.12559.11.10.1.3.1.3.2 cdaepsos-POCDMT000040SubstanceAdministration constraint_R232 entry/substanceAdministration[templateId/@root='1.3.6.1.4.1.12559.11.10.1. 3.1.3.2']/participant[@typeCode='AUT']/participantRole[@classCode='LIC']/scopingEntity[@classCode='ORG']/id can have a unique value (0..1) (Appendix B1, R2.3.2) self.participant->select(part : POCDMT000040Participant2 | (not part.typeCode.oclIsUndefined()) and part.typeCode=ParticipationType::AUT and (not part.participantRole.oclIsUndefined()) and (not part.participantRole.classCode.oclIsUndefined()) and part.participantRole.classCode=RoleClassRoot::LIC and (not part.participantRole.scopingEntity.oclIsUndefined()) and (not part.participantRole.scopingEntity.classCode.oclIsUndefined()) and part.participantRole.scopingEntity.classCode=EntityClassRoot::ORG )->forAll(part2 : POCDMT000040Participant2 | part2.participantRole.scopingEntity.id->size()<2 ) ERROR constraint_R42 consumable/manufacturedProduct/manufacturedMaterial/name required (Appendix B1, R4.2) (not self.consumable.oclIsUndefined()) and (not self.consumable.manufacturedProduct.oclIsUndefined()) and (not self.consumable.manufacturedProduct.manufacturedMaterial.oclIsUndefined()) and (not self.consumable.manufacturedProduct.manufacturedMaterial.name.oclIsUndefined()) and self.consumable.manufacturedProduct.manufacturedMaterial.name.nullFlavor.oclIsUndefined() ERROR constraint_R44 consumable/manufacturedProduct/manufacturedMaterial/ingredient/[@classCode='ACTI']/quantity required (Appendix B1, R4.4) (not self.consumable.oclIsUndefined()) and (not self.consumable.manufacturedProduct.oclIsUndefined()) and (not self.consumable.manufacturedProduct.manufacturedMaterial.oclIsUndefined()) and self.consumable.manufacturedProduct.manufacturedMaterial.ingredient->select(ingr : COCTMT230100UVIngredient | (not ingr.classCode.oclIsUndefined()) and ingr.classCode=RoleClassIngredientEntityExt::ACTI )->size()>0 and self.consumable.manufacturedProduct.manufacturedMaterial.ingredient->select(ingr : COCTMT230100UVIngredient | (not ingr.classCode.oclIsUndefined()) and ingr.classCode=RoleClassIngredientEntityExt::ACTI )->forAll(ingr : COCTMT230100UVIngredient | (not ingr.quantity.oclIsUndefined()) and ingr.quantity.nullFlavor.oclIsUndefined() ) ERROR constraint_R45_1 consumable/manufacturedProduct/manufacturedMaterial/asContent/containerPackageMedicine/formCode required (nullFlavor allowed) (Appendix B1, R4.5) (not self.consumable.oclIsUndefined()) and (not self.consumable.manufacturedProduct.oclIsUndefined()) and (not self.consumable.manufacturedProduct.manufacturedMaterial.oclIsUndefined()) and (not self.consumable.manufacturedProduct.manufacturedMaterial.asContent.oclIsUndefined()) and (not self.consumable.manufacturedProduct.manufacturedMaterial.asContent.containerPackagedMedicine.oclIsUndefined()) and (not self.consumable.manufacturedProduct.manufacturedMaterial.asContent.containerPackagedMedicine.formCode.oclIsUndefined()) ERROR constraint_R45_2 consumable/manufacturedProduct/manufacturedMaterial/asContent/containerPackageMedicine/formCode SHALL be from epSOSPAckage (1.3.6.1.4.1.12559.11.10.1.3.1.44.1) if not nullFlavored (Appendix B1, R4.5) (not self.consumable.oclIsUndefined()) and (not self.consumable.manufacturedProduct.oclIsUndefined()) and (not self.consumable.manufacturedProduct.manufacturedMaterial.oclIsUndefined()) and (not self.consumable.manufacturedProduct.manufacturedMaterial.asContent.oclIsUndefined()) and (not self.consumable.manufacturedProduct.manufacturedMaterial.asContent.containerPackagedMedicine.oclIsUndefined()) and (not self.consumable.manufacturedProduct.manufacturedMaterial.asContent.containerPackagedMedicine.formCode.oclIsUndefined()) and ( (not self.consumable.manufacturedProduct.manufacturedMaterial.asContent.containerPackagedMedicine.formCode.nullFlavor.oclIsUndefined()) or self.consumable.manufacturedProduct.manufacturedMaterial.asContent.containerPackagedMedicine.formCode.matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.3', self.consumable.manufacturedProduct.manufacturedMaterial.asContent.containerPackagedMedicine.formCode.code, self.consumable.manufacturedProduct.manufacturedMaterial.asContent.containerPackagedMedicine.formCode.codeSystem, self.consumable.manufacturedProduct.manufacturedMaterial.asContent.containerPackagedMedicine.formCode.codeSystemName, self.consumable.manufacturedProduct.manufacturedMaterial.asContent.containerPackagedMedicine.formCode.displayName) ) ERROR constraint_R46_1 consumable/manufacturedProduct/manufacturedMaterial/formCode required and unique (Appendix B1, R4.6) (not self.consumable.oclIsUndefined()) and (not self.consumable.manufacturedProduct.oclIsUndefined()) and (not self.consumable.manufacturedProduct.manufacturedMaterial.oclIsUndefined()) and (not self.consumable.manufacturedProduct.manufacturedMaterial.formCode.oclIsUndefined()) and self.consumable.manufacturedProduct.manufacturedMaterial.formCode.nullFlavor.oclIsUndefined() ERROR constraint_R48 entryRelationship[@typeCode='COMP']/supply[@moodCode='RQO' and independentInd/@value='false']/quantity required (Appendix B1, R4.8) self.entryRelationship->exists(entrr : POCDMT000040EntryRelationship | (not entrr.typeCode.oclIsUndefined()) and (entrr.typeCode=XActRelationshipEntryRelationship::COMP) and (not entrr.supply.oclIsUndefined()) and (not entrr.supply.moodCode.oclIsUndefined()) and (entrr.supply.moodCode=XDocumentSubstanceMood::RQO) and (not entrr.supply.independentInd.oclIsUndefined()) and (not entrr.supply.independentInd.value.oclIsUndefined()) and (entrr.supply.independentInd.value=false) and (not entrr.supply.quantity.oclIsUndefined()) and entrr.supply.quantity.nullFlavor.oclIsUndefined() ) ERROR constraint_R481 consumable/manufacturedProduct/manufacturedMaterial/asContent/containerPacka gedMedicine/capacityQuantity required (Appendix B1, R4.8.1) (not self.consumable.oclIsUndefined()) and (not self.consumable.manufacturedProduct.oclIsUndefined()) and (not self.consumable.manufacturedProduct.manufacturedMaterial.oclIsUndefined()) and (not self.consumable.manufacturedProduct.manufacturedMaterial.asContent.oclIsUndefined()) and (not self.consumable.manufacturedProduct.manufacturedMaterial.asContent.containerPackagedMedicine.oclIsUndefined()) and (not self.consumable.manufacturedProduct.manufacturedMaterial.asContent.containerPackagedMedicine.capacityQuantity.oclIsUndefined()) and self.consumable.manufacturedProduct.manufacturedMaterial.asContent.containerPackagedMedicine.capacityQuantity.nullFlavor.oclIsUndefined() ERROR constraint_R49_1 doseQuantity/low@value SHALL be present (nullFlavor allowed) (Appendix B1, R4.9) (not self.doseQuantity.oclIsUndefined()) and ( (not self.doseQuantity.low.oclIsUndefined()) or (not self.doseQuantity.nullFlavor.oclIsUndefined()) ) ERROR constraint_R49_2 doseQuantity/high@value SHALL be present (nullFlavor allowed) (Appendix B1, R4.9) (not self.doseQuantity.oclIsUndefined()) and ( (not self.doseQuantity.high.oclIsUndefined()) or (not self.doseQuantity.nullFlavor.oclIsUndefined()) ) ERROR constraint_R410_1 effectiveTime is required (Appendix B1, R4.10) (not self.effectiveTime->isEmpty()) ERROR constraint_R411 effectiveTime[1][@ xsi:type='IVL_TS']/low/@value required, nullFlavorAllowed (Appendix B1, R4.11) self.effectiveTime->select(tm : SXCMTS | tm.oclIsKindOf(IVLTS) )->size()>0 and (not self.effectiveTime->select(tm : SXCMTS | tm.oclIsKindOf(IVLTS) )->at(1).nullFlavor.oclIsUndefined()) or ( (not self.effectiveTime->select(tm : SXCMTS | tm.oclIsKindOf(IVLTS) )->at(1).oclAsType(IVLTS).low.oclIsUndefined()) and ( (not self.effectiveTime->select(tm : SXCMTS | tm.oclIsKindOf(IVLTS) )->at(1).oclAsType(IVLTS).low.nullFlavor.oclIsUndefined()) or (not self.effectiveTime->select(tm : SXCMTS | tm.oclIsKindOf(IVLTS) )->at(1).oclAsType(IVLTS).value.oclIsUndefined()) ) and (not self.effectiveTime->select(tm : SXCMTS | tm.oclIsKindOf(IVLTS) )->at(1).oclAsType(IVLTS).high.oclIsUndefined()) and ( (not self.effectiveTime->select(tm : SXCMTS | tm.oclIsKindOf(IVLTS) )->at(1).oclAsType(IVLTS).high.nullFlavor.oclIsUndefined()) or (not self.effectiveTime->select(tm : SXCMTS | tm.oclIsKindOf(IVLTS) )->at(1).oclAsType(IVLTS).high.oclIsUndefined()) ) ) ERROR constraint_templateId templateId SHALL be from 2.16.840.1.113883.10.20.1.24, 1.3.6.1.4.1.19376.1.5.3.1.4.7, 1.3.6.1.4.1.12559.11.10.1.3.1.3.2, 1.3.6.1.4.1.19376.1.5.3.1.4.7.1, 1.3.6.1.4.1.19376.1.5.3.1.4.9, 1.3.6.1.4.1.19376.1.5.3.1.4.11 (Appendix B1, 12.1.2.4.5.2) self.templateId->forAll(ii : II | (not ii.root.oclIsUndefined()) and ( ii.root='2.16.840.1.113883.10.20.1.24' or ii.root='1.3.6.1.4.1.19376.1.5.3.1.4.7' or ii.root='1.3.6.1.4.1.12559.11.10.1.3.1.3.2' or ii.root='1.3.6.1.4.1.19376.1.5.3.1.4.7.1' or ii.root='1.3.6.1.4.1.19376.1.5.3.1.4.9' or ii.root='1.3.6.1.4.1.19376.1.5.3.1.4.11' ) ) ERROR constraint_id only and only one id SHALL be present , nullFlavor not allowed (Appendix B1, 12.1.2.4.5.3) self.id->size()=1 and self.id->forAll(ii : II | (not ii.root.oclIsUndefined())) ERROR constraint_statusCode statusCode SHALL either be active or completed (Appendix B1, 12.1.2.4.5.6) self.statusCode.oclIsUndefined() or self.statusCode.code.oclIsUndefined() or self.statusCode.code='active' or self.statusCode.code='completed' ERROR constraint_classCode classCode SHALL be equal to SBADM (Appendix B1, 12.1.2.4.5) (not self.classCode.oclIsUndefined()) and self.classCode=ActClass::SBADM ERROR constraint_moodCode moodCode SHALL be equal to INT (not self.moodCode.oclIsUndefined()) and self.moodCode=XDocumentSubstanceMood::INT ERROR constraint_effectiveTime1 the first effectiveTime is required and SHALL be from IVL_TS type(Appendix B1, 12.1.2.4.5.7) self.effectiveTime->size()>0 and self.effectiveTime->first().oclIsKindOf(IVLTS) ERROR constraint_effectiveTime2 The low and high values of the first effectiveTime are required, and SHALL be present. If there are unknown, a nullFlavor is required with the value UNK (Appendix B1, 12.1.2.4.5.7) self.effectiveTime->size()>0 and self.effectiveTime->first().oclIsKindOf(IVLTS) and (not self.effectiveTime->first().oclAsType(IVLTS).high.oclIsUndefined()) and (not self.effectiveTime->first().oclAsType(IVLTS).low.oclIsUndefined()) and ( self.effectiveTime->first().oclAsType(IVLTS).high.nullFlavor.oclIsUndefined() or self.effectiveTime->first().oclAsType(IVLTS).high.nullFlavor=NullFlavor::UNK ) and ( self.effectiveTime->first().oclAsType(IVLTS).low.nullFlavor.oclIsUndefined() or self.effectiveTime->first().oclAsType(IVLTS).low.nullFlavor=NullFlavor::UNK ) ERROR constraint_rootCode1 if the rootCode present, it SHALL have codeSystemName=EDQM, codeSystem=1.3.6.1.4.1.12559.11.10.1.3.1.44.1, the code is required (Appendix B1, 12.1.2.4.5.8) self.routeCode.oclIsUndefined() or ( (not self.routeCode.codeSystem.oclIsUndefined()) and self.routeCode.codeSystem='1.3.6.1.4.1.12559.11.10.1.3.1.44.1' and (not self.routeCode.codeSystemName.oclIsUndefined()) and self.routeCode.codeSystemName='EDQM' and (not self.routeCode.code.oclIsUndefined()) ) ERROR constraint_rootCode2 if the rootCode present, the displayName SHOULD be present (Appendix B1, 12.1.2.4.5.8) self.routeCode.oclIsUndefined() or (not self.routeCode.displayName.oclIsUndefined()) WARNING constraint_doseQuantity1 if doseQuantity is present, low and high bounds SHALL be specified with no nullFlavor (Appendix B1, 12.1.2.3.4.9) self.doseQuantity.oclIsUndefined() or (not self.doseQuantity.nullFlavor.oclIsUndefined()) or ( (not self.doseQuantity.low.oclIsUndefined()) and self.doseQuantity.low.nullFlavor.oclIsUndefined() and (not self.doseQuantity.high.oclIsUndefined()) and self.doseQuantity.high.nullFlavor.oclIsUndefined() ) ERROR constraint_doseQuantity3 if translation is given for a low or high value, it SHALL contains a reference to the originalText in the narrative body of the document (Appendix B1, 12.1.2.3.4.9) self.doseQuantity.oclIsUndefined() or ( ( self.doseQuantity.high.oclIsUndefined() or self.doseQuantity.high.translation->forAll(tr : PQR | (not tr.originalText.oclIsUndefined()) and (not tr.originalText.reference.oclIsUndefined()) and (not tr.originalText.reference.value.oclIsUndefined()) ) ) and ( self.doseQuantity.low.oclIsUndefined() or self.doseQuantity.low.translation->forAll(tr : PQR | (not tr.originalText.oclIsUndefined()) and (not tr.originalText.reference.oclIsUndefined()) and (not tr.originalText.reference.value.oclIsUndefined()) ) ) ) ERROR constraint_rateQuantity1 if translation is given for a low or high value, it SHALL contains a reference to the originalText in the narrative body of the document (Appendix B1, 12.1.2.3.4.10) self.rateQuantity.oclIsUndefined() or ( ( self.rateQuantity.high.oclIsUndefined() or self.rateQuantity.high.translation->forAll(tr : PQR | (not tr.originalText.oclIsUndefined()) and (not tr.originalText.reference.oclIsUndefined()) and (not tr.originalText.reference.value.oclIsUndefined()) ) ) and ( self.rateQuantity.low.oclIsUndefined() or self.rateQuantity.low.translation->forAll(tr : PQR | (not tr.originalText.oclIsUndefined()) and (not tr.originalText.reference.oclIsUndefined()) and (not tr.originalText.reference.value.oclIsUndefined()) ) ) ) ERROR constraint_rateQuantity3 if rateQuantity is present, low and high bounds SHALL be specified with no nullFlavor (Appendix B1, 12.1.1.2.4.8) self.rateQuantity.oclIsUndefined() or ( (not self.rateQuantity.low.oclIsUndefined()) and self.rateQuantity.low.nullFlavor.oclIsUndefined() and (not self.rateQuantity.high.oclIsUndefined()) and self.rateQuantity.high.nullFlavor.oclIsUndefined() ) ERROR constraint_consumable consumable SHALL be present, and SHALL contains a manufacturedProduct entry (not self.consumable.oclIsUndefined()) and (not self.consumable.manufacturedProduct.oclIsUndefined()) ERROR constraint_participant1 if participant present, it SHALL have the typeCode=AUT (Appendix B1, 12.1.2.4.5.13) self.participant->forAll(part : POCDMT000040Participant2 | (not part.typeCode.oclIsUndefined()) and part.typeCode=ParticipationType::AUT ) ERROR constraint_participant2 if participant present, it SHALL have the participantRole@classCode=LIC (Appendix B1, 12.1.2.4.5.13) self.participant->forAll(part : POCDMT000040Participant2 | (not part.participantRole.oclIsUndefined()) and (not part.participantRole.classCode.oclIsUndefined()) and part.participantRole.classCode=RoleClassRoot::LIC ) ERROR constraint_participant3 if participant present, it SHALL have the participantRole/scopingEntity@classCode=ORG (Appendix B1, 12.1.2.4.5.13) self.participant->forAll(part : POCDMT000040Participant2 | (not part.participantRole.oclIsUndefined()) and (not part.participantRole.scopingEntity.oclIsUndefined()) and (not part.participantRole.scopingEntity.classCode.oclIsUndefined()) and part.participantRole.scopingEntity.classCode=EntityClassRoot::ORG ) ERROR MedecineEntryContentModule TemplateSpec MedecineEntryContentModule 1.3.6.1.4.1.12559.11.10.1.3.1.3.1 cdaepsos-POCDMT000040ManufacturedProduct constraint_code if code present and contains ariginalText, it SHALL contains a reference with a value (Appendix B1, 12.1.2.5.3) self.manufacturedMaterial.oclIsUndefined() or self.manufacturedMaterial.code.oclIsUndefined() or self.manufacturedMaterial.code.originalText.oclIsUndefined() or ( (not self.manufacturedMaterial.code.originalText.reference.oclIsUndefined()) and (not self.manufacturedMaterial.code.originalText.reference.value.oclIsUndefined()) ) ERROR ePrescriptionPivot PrescriptionSection2 TemplateSpec PrescriptionSection2 1.3.6.1.4.1.12559.11.10.1.3.1.2.1 cdaepsos-POCDMT000040Section constraint_code LOINC code is required and it SHALL be (57828-6, 2.16.840.1.113883.6.1, LOINC, Prescriptions) (Appendix B1, 12.1.2) (not self.code.oclIsUndefined()) and (not self.code.code.oclIsUndefined()) and self.code.code='57828-6' and (not self.code.codeSystem.oclIsUndefined()) and self.code.codeSystem='2.16.840.1.113883.6.1' and (not self.code.codeSystemName.oclIsUndefined()) and self.code.codeSystemName='LOINC' and (not self.code.displayName.oclIsUndefined()) and self.code.displayName='Prescriptions' ERROR PrescriptionItemEntry2 TemplateSpec PrescriptionItemEntry2 1.3.6.1.4.1.12559.11.10.1.3.1.3.2 cdaepsos-POCDMT000040SubstanceAdministration constraint_R43 consumable/manufacturedProduct/manufacturedMaterial/ingredient/[@classCode='ACTI']/ingredient/code required and unique, this code SHALL be from epSOSActiveIngredient (2.16.840.1.113883.6.73) (Appendix B1, R4.3) (not self.consumable.oclIsUndefined()) and (not self.consumable.manufacturedProduct.oclIsUndefined()) and (not self.consumable.manufacturedProduct.manufacturedMaterial.oclIsUndefined()) and self.consumable.manufacturedProduct.manufacturedMaterial.ingredient->select(ingr : COCTMT230100UVIngredient | (not ingr.classCode.oclIsUndefined()) and ingr.classCode=RoleClassIngredientEntityExt::ACTI and (not ingr.ingredient.oclIsUndefined()) )->size()>0 and self.consumable.manufacturedProduct.manufacturedMaterial.ingredient->select(ingr2 : COCTMT230100UVIngredient | (not ingr2.classCode.oclIsUndefined()) and ingr2.classCode=RoleClassIngredientEntityExt::ACTI and (not ingr2.ingredient.oclIsUndefined()) )->forAll(ingr3 : COCTMT230100UVIngredient | (not ingr3.ingredient.code.oclIsUndefined()) and ingr3.ingredient.code.nullFlavor.oclIsUndefined() and ingr3.ingredient.code.matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.24', ingr3.ingredient.code.code, ingr3.ingredient.code.codeSystem, ingr3.ingredient.code.codeSystemName, ingr3.ingredient.code.displayName) ) ERROR constraint_R45_2 consumable/manufacturedProduct/manufacturedMaterial/asContent/containerPackageMedicine/formCode SHALL be from epSOSPAckage (1.3.6.1.4.1.12559.11.10.1.3.1.44.1) if not nullFlavored (Appendix B1, R4.5) (not self.consumable.oclIsUndefined()) and (not self.consumable.manufacturedProduct.oclIsUndefined()) and (not self.consumable.manufacturedProduct.manufacturedMaterial.oclIsUndefined()) and (not self.consumable.manufacturedProduct.manufacturedMaterial.asContent.oclIsUndefined()) and (not self.consumable.manufacturedProduct.manufacturedMaterial.asContent.containerPackagedMedicine.oclIsUndefined()) and (not self.consumable.manufacturedProduct.manufacturedMaterial.asContent.containerPackagedMedicine.formCode.oclIsUndefined()) and ( (not self.consumable.manufacturedProduct.manufacturedMaterial.asContent.containerPackagedMedicine.formCode.nullFlavor.oclIsUndefined()) or self.consumable.manufacturedProduct.manufacturedMaterial.asContent.containerPackagedMedicine.formCode.matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.3', self.consumable.manufacturedProduct.manufacturedMaterial.asContent.containerPackagedMedicine.formCode.code, self.consumable.manufacturedProduct.manufacturedMaterial.asContent.containerPackagedMedicine.formCode.codeSystem, self.consumable.manufacturedProduct.manufacturedMaterial.asContent.containerPackagedMedicine.formCode.codeSystemName, self.consumable.manufacturedProduct.manufacturedMaterial.asContent.containerPackagedMedicine.formCode.displayName) ) ERROR constraint_R46_2 consumable/manufacturedProduct/manufacturedMaterial/formCode SHALL be from epSOSDoseForm codes (1.3.6.1.4.1.12559.11.10.1.3.1.44.1) (Appendix B1, R4.6) (not self.consumable.oclIsUndefined()) and (not self.consumable.manufacturedProduct.oclIsUndefined()) and (not self.consumable.manufacturedProduct.manufacturedMaterial.oclIsUndefined()) and (not self.consumable.manufacturedProduct.manufacturedMaterial.formCode.oclIsUndefined()) and self.consumable.manufacturedProduct.manufacturedMaterial.formCode.nullFlavor.oclIsUndefined() and self.consumable.manufacturedProduct.manufacturedMaterial.formCode.matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.2', self.consumable.manufacturedProduct.manufacturedMaterial.formCode.code, self.consumable.manufacturedProduct.manufacturedMaterial.formCode.codeSystem, self.consumable.manufacturedProduct.manufacturedMaterial.formCode.codeSystemName, self.consumable.manufacturedProduct.manufacturedMaterial.formCode.displayName) ERROR constraint_R47 routeCode element SHALL be from epSOSRouteofAdministration codes (1.3.6.1.4.1.12559.11.10.1.3.1.44.1) (Appendix B1, R4.7) self.routeCode.oclIsUndefined() or self.routeCode.nullFlavor.oclIsUndefined() or self.routeCode.matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.12', self.routeCode.code, self.routeCode.codeSystem, self.routeCode.codeSystemName, self.routeCode.displayName) ERROR constraint_R49_3 if doseQuantity/low@value be present, low@unit SHALL be from epSOSUCUM codes, otherwise it SHALL have the value '1' (Appendix B1, R4.9) self.doseQuantity.oclIsUndefined() or (not self.doseQuantity.nullFlavor.oclIsUndefined()) or self.doseQuantity.low.oclIsUndefined() or (not self.doseQuantity.low.nullFlavor.oclIsUndefined()) or ( self.doseQuantity.low.unit='1' or self.doseQuantity.low.matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.16', self.doseQuantity.low.unit) ) ERROR constraint_R49_4 if doseQuantity/high@value be present, hgh@unit SHALL be from epSOSUCUM codes, otherwise it SHALL have the value '1' (Appendix B1, R4.9) self.doseQuantity.oclIsUndefined() or (not self.doseQuantity.nullFlavor.oclIsUndefined()) or self.doseQuantity.high.oclIsUndefined() or (not self.doseQuantity.high.nullFlavor.oclIsUndefined()) or ( self.doseQuantity.high.unit='1' or self.doseQuantity.high.matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.16', self.doseQuantity.high.unit) ) ERROR constraint_R410_2 If EIVL_TS mode is used as effectiveTime, HL7 TimingEvent vocabulary (2.16.840.1.113883.5.139) SHALL be used (Appendix B1, R4.10) self.effectiveTime->forAll(tm : SXCMTS | (not tm.nullFlavor.oclIsUndefined()) or (not tm.oclIsKindOf(EIVLTS)) or tm.oclAsType(EIVLTS).event.matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.41', tm.oclAsType(EIVLTS).event.code, tm.oclAsType(EIVLTS).event.codeSystem, tm.oclAsType(EIVLTS).event.codeSystemName, tm.oclAsType(EIVLTS).event.displayName) ) ERROR constraint_R416 entryRelationship[@typeCode='SUBJ'][@inversionInd='true']/observation[@classCode ='OBS']/[code/@code='SUBST' and code/@codeSystem='2.16.840.1.113883.5.6']value if present SHALL be from epSOSSubstitutionCode (Appendix B1, R4.16) self.entryRelationship->select(entr : POCDMT000040EntryRelationship | (not entr.typeCode.oclIsUndefined()) and entr.typeCode=XActRelationshipEntryRelationship::SUBJ and (not entr.inversionInd.oclIsUndefined()) and (entr.inversionInd=true))->forAll(entr2 : POCDMT000040EntryRelationship | entr2.observation.oclIsUndefined() or entr2.observation.classCode.oclIsUndefined() or (entr2.observation.classCode<>ActClassObservation::OBS) or entr2.observation.code.oclIsUndefined() or entr2.observation.code.code.oclIsUndefined() or entr2.observation.code.code<>'SUBST' or entr2.observation.code.codeSystem.oclIsUndefined() or entr2.observation.code.codeSystem<>'2.16.840.1.113883.5.6' or entr2.observation.value->forAll(val : ANY | val.nullFlavor.oclIsUndefined() or ( val.oclIsKindOf(CE) and val.oclAsType(CE).matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.7', val.oclAsType(CE).code, val.oclAsType(CE).codeSystem, val.oclAsType(CE).codeSystemName, val.oclAsType(CE).displayName) ) ) ) ERROR constraint_rateQuantity2 If rateQuantity present, the unit of low and high element SHALL be equals to 1, or SHALL be from epSOSUnits codes, or from epSOSDoseForm codes (Appendix B1, 12.1.2.3.4.10) self.rateQuantity.oclIsUndefined() or ( ( self.rateQuantity.low.oclIsUndefined() or self.rateQuantity.low.unit.oclIsUndefined() or self.rateQuantity.low.matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.16', self.rateQuantity.low.unit) or self.rateQuantity.low.unit='1' or self.rateQuantity.low.matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.2', self.rateQuantity.low.unit) ) and ( self.rateQuantity.high.oclIsUndefined() or self.rateQuantity.high.unit.oclIsUndefined() or self.rateQuantity.high.matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.16', self.rateQuantity.high.unit) or self.rateQuantity.high.unit='1' or self.rateQuantity.high.matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.2', self.rateQuantity.high.unit) ) ) ERROR constraint_doseQuantity2 If doseQuantity present, the unit of low and high element SHALL be equals to 1, or SHALL be from epSOSUnits codes, or from epSOSDoseForm codes (Appendix B1, 12.1.2.3.4.9) self.doseQuantity.oclIsUndefined() or ( ( self.doseQuantity.low.oclIsUndefined() or self.doseQuantity.low.unit.oclIsUndefined() or self.doseQuantity.low.matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.16', self.doseQuantity.low.unit) or self.doseQuantity.low.unit='1' or self.doseQuantity.low.matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.2', self.doseQuantity.low.unit) ) and ( self.doseQuantity.high.oclIsUndefined() or self.doseQuantity.high.unit.oclIsUndefined() or self.doseQuantity.high.matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.16', self.doseQuantity.high.unit) or self.doseQuantity.high.unit='1' or self.doseQuantity.high.matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.2', self.doseQuantity.high.unit) ) ) ERROR constraint_entryRelationship1 substitutions instructions if presents SHALL have a vakue from epSOSSubstitutionCode codes (Appendix B1, 12.1.2.4.5.15) self.entryRelationship->select(entr : POCDMT000040EntryRelationship | (not entr.typeCode.oclIsUndefined()) and entr.typeCode=XActRelationshipEntryRelationship::SUBJ and (not entr.observation.oclIsUndefined()) and (not entr.observation.code.oclIsUndefined()) and (not entr.observation.code.code.oclIsUndefined()) and entr.observation.code.code='SUBST' and (not entr.observation.code.codeSystem.oclIsUndefined()) and entr.observation.code.codeSystem='2.16.840.1.113883.5.6' )->forAll(entr : POCDMT000040EntryRelationship | entr.observation.value->size()>0 and entr.observation.value->forAll(val : ANY | val.oclIsKindOf(CD) and val.oclAsType(CD).nullFlavor.oclIsUndefined() and val.oclAsType(CD).matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.7',val.oclAsType(CD).code, val.oclAsType(CD).codeSystem, val.oclAsType(CD).codeSystemName, val.oclAsType(CD).displayName) ) ) ERROR MedecineEntryContentModule2 TemplateSpec MedecineEntryContentModule2 1.3.6.1.4.1.12559.11.10.1.3.1.3.1 cdaepsos-POCDMT000040ManufacturedProduct constraint_capacityQuantity if manufacturedMaterial.asContent.containerPackagedMedicine.capacityQuantity.unit present, it SHALL be equals to 1, or it SHALL be from epSOSUnits or from epSOSDoseForm codes (Appendix B1, 12.1.2.5.3.3) self.manufacturedMaterial.oclIsUndefined() or self.manufacturedMaterial.asContent.oclIsUndefined() or self.manufacturedMaterial.asContent.containerPackagedMedicine.oclIsUndefined() or self.manufacturedMaterial.asContent.containerPackagedMedicine.capacityQuantity.oclIsUndefined() or self.manufacturedMaterial.asContent.containerPackagedMedicine.capacityQuantity.unit.oclIsUndefined() or self.manufacturedMaterial.asContent.containerPackagedMedicine.capacityQuantity.matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.16', self.manufacturedMaterial.asContent.containerPackagedMedicine.capacityQuantity.unit) or self.manufacturedMaterial.asContent.containerPackagedMedicine.capacityQuantity.unit='1' or self.manufacturedMaterial.asContent.containerPackagedMedicine.capacityQuantity.matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.2', self.manufacturedMaterial.asContent.containerPackagedMedicine.capacityQuantity.unit) ERROR nblock StrucDocBr StrucDoc.Br StrucDocCaption StrucDoc.Caption mixed 0 -1 EcorePrimitiveTypes-EFeatureMapEntry ElementWildcard mixed group 0 -1 EcorePrimitiveTypes-EFeatureMapEntry Group group linkHtml 0 -1 nblock-StrucDocLinkHtml Element linkHtml urn:hl7-org:v3 sub 0 -1 nblock-StrucDocSub Element sub urn:hl7-org:v3 sup 0 -1 nblock-StrucDocSup Element sup urn:hl7-org:v3 footnote 0 -1 nblock-StrucDocFootnote Element footnote urn:hl7-org:v3 footnoteRef 0 -1 nblock-StrucDocFootnoteRef Element footnoteRef urn:hl7-org:v3 iD 0 1 XMLPrimitiveTypes-String Attribute iD language 0 1 XMLPrimitiveTypes-String Attribute language styleCode 0 1 XMLPrimitiveTypes-String Attribute styleCode StrucDocLinkHtml StrucDoc.LinkHtml mixed 0 -1 EcorePrimitiveTypes-EFeatureMapEntry ElementWildcard mixed group 0 -1 EcorePrimitiveTypes-EFeatureMapEntry Group group footnote 0 -1 nblock-StrucDocFootnote Element footnote urn:hl7-org:v3 footnoteRef 0 -1 nblock-StrucDocFootnoteRef Element footnoteRef urn:hl7-org:v3 href 0 1 XMLPrimitiveTypes-String Attribute href iD 0 1 XMLPrimitiveTypes-String Attribute iD language 0 1 XMLPrimitiveTypes-String Attribute language name 0 1 XMLPrimitiveTypes-String Attribute name rel 0 1 XMLPrimitiveTypes-String Attribute rel rev 0 1 XMLPrimitiveTypes-String Attribute rev styleCode 0 1 XMLPrimitiveTypes-String Attribute styleCode title 0 1 XMLPrimitiveTypes-String Attribute title StrucDocFootnote StrucDoc.Footnote mixed 0 -1 EcorePrimitiveTypes-EFeatureMapEntry ElementWildcard mixed group 0 -1 EcorePrimitiveTypes-EFeatureMapEntry Group group content 0 -1 nblock-StrucDocContent Element content urn:hl7-org:v3 linkHtml 0 -1 nblock-StrucDocLinkHtml Element linkHtml urn:hl7-org:v3 sub 0 -1 nblock-StrucDocSub Element sub urn:hl7-org:v3 sup 0 -1 nblock-StrucDocSup Element sup urn:hl7-org:v3 br 0 -1 nblock-StrucDocBr Element br urn:hl7-org:v3 renderMultiMedia 0 -1 nblock-StrucDocRenderMultiMedia Element renderMultiMedia urn:hl7-org:v3 paragraph 0 -1 nblock-StrucDocParagraph Element paragraph urn:hl7-org:v3 list 0 -1 nblock-StrucDocList Element list urn:hl7-org:v3 table 0 -1 nblock-StrucDocTable Element table urn:hl7-org:v3 iD 0 1 XMLPrimitiveTypes-String Attribute iD language 0 1 XMLPrimitiveTypes-String Attribute language styleCode 0 1 XMLPrimitiveTypes-String Attribute styleCode StrucDocContent StrucDoc.Content mixed 0 -1 EcorePrimitiveTypes-EFeatureMapEntry ElementWildcard mixed group 0 -1 EcorePrimitiveTypes-EFeatureMapEntry Group group content 0 -1 nblock-StrucDocContent Element content urn:hl7-org:v3 linkHtml 0 -1 nblock-StrucDocLinkHtml Element linkHtml urn:hl7-org:v3 sub 0 -1 nblock-StrucDocSub Element sub urn:hl7-org:v3 sup 0 -1 nblock-StrucDocSup Element sup urn:hl7-org:v3 br 0 -1 nblock-StrucDocBr Element br urn:hl7-org:v3 footnote 0 -1 nblock-StrucDocFootnote Element footnote urn:hl7-org:v3 footnoteRef 0 -1 nblock-StrucDocFootnoteRef Element footnoteRef urn:hl7-org:v3 renderMultiMedia 0 -1 nblock-StrucDocRenderMultiMedia Element renderMultiMedia urn:hl7-org:v3 iD 0 1 XMLPrimitiveTypes-String Attribute iD language 0 1 XMLPrimitiveTypes-String Attribute language revised 0 1 nblock-RevisedType Attribute revised styleCode 0 1 XMLPrimitiveTypes-String Attribute styleCode StrucDocSub StrucDoc.Sub mixed 0 -1 EcorePrimitiveTypes-EFeatureMapEntry ElementWildcard mixed StrucDocSup StrucDoc.Sup mixed 0 -1 EcorePrimitiveTypes-EFeatureMapEntry ElementWildcard mixed StrucDocFootnoteRef StrucDoc.FootnoteRef iD 0 1 XMLPrimitiveTypes-String Attribute iD iDREF 1 1 XMLPrimitiveTypes-String Attribute iDREF language 0 1 XMLPrimitiveTypes-String Attribute language styleCode 0 1 XMLPrimitiveTypes-String Attribute styleCode StrucDocRenderMultiMedia StrucDoc.RenderMultiMedia caption 0 1 nblock-StrucDocCaption Element caption urn:hl7-org:v3 iD 0 1 XMLPrimitiveTypes-String Attribute iD language 0 1 XMLPrimitiveTypes-String Attribute language referencedObject 1 1 XMLPrimitiveTypes-String Attribute referencedObject styleCode 0 1 XMLPrimitiveTypes-String Attribute styleCode StrucDocParagraph StrucDoc.Paragraph mixed 0 -1 EcorePrimitiveTypes-EFeatureMapEntry ElementWildcard mixed caption 0 1 nblock-StrucDocCaption Element caption urn:hl7-org:v3 group 0 -1 EcorePrimitiveTypes-EFeatureMapEntry Group group content 0 -1 nblock-StrucDocContent Element content urn:hl7-org:v3 linkHtml 0 -1 nblock-StrucDocLinkHtml Element linkHtml urn:hl7-org:v3 sub 0 -1 nblock-StrucDocSub Element sub urn:hl7-org:v3 sup 0 -1 nblock-StrucDocSup Element sup urn:hl7-org:v3 br 0 -1 nblock-StrucDocBr Element br urn:hl7-org:v3 footnote 0 -1 nblock-StrucDocFootnote Element footnote urn:hl7-org:v3 footnoteRef 0 -1 nblock-StrucDocFootnoteRef Element footnoteRef urn:hl7-org:v3 renderMultiMedia 0 -1 nblock-StrucDocRenderMultiMedia Element renderMultiMedia urn:hl7-org:v3 iD 0 1 XMLPrimitiveTypes-String Attribute iD language 0 1 XMLPrimitiveTypes-String Attribute language styleCode 0 1 XMLPrimitiveTypes-String Attribute styleCode StrucDocList StrucDoc.List caption 0 1 nblock-StrucDocCaption Element caption urn:hl7-org:v3 item 1 -1 nblock-StrucDocItem Element item urn:hl7-org:v3 iD 0 1 XMLPrimitiveTypes-String Attribute iD language 0 1 XMLPrimitiveTypes-String Attribute language listType 0 1 nblock-ListTypeType Attribute listType styleCode 0 1 XMLPrimitiveTypes-String Attribute styleCode StrucDocItem StrucDoc.Item mixed 0 -1 EcorePrimitiveTypes-EFeatureMapEntry ElementWildcard mixed caption 0 1 nblock-StrucDocCaption Element caption urn:hl7-org:v3 group 0 -1 EcorePrimitiveTypes-EFeatureMapEntry Group group content 0 -1 nblock-StrucDocContent Element content urn:hl7-org:v3 linkHtml 0 -1 nblock-StrucDocLinkHtml Element linkHtml urn:hl7-org:v3 sub 0 -1 nblock-StrucDocSub Element sub urn:hl7-org:v3 sup 0 -1 nblock-StrucDocSup Element sup urn:hl7-org:v3 br 0 -1 nblock-StrucDocBr Element br urn:hl7-org:v3 footnote 0 -1 nblock-StrucDocFootnote Element footnote urn:hl7-org:v3 footnoteRef 0 -1 nblock-StrucDocFootnoteRef Element footnoteRef urn:hl7-org:v3 renderMultiMedia 0 -1 nblock-StrucDocRenderMultiMedia Element renderMultiMedia urn:hl7-org:v3 paragraph 0 -1 nblock-StrucDocParagraph Element paragraph urn:hl7-org:v3 list 0 -1 nblock-StrucDocList Element list urn:hl7-org:v3 table 0 -1 nblock-StrucDocTable Element table urn:hl7-org:v3 iD 0 1 XMLPrimitiveTypes-String Attribute iD language 0 1 XMLPrimitiveTypes-String Attribute language styleCode 0 1 XMLPrimitiveTypes-String Attribute styleCode StrucDocTable StrucDoc.Table caption 0 1 nblock-StrucDocCaption Element caption urn:hl7-org:v3 col 0 -1 nblock-StrucDocCol Element col urn:hl7-org:v3 colgroup 0 -1 nblock-StrucDocColgroup Element colgroup urn:hl7-org:v3 thead 0 1 nblock-StrucDocThead Element thead urn:hl7-org:v3 tfoot 0 1 nblock-StrucDocTfoot Element tfoot urn:hl7-org:v3 tbody 1 -1 nblock-StrucDocTbody Element tbody urn:hl7-org:v3 border 0 1 XMLPrimitiveTypes-String Attribute border cellpadding 0 1 XMLPrimitiveTypes-String Attribute cellpadding cellspacing 0 1 XMLPrimitiveTypes-String Attribute cellspacing frame 0 1 nblock-FrameType Attribute frame iD 0 1 XMLPrimitiveTypes-String Attribute iD language 0 1 XMLPrimitiveTypes-String Attribute language rules 0 1 nblock-RulesType Attribute rules styleCode 0 1 XMLPrimitiveTypes-String Attribute styleCode summary 0 1 XMLPrimitiveTypes-String Attribute summary width 0 1 XMLPrimitiveTypes-String Attribute width StrucDocCol StrucDoc.Col align 0 1 nblock-AlignType7 Attribute align char 0 1 XMLPrimitiveTypes-String Attribute char charoff 0 1 XMLPrimitiveTypes-String Attribute charoff iD 0 1 XMLPrimitiveTypes-String Attribute iD language 0 1 XMLPrimitiveTypes-String Attribute language span 0 1 XMLPrimitiveTypes-String Attribute span styleCode 0 1 XMLPrimitiveTypes-String Attribute styleCode valign 0 1 nblock-ValignType7 Attribute valign width 0 1 XMLPrimitiveTypes-String Attribute width StrucDocColgroup StrucDoc.Colgroup group 0 -1 EcorePrimitiveTypes-EFeatureMapEntry Group group col 0 -1 nblock-StrucDocCol Element col urn:hl7-org:v3 align 0 1 nblock-AlignType3 Attribute align char 0 1 XMLPrimitiveTypes-String Attribute char charoff 0 1 XMLPrimitiveTypes-String Attribute charoff iD 0 1 XMLPrimitiveTypes-String Attribute iD language 0 1 XMLPrimitiveTypes-String Attribute language span 0 1 XMLPrimitiveTypes-String Attribute span styleCode 0 1 XMLPrimitiveTypes-String Attribute styleCode valign 0 1 nblock-ValignType3 Attribute valign width 0 1 XMLPrimitiveTypes-String Attribute width StrucDocThead StrucDoc.Thead group 0 -1 EcorePrimitiveTypes-EFeatureMapEntry Group group tr 1 -1 nblock-StrucDocTr Element tr urn:hl7-org:v3 align 0 1 nblock-AlignType4 Attribute align char 0 1 XMLPrimitiveTypes-String Attribute char charoff 0 1 XMLPrimitiveTypes-String Attribute charoff iD 0 1 XMLPrimitiveTypes-String Attribute iD language 0 1 XMLPrimitiveTypes-String Attribute language styleCode 0 1 XMLPrimitiveTypes-String Attribute styleCode valign 0 1 nblock-ValignType4 Attribute valign StrucDocTr StrucDoc.Tr group 0 -1 EcorePrimitiveTypes-EFeatureMapEntry Group group th 0 -1 nblock-StrucDocTh Element th urn:hl7-org:v3 td 0 -1 nblock-StrucDocTd Element td urn:hl7-org:v3 align 0 1 nblock-AlignType1 Attribute align char 0 1 XMLPrimitiveTypes-String Attribute char charoff 0 1 XMLPrimitiveTypes-String Attribute charoff iD 0 1 XMLPrimitiveTypes-String Attribute iD language 0 1 XMLPrimitiveTypes-String Attribute language styleCode 0 1 XMLPrimitiveTypes-String Attribute styleCode valign 0 1 nblock-ValignType2 Attribute valign StrucDocTh StrucDoc.Th mixed 0 -1 EcorePrimitiveTypes-EFeatureMapEntry ElementWildcard mixed group 0 -1 EcorePrimitiveTypes-EFeatureMapEntry Group group content 0 -1 nblock-StrucDocContent Element content urn:hl7-org:v3 linkHtml 0 -1 nblock-StrucDocLinkHtml Element linkHtml urn:hl7-org:v3 sub 0 -1 nblock-StrucDocSub Element sub urn:hl7-org:v3 sup 0 -1 nblock-StrucDocSup Element sup urn:hl7-org:v3 br 0 -1 nblock-StrucDocBr Element br urn:hl7-org:v3 footnote 0 -1 nblock-StrucDocFootnote Element footnote urn:hl7-org:v3 footnoteRef 0 -1 nblock-StrucDocFootnoteRef Element footnoteRef urn:hl7-org:v3 renderMultiMedia 0 -1 nblock-StrucDocRenderMultiMedia Element renderMultiMedia urn:hl7-org:v3 abbr 0 1 XMLPrimitiveTypes-String Attribute abbr align 0 1 nblock-AlignType Attribute align axis 0 1 XMLPrimitiveTypes-String Attribute axis char 0 1 XMLPrimitiveTypes-String Attribute char charoff 0 1 XMLPrimitiveTypes-String Attribute charoff colspan 0 1 XMLPrimitiveTypes-String Attribute colspan headers 0 1 XMLPrimitiveTypes-String Attribute headers iD 0 1 XMLPrimitiveTypes-String Attribute iD language 0 1 XMLPrimitiveTypes-String Attribute language rowspan 0 1 XMLPrimitiveTypes-String Attribute rowspan scope 0 1 nblock-ScopeType1 Attribute scope styleCode 0 1 XMLPrimitiveTypes-String Attribute styleCode valign 0 1 nblock-ValignType Attribute valign StrucDocTd StrucDoc.Td mixed 0 -1 EcorePrimitiveTypes-EFeatureMapEntry ElementWildcard mixed group 0 -1 EcorePrimitiveTypes-EFeatureMapEntry Group group content 0 -1 nblock-StrucDocContent Element content urn:hl7-org:v3 linkHtml 0 -1 nblock-StrucDocLinkHtml Element linkHtml urn:hl7-org:v3 sub 0 -1 nblock-StrucDocSub Element sub urn:hl7-org:v3 sup 0 -1 nblock-StrucDocSup Element sup urn:hl7-org:v3 br 0 -1 nblock-StrucDocBr Element br urn:hl7-org:v3 footnote 0 -1 nblock-StrucDocFootnote Element footnote urn:hl7-org:v3 footnoteRef 0 -1 nblock-StrucDocFootnoteRef Element footnoteRef urn:hl7-org:v3 renderMultiMedia 0 -1 nblock-StrucDocRenderMultiMedia Element renderMultiMedia urn:hl7-org:v3 paragraph 0 -1 nblock-StrucDocParagraph Element paragraph urn:hl7-org:v3 list 0 -1 nblock-StrucDocList Element list urn:hl7-org:v3 abbr 0 1 XMLPrimitiveTypes-String Attribute abbr align 0 1 nblock-AlignType2 Attribute align axis 0 1 XMLPrimitiveTypes-String Attribute axis char 0 1 XMLPrimitiveTypes-String Attribute char charoff 0 1 XMLPrimitiveTypes-String Attribute charoff colspan 0 1 XMLPrimitiveTypes-String Attribute colspan headers 0 1 XMLPrimitiveTypes-String Attribute headers iD 0 1 XMLPrimitiveTypes-String Attribute iD language 0 1 XMLPrimitiveTypes-String Attribute language rowspan 0 1 XMLPrimitiveTypes-String Attribute rowspan scope 0 1 nblock-ScopeType Attribute scope styleCode 0 1 XMLPrimitiveTypes-String Attribute styleCode valign 0 1 nblock-ValignType1 Attribute valign StrucDocTfoot StrucDoc.Tfoot group 0 -1 EcorePrimitiveTypes-EFeatureMapEntry Group group tr 1 -1 nblock-StrucDocTr Element tr urn:hl7-org:v3 align 0 1 nblock-AlignType6 Attribute align char 0 1 XMLPrimitiveTypes-String Attribute char charoff 0 1 XMLPrimitiveTypes-String Attribute charoff iD 0 1 XMLPrimitiveTypes-String Attribute iD language 0 1 XMLPrimitiveTypes-String Attribute language styleCode 0 1 XMLPrimitiveTypes-String Attribute styleCode valign 0 1 nblock-ValignType5 Attribute valign StrucDocTbody StrucDoc.Tbody group 0 -1 EcorePrimitiveTypes-EFeatureMapEntry Group group tr 1 -1 nblock-StrucDocTr Element tr urn:hl7-org:v3 align 0 1 nblock-AlignType5 Attribute align char 0 1 XMLPrimitiveTypes-String Attribute char charoff 0 1 XMLPrimitiveTypes-String Attribute charoff iD 0 1 XMLPrimitiveTypes-String Attribute iD language 0 1 XMLPrimitiveTypes-String Attribute language styleCode 0 1 XMLPrimitiveTypes-String Attribute styleCode valign 0 1 nblock-ValignType6 Attribute valign StrucDocText StrucDoc.Text mixed 0 -1 EcorePrimitiveTypes-EFeatureMapEntry ElementWildcard mixed group 0 -1 EcorePrimitiveTypes-EFeatureMapEntry Group group content 0 -1 nblock-StrucDocContent Element content urn:hl7-org:v3 linkHtml 0 -1 nblock-StrucDocLinkHtml Element linkHtml urn:hl7-org:v3 sub 0 -1 nblock-StrucDocSub Element sub urn:hl7-org:v3 sup 0 -1 nblock-StrucDocSup Element sup urn:hl7-org:v3 br 0 -1 nblock-StrucDocBr Element br urn:hl7-org:v3 footnote 0 -1 nblock-StrucDocFootnote Element footnote urn:hl7-org:v3 footnoteRef 0 -1 nblock-StrucDocFootnoteRef Element footnoteRef urn:hl7-org:v3 renderMultiMedia 0 -1 nblock-StrucDocRenderMultiMedia Element renderMultiMedia urn:hl7-org:v3 paragraph 0 -1 nblock-StrucDocParagraph Element paragraph urn:hl7-org:v3 list 0 -1 nblock-StrucDocList Element list urn:hl7-org:v3 table 0 -1 nblock-StrucDocTable Element table urn:hl7-org:v3 iD 0 1 XMLPrimitiveTypes-String Attribute iD language 0 1 XMLPrimitiveTypes-String Attribute language mediaType 0 1 XMLPrimitiveTypes-String Attribute mediaType styleCode 0 1 XMLPrimitiveTypes-String Attribute styleCode StrucDocTitle StrucDoc.Title mixed 0 -1 EcorePrimitiveTypes-EFeatureMapEntry ElementWildcard mixed group 0 -1 EcorePrimitiveTypes-EFeatureMapEntry Group group content 0 -1 nblock-StrucDocTitleContent Element content urn:hl7-org:v3 sub 0 -1 nblock-StrucDocSub Element sub urn:hl7-org:v3 sup 0 -1 nblock-StrucDocSup Element sup urn:hl7-org:v3 br 0 -1 nblock-StrucDocBr Element br urn:hl7-org:v3 footnote 0 -1 nblock-StrucDocTitleFootnote Element footnote urn:hl7-org:v3 footnoteRef 0 -1 nblock-StrucDocFootnoteRef Element footnoteRef urn:hl7-org:v3 iD 0 1 XMLPrimitiveTypes-String Attribute iD language 0 1 XMLPrimitiveTypes-String Attribute language mediaType 0 1 XMLPrimitiveTypes-String Attribute mediaType styleCode 0 1 XMLPrimitiveTypes-String Attribute styleCode StrucDocTitleContent StrucDoc.TitleContent mixed 0 -1 EcorePrimitiveTypes-EFeatureMapEntry ElementWildcard mixed group 0 -1 EcorePrimitiveTypes-EFeatureMapEntry Group group content 0 -1 nblock-StrucDocTitleContent Element content urn:hl7-org:v3 sub 0 -1 nblock-StrucDocSub Element sub urn:hl7-org:v3 sup 0 -1 nblock-StrucDocSup Element sup urn:hl7-org:v3 br 0 -1 nblock-StrucDocBr Element br urn:hl7-org:v3 footnote 0 -1 nblock-StrucDocTitleFootnote Element footnote urn:hl7-org:v3 footnoteRef 0 -1 nblock-StrucDocFootnoteRef Element footnoteRef urn:hl7-org:v3 iD 0 1 XMLPrimitiveTypes-String Attribute iD language 0 1 XMLPrimitiveTypes-String Attribute language styleCode 0 1 XMLPrimitiveTypes-String Attribute styleCode StrucDocTitleFootnote StrucDoc.TitleFootnote mixed 0 -1 EcorePrimitiveTypes-EFeatureMapEntry ElementWildcard mixed group 0 -1 EcorePrimitiveTypes-EFeatureMapEntry Group group content 0 -1 nblock-StrucDocTitleContent Element content urn:hl7-org:v3 sub 0 -1 nblock-StrucDocSub Element sub urn:hl7-org:v3 sup 0 -1 nblock-StrucDocSup Element sup urn:hl7-org:v3 br 0 -1 nblock-StrucDocBr Element br urn:hl7-org:v3 iD 0 1 XMLPrimitiveTypes-String Attribute iD language 0 1 XMLPrimitiveTypes-String Attribute language styleCode 0 1 XMLPrimitiveTypes-String Attribute styleCode AlignType AlignType left left center center right right justify justify char char AlignType1 AlignType1 left left center center right right justify justify char char AlignType2 AlignType2 left left center center right right justify justify char char AlignType3 AlignType3 left left center center right right justify justify char char AlignType4 AlignType4 left left center center right right justify justify char char AlignType5 AlignType5 left left center center right right justify justify char char AlignType6 AlignType6 left left center center right right justify justify char char AlignType7 AlignType7 left left center center right right justify justify char char FrameType FrameType void void above above below below hsides hsides lhs lhs rhs rhs vsides vsides box box border border ListTypeType ListTypeType ordered ordered unordered unordered RevisedType RevisedType insert insert delete delete RulesType RulesType none none groups groups rows rows cols cols all all ScopeType ScopeType row row col col rowgroup rowgroup colgroup colgroup ScopeType1 ScopeType1 row row col col rowgroup rowgroup colgroup colgroup ValignType7 ValignType7 top top middle middle bottom bottom baseline baseline ValignType3 ValignType3 top top middle middle bottom bottom baseline baseline ValignType ValignType top top middle middle bottom bottom baseline baseline ValignType1 ValignType1 top top middle middle bottom bottom baseline baseline ValignType2 ValignType2 top top middle middle bottom bottom baseline baseline ValignType4 ValignType4 top top middle middle bottom bottom baseline baseline ValignType5 ValignType5 top top middle middle bottom bottom baseline baseline ValignType6 ValignType6 top top middle middle bottom bottom baseline baseline PatientSummary PersonContact TemplateSpec PersonContact 1.3.6.1.4.1.19376.1.5.3.1.2.4 cda-POCDMT000040Participant1 constraint_R181 If contact person present, its family name SHALL be present (Appendix B1, R1.8.1) self.associatedEntity.oclIsUndefined() or self.associatedEntity.associatedPerson.oclIsUndefined() or ( (not self.associatedEntity.oclIsUndefined()) and (not self.associatedEntity.associatedPerson.oclIsUndefined()) and self.associatedEntity.associatedPerson.name->size()>0 and self.associatedEntity.associatedPerson.name->forAll(nm : PN | nm.family->size()>0) ) ERROR constraint_R182 If person contact present, its given name SHALL be present (Appendix B1, R1.8.2) self.associatedEntity.oclIsUndefined() or self.associatedEntity.associatedPerson.oclIsUndefined() or ( (not self.associatedEntity.oclIsUndefined()) and (not self.associatedEntity.associatedPerson.oclIsUndefined()) and self.associatedEntity.associatedPerson.name->size()>0 and self.associatedEntity.associatedPerson.name->forAll(nm : PN | nm.given->size()>0) ) ERROR constraint_R183_1 If the person contact is present, its address is required. If there is no information, the nullFlavor attribute SHALL have a value of 'NI' and no address parts SHALL be present. (Appendix B1, R1.8.3) self.associatedEntity.oclIsUndefined() or self.associatedEntity.associatedPerson.oclIsUndefined() or ( (not self.associatedEntity.oclIsUndefined()) and self.associatedEntity.addr->size()>0 and self.associatedEntity.addr->forAll(ad : AD | ( (ad.nullFlavor.oclIsUndefined()) and ( Bag{ad.additionalLocator->size()=0, ad.buildingNumberSuffix->size()=0, ad.careOf->size()=0, ad.censusTract->size()=0, ad.city->size()=0, ad.country->size()=0, ad.county->size()=0, ad.delimiter->size()=0, ad.deliveryAddressLine->size()=0, ad.deliveryInstallationArea->size()=0, ad.deliveryInstallationType->size()=0, ad.deliveryMode->size()=0, ad.deliveryModeIdentifier->size()=0, ad.direction->size()=0, ad.houseNumber->size()=0, ad.houseNumberNumeric->size()=0, ad.postBox->size()=0, ad.postalCode->size()=0, ad.precinct->size()=0, ad.state->size()=0, ad.streetAddressLine->size()=0, ad.streetName->size()=0, ad.streetNameBase->size()=0, ad.streetNameType->size()=0, ad.unitID->size()=0, ad.unitType->size()=0}->exists(bl : Boolean | bl = false) ) ) or ( (not ad.nullFlavor.oclIsUndefined()) and ad.nullFlavor=NullFlavor::NI and Bag{ad.additionalLocator->size()=0, ad.buildingNumberSuffix->size()=0, ad.careOf->size()=0, ad.censusTract->size()=0, ad.city->size()=0, ad.country->size()=0, ad.county->size()=0, ad.delimiter->size()=0, ad.deliveryAddressLine->size()=0, ad.deliveryInstallationArea->size()=0, ad.deliveryInstallationType->size()=0, ad.deliveryMode->size()=0, ad.deliveryModeIdentifier->size()=0, ad.direction->size()=0, ad.houseNumber->size()=0, ad.houseNumberNumeric->size()=0, ad.postBox->size()=0, ad.postalCode->size()=0, ad.precinct->size()=0, ad.state->size()=0, ad.streetAddressLine->size()=0, ad.streetName->size()=0, ad.streetNameBase->size()=0, ad.streetNameType->size()=0, ad.unitID->size()=0, ad.unitType->size()=0}->forAll(bl : Boolean | bl = true) ) ) ) ERROR constraint_R183_2 allowed part on address of person contact, are streetAddressLine, city, postal code, state, and country (Appendix B1, R1.8.3) self.associatedEntity.oclIsUndefined() or self.associatedEntity.associatedPerson.oclIsUndefined() or ( (not self.associatedEntity.oclIsUndefined()) and self.associatedEntity.addr->forAll(ad : AD | Bag{ad.additionalLocator->size()=0, ad.buildingNumberSuffix->size()=0, ad.careOf->size()=0, ad.censusTract->size()=0, ad.county->size()=0, ad.delimiter->size()=0, ad.deliveryAddressLine->size()=0, ad.deliveryInstallationArea->size()=0, ad.deliveryInstallationType->size()=0, ad.deliveryMode->size()=0, ad.deliveryModeIdentifier->size()=0, ad.direction->size()=0, ad.houseNumber->size()=0, ad.houseNumberNumeric->size()=0, ad.postBox->size()=0,ad.precinct->size()=0,ad.streetName->size()=0, ad.streetNameBase->size()=0, ad.streetNameType->size()=0, ad.unitID->size()=0, ad.unitType->size()=0}->forAll(bl : Boolean | bl = true) ) ) ERROR constraint_R184_1 The patient contact's telecommunication <telecom> element is required (one for email, the other for telephone).If there is no information, the nullFlavor attribute SHALL have a value of NI and the 'value' and 'use' attributes SHALL be omitted, otherwise the nullFlavor attribute SHALL not be present, and the 'value' and 'use' attributes SHALL be present. (Appendix B1, R1.8.4) self.associatedEntity.oclIsUndefined() or self.associatedEntity.associatedPerson.oclIsUndefined() or ( (not self.associatedEntity.oclIsUndefined()) and self.associatedEntity.telecom->size()>1 and self.associatedEntity.telecom->forAll(tel : TEL | ( tel.nullFlavor.oclIsUndefined() and (tel.use->size()>0) and (not tel.value.oclIsUndefined()) ) or ( (not tel.nullFlavor.oclIsUndefined()) and tel.nullFlavor=NullFlavor::NI and (tel.use->size()=0) and tel.value.oclIsUndefined() ) ) ) ERROR constraint_R184_2 it is not expected to have two nullFlavored telecom elements (Appendix B1, R1.8.4) self.associatedEntity.oclIsUndefined() or self.associatedEntity.associatedPerson.oclIsUndefined() or ( (not self.associatedEntity.oclIsUndefined()) and (self.associatedEntity.telecom->select(tel : TEL | (not tel.nullFlavor.oclIsUndefined()) )->size()<2) ) ERROR constraint_R185 /ClinicalDocument/participant/[@typeCode=’IND’] typeCode SHALL be IND if present (Appendix B1, R1.8.5) self.associatedEntity.oclIsUndefined() or self.associatedEntity.associatedPerson.oclIsUndefined() or ( self.typeCode.oclIsUndefined() or self.typeCode=ParticipationType::IND ) ERROR PatientSummary TemplateSpec PatientSummary 1.3.6.1.4.1.12559.11.10.1.3.1.1.3 cdaepsos-POCDMT000040ClinicalDocument constraint_R19_1 The Patient Summary document requires to always include the 'Prefered HCP/ Legal Organization' . (Appendix B1, R1.9) self.participant->select(part : POCDMT000040Participant1 | part.templateId->exists(tm : II | (not tm.root.oclIsUndefined()) and tm.root='1.3.6.1.4.1.19376.1.5.3.1.2.4'))->exists(part : POCDMT000040Participant1 | (not part.functionCode.oclIsUndefined()) and (not part.functionCode.code.oclIsUndefined()) and part.functionCode.code='PCP' and (not part.functionCode.codeSystem.oclIsUndefined()) and part.functionCode.codeSystem='2.16.840.1.113883.5.88' and (not part.associatedEntity.oclIsUndefined()) and (not part.associatedEntity.classCode.oclIsUndefined()) and part.associatedEntity.classCode=RoleClassAssociative::PRS and ( (not part.associatedEntity.associatedPerson.oclIsUndefined()) or (not part.associatedEntity.scopingOrganization.oclIsUndefined()) ) ) ERROR constraint_R181 /ClinicalDocument/participant/ required, and SHALL have the template 1.3.6.1.4.1.19376.1.5.3.1.2.4 (Appendix B1, R1.8.1) self.participant->exists(part : POCDMT000040Participant1 | part.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.2.4') ) ERROR constraint_R191 PatientSummary SHALL have a prefered HCP or a Legal Organization to contact (Appendix B1, R1.9, R1.9.1) self.participant->exists(part : POCDMT000040Participant1 | part.templateId->exists(i : II | (not i.root.oclIsUndefined()) and i.root='1.3.6.1.4.1.19376.1.5.3.1.2.4' ) and (not part.functionCode.oclIsUndefined()) and (not part.functionCode.code.oclIsUndefined()) and (part.functionCode.code='PCP') and (not part.functionCode.codeSystem.oclIsUndefined()) and (part.functionCode.codeSystem='2.16.840.1.113883.5.88') and (not part.associatedEntity.oclIsUndefined()) and (not part.associatedEntity.classCode.oclIsUndefined()) and (part.associatedEntity.classCode=RoleClassAssociative::PRS) and ( (not part.associatedEntity.associatedPerson.oclIsUndefined()) or (not part.associatedEntity.scopingOrganization.oclIsUndefined()) ) ) ERROR PSAllowedParticipantSpec ConstraintsSpec PSAllowedParticipantSpec cda-POCDMT000040Participant1 constraint_AllowedParticipantTemplate template element SHALL be from this list : 1.3.6.1.4.1.19376.1.5.3.1.2.4 self.templateId->forAll(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.2.4') ERROR constraint_template Participant SHALL have this template : 1.3.6.1.4.1.19376.1.5.3.1.2.4 self.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.2.4' ) ERROR PSAllowedDocumentSpec ConstraintsSpec PSAllowedDocumentSpec cdaepsos-POCDMT000040ClinicalDocument constraint_patientSummary_template ClinicalDocument SHALL have this template : 1.3.6.1.4.1.12559.11.10.1.3.1.1.3 and 1.3.6.1.4.1.19376.1.5.3.1.1.1 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.3') and self.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.1.1') ERROR constraint_patientSummary_templates allowed template on ClinicalDocument are : 1.3.6.1.4.1.12559.11.10.1.3.1.1.3, 1.3.6.1.4.1.19376.1.5.3.1.1.1 self.templateId->forAll(ii : II | (not ii.root.oclIsUndefined()) and (ii.root='1.3.6.1.4.1.12559.11.10.1.3.1.1.3' or ii.root='1.3.6.1.4.1.19376.1.5.3.1.1.1')) WARNING PSAllowedLanguageCommunicationSpec ConstraintsSpec PSAllowedLanguageCommunicationSpec cda-POCDMT000040LanguageCommunication constraint_allowed_languageCommunication allowed language communication templates are : 1.3.6.1.4.1.19376.1.5.3.1.2.1 (Appendix V1, R1.7) self.templateId->forAll(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.2.1' ) WARNING constraint_template language communication SHALL have this template : 1.3.6.1.4.1.19376.1.5.3.1.2.1(Appendix V1, R1.7) self.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.2.1') ERROR PSAllowedGuardianSpec ConstraintsSpec PSAllowedGuardianSpec cda-POCDMT000040Guardian constraint_allowed_guardian template of guardian SHALL be from this list : 1.3.6.1.4.1.19376.1.5.3.1.2.4 (Appendix B1, R1.7.A.2) self.templateId->forAll(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.2.4') WARNING constraint_template template of guardian SHALL contains : 1.3.6.1.4.1.19376.1.5.3.1.2.4 (Appendix B1, R1.7.A.2) self.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.2.4') WARNING PreferedHCP PreferedHCP cda-POCDMT000040Participant1 constraint_R191 if the participant is Prefered HCP/Legal organization, it SHALL have a unique name (Appendix B1, R1.9.1) ( ( (not self.associatedEntity.associatedPerson.oclIsUndefined()) and (self.associatedEntity.associatedPerson.name->size()=1) ) or ( (not self.associatedEntity.scopingOrganization.oclIsUndefined()) and (self.associatedEntity.scopingOrganization.name->size()=1) ) ) ERROR constraint_R1911 if the participant is Prefered HCP/Legal organization, it SHALL have a unique name and unique family (Appendix B1, R1.9.1.1) self.associatedEntity.associatedPerson.oclIsUndefined() or ( (self.associatedEntity.associatedPerson.name->size()=1) and self.associatedEntity.associatedPerson.name->forAll(nm : PN | nm.family->size()=1) ) ERROR constraint_R1912 if the participant is Prefered HCP/Legal organization, it SHALL have a unique name and unique given (Appendix B1, R1.9.1.2) self.associatedEntity.associatedPerson.oclIsUndefined() or ( (self.associatedEntity.associatedPerson.name->size()=1) and self.associatedEntity.associatedPerson.name->forAll(nm : PN | nm.given->size()=1) ) ERROR constraint_R192_1 if the participant is Prefered HCP/Legal organization, address <addr> element is required. If there is no information, the nullFlavor attribute SHALL have a value of 'NI' and no address parts SHALL be present. (Appendix B1, R1.9.2) ( ( self.associatedEntity.addr->size()>0 and self.associatedEntity.addr->forAll(ad : AD | ( (ad.nullFlavor.oclIsUndefined()) and ( Bag{ad.additionalLocator->size()=0, ad.buildingNumberSuffix->size()=0, ad.careOf->size()=0, ad.censusTract->size()=0, ad.city->size()=0, ad.country->size()=0, ad.county->size()=0, ad.delimiter->size()=0, ad.deliveryAddressLine->size()=0, ad.deliveryInstallationArea->size()=0, ad.deliveryInstallationType->size()=0, ad.deliveryMode->size()=0, ad.deliveryModeIdentifier->size()=0, ad.direction->size()=0, ad.houseNumber->size()=0, ad.houseNumberNumeric->size()=0, ad.postBox->size()=0, ad.postalCode->size()=0, ad.precinct->size()=0, ad.state->size()=0, ad.streetAddressLine->size()=0, ad.streetName->size()=0, ad.streetNameBase->size()=0, ad.streetNameType->size()=0, ad.unitID->size()=0, ad.unitType->size()=0}->exists(bl : Boolean | bl = false) ) ) or ( (not ad.nullFlavor.oclIsUndefined()) and ad.nullFlavor=NullFlavor::NI and Bag{ad.additionalLocator->size()=0, ad.buildingNumberSuffix->size()=0, ad.careOf->size()=0, ad.censusTract->size()=0, ad.city->size()=0, ad.country->size()=0, ad.county->size()=0, ad.delimiter->size()=0, ad.deliveryAddressLine->size()=0, ad.deliveryInstallationArea->size()=0, ad.deliveryInstallationType->size()=0, ad.deliveryMode->size()=0, ad.deliveryModeIdentifier->size()=0, ad.direction->size()=0, ad.houseNumber->size()=0, ad.houseNumberNumeric->size()=0, ad.postBox->size()=0, ad.postalCode->size()=0, ad.precinct->size()=0, ad.state->size()=0, ad.streetAddressLine->size()=0, ad.streetName->size()=0, ad.streetNameBase->size()=0, ad.streetNameType->size()=0, ad.unitID->size()=0, ad.unitType->size()=0}->forAll(bl : Boolean | bl = true) ) ) ) ) or ( ( (not self.associatedEntity.scopingOrganization.oclIsUndefined()) and self.associatedEntity.scopingOrganization.addr->size()>0 and self.associatedEntity.scopingOrganization.addr->forAll(ad : AD | ( (ad.nullFlavor.oclIsUndefined()) and ( Bag{ad.additionalLocator->size()=0, ad.buildingNumberSuffix->size()=0, ad.careOf->size()=0, ad.censusTract->size()=0, ad.city->size()=0, ad.country->size()=0, ad.county->size()=0, ad.delimiter->size()=0, ad.deliveryAddressLine->size()=0, ad.deliveryInstallationArea->size()=0, ad.deliveryInstallationType->size()=0, ad.deliveryMode->size()=0, ad.deliveryModeIdentifier->size()=0, ad.direction->size()=0, ad.houseNumber->size()=0, ad.houseNumberNumeric->size()=0, ad.postBox->size()=0, ad.postalCode->size()=0, ad.precinct->size()=0, ad.state->size()=0, ad.streetAddressLine->size()=0, ad.streetName->size()=0, ad.streetNameBase->size()=0, ad.streetNameType->size()=0, ad.unitID->size()=0, ad.unitType->size()=0}->exists(bl : Boolean | bl = false) ) ) or ( (not ad.nullFlavor.oclIsUndefined()) and ad.nullFlavor=NullFlavor::NI and Bag{ad.additionalLocator->size()=0, ad.buildingNumberSuffix->size()=0, ad.careOf->size()=0, ad.censusTract->size()=0, ad.city->size()=0, ad.country->size()=0, ad.county->size()=0, ad.delimiter->size()=0, ad.deliveryAddressLine->size()=0, ad.deliveryInstallationArea->size()=0, ad.deliveryInstallationType->size()=0, ad.deliveryMode->size()=0, ad.deliveryModeIdentifier->size()=0, ad.direction->size()=0, ad.houseNumber->size()=0, ad.houseNumberNumeric->size()=0, ad.postBox->size()=0, ad.postalCode->size()=0, ad.precinct->size()=0, ad.state->size()=0, ad.streetAddressLine->size()=0, ad.streetName->size()=0, ad.streetNameBase->size()=0, ad.streetNameType->size()=0, ad.unitID->size()=0, ad.unitType->size()=0}->forAll(bl : Boolean | bl = true) ) ) ) ) ERROR constraint_R192_2 if the participant is Prefered HCP/Legal organization, allowed sub part of address <addr> element are streetAddressLine, city, postalCode, state, country (Appendix B1, R1.9.2) ( self.associatedEntity.addr->forAll(ad : AD | Bag{ad.additionalLocator->size()=0, ad.buildingNumberSuffix->size()=0, ad.careOf->size()=0, ad.censusTract->size()=0, ad.county->size()=0, ad.delimiter->size()=0, ad.deliveryAddressLine->size()=0, ad.deliveryInstallationArea->size()=0, ad.deliveryInstallationType->size()=0, ad.deliveryMode->size()=0, ad.deliveryModeIdentifier->size()=0, ad.direction->size()=0, ad.houseNumber->size()=0, ad.houseNumberNumeric->size()=0, ad.postBox->size()=0,ad.precinct->size()=0,ad.streetName->size()=0, ad.streetNameBase->size()=0, ad.streetNameType->size()=0, ad.unitID->size()=0, ad.unitType->size()=0}->forAll(bl : Boolean | bl = true) ) and ( self.associatedEntity.scopingOrganization.oclIsUndefined() or self.associatedEntity.scopingOrganization.addr->forAll(ad : AD | Bag{ad.additionalLocator->size()=0, ad.buildingNumberSuffix->size()=0, ad.careOf->size()=0, ad.censusTract->size()=0, ad.county->size()=0, ad.delimiter->size()=0, ad.deliveryAddressLine->size()=0, ad.deliveryInstallationArea->size()=0, ad.deliveryInstallationType->size()=0, ad.deliveryMode->size()=0, ad.deliveryModeIdentifier->size()=0, ad.direction->size()=0, ad.houseNumber->size()=0, ad.houseNumberNumeric->size()=0, ad.postBox->size()=0,ad.precinct->size()=0,ad.streetName->size()=0, ad.streetNameBase->size()=0, ad.streetNameType->size()=0, ad.unitID->size()=0, ad.unitType->size()=0}->forAll(bl : Boolean | bl = true) ) ) ) ERROR constraint_R193_1 if the participant is Prefered HCP/Legal organization, two telecom are required, one for telephone, the other for email. If there is no information, the nullFlavor attribute SHALL have a value of 'NI' and the 'value' and 'use' attributes SHALL be omitted, otherwise the nullFlavor attribute SHALL not be present, and the 'value' and 'use' attributes SHALL be present (Appendix B1, R1.9.3) ( ( (self.associatedEntity.telecom->size()>1) and self.associatedEntity.telecom->forAll(tel : TEL | ( tel.nullFlavor.oclIsUndefined() and (not tel.value.oclIsUndefined()) and (tel.use->size()>0) ) or ( (not tel.nullFlavor.oclIsUndefined()) and tel.nullFlavor=NullFlavor::NI and tel.value.oclIsUndefined() and (tel.use->size()=0) ) ) ) or ( (self.associatedEntity.scopingOrganization.telecom->size()>1) and self.associatedEntity.scopingOrganization.telecom->forAll(tel : TEL | ( tel.nullFlavor.oclIsUndefined() and (not tel.value.oclIsUndefined()) and (tel.use->size()>0) ) or ( (not tel.nullFlavor.oclIsUndefined()) and tel.nullFlavor=NullFlavor::NI and tel.value.oclIsUndefined() and (tel.use->size()=0) ) ) ) ) ERROR constraint_R193_2 if the participant is Prefered HCP/Legal organization, two telecom are required, and it is not expected to have two nullFlavor telecom (Appendix B1, R1.9.3) ( ( (self.associatedEntity.telecom->size()>1) and self.associatedEntity.telecom->select(tel : TEL | (not tel.nullFlavor.oclIsUndefined()))->size()<2 ) or ( (self.associatedEntity.scopingOrganization.telecom->size()>1) and self.associatedEntity.scopingOrganization.telecom->select(tel : TEL | (not tel.nullFlavor.oclIsUndefined()))->size()<2 ) ) ERROR PSAllowedPerformerSpec ConstraintsSpec PSAllowedPerformerSpec cda-POCDMT000040Performer1 constraint_template allowed performer SHALL have this template : 1.3.6.1.4.1.19376.1.5.3.1.2.3 (Appendix B1, R1.10) self.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.2.3') ERROR constraint_allowed_performer templates of performer SHALL be :1.3.6.1.4.1.19376.1.5.3.1.2.3 (Appendix B1, R1.10) self.templateId->forAll(ii : II | ii.root.oclIsUndefined() or ii.root='1.3.6.1.4.1.19376.1.5.3.1.2.3') ERROR PSHealthCareProvider TemplateSpec PSHealthCareProvider 1.3.6.1.4.1.19376.1.5.3.1.2.3 cda-POCDMT000040Performer1 constraint_R11091 name of thr healthcare facility for HCP is required and unique (nullFlavor allowed) (Appendix B1, R1.10.9.1) (not self.assignedEntity.oclIsUndefined()) and (not self.assignedEntity.representedOrganization.oclIsUndefined()) and (self.assignedEntity.representedOrganization.name->size()=1) ERROR constraint_R11092 Healthcare Facility identifier's id is required and unique (nullFlavor allowed) (Appendix B1, R1.10.9.2) (not self.assignedEntity.oclIsUndefined()) and (not self.assignedEntity.representedOrganization.oclIsUndefined()) and (self.assignedEntity.representedOrganization.id->size()=1) ERROR constraint_R110931 Healthcare Facility address may have unique street part (nullflavor allowed) (Appendix B1, R1.10.9.3.1) (self.assignedEntity.oclIsUndefined()) or (self.assignedEntity.representedOrganization.oclIsUndefined()) or self.assignedEntity.representedOrganization.addr->forAll(ad : AD | ad.streetAddressLine->size()<2) ERROR constraint_R110932 Healthcare Facility address SHALL may unique city part (nullflavor allowed) (Appendix B1, R1.10.9.3.2) (self.assignedEntity.oclIsUndefined()) or (self.assignedEntity.representedOrganization.oclIsUndefined()) or self.assignedEntity.representedOrganization.addr->forAll(ad : AD | ad.city->size()<2) ERROR constraint_R110933 Healthcare Facility address may have unique state part (nullflavor allowed) (Appendix B1, R1.10.9.3.3) (self.assignedEntity.oclIsUndefined()) or (self.assignedEntity.representedOrganization.oclIsUndefined()) or self.assignedEntity.representedOrganization.addr->forAll(ad : AD | ad.state->size()<2) ERROR constraint_R110934 Healthcare Facility address may have unique postal code part (nullflavor allowed) (Appendix B1, R1.10.9.3.4) (self.assignedEntity.oclIsUndefined()) or (self.assignedEntity.representedOrganization.oclIsUndefined()) or self.assignedEntity.representedOrganization.addr->forAll(ad : AD | ad.postalCode->size()<2) ERROR PSAuthorHCPIdentification ConstraintsSpec PSAuthorHCPIdentification cda-POCDMT000040Author constraint_R11091 name of thr healthcare facility for HCP is required and unique (nullFlavor allowed) (Appendix B1, R1.10.9.1) (not self.assignedAuthor.oclIsUndefined()) and (not self.assignedAuthor.representedOrganization.oclIsUndefined()) and (self.assignedAuthor.representedOrganization.name->size()=1) ERROR constraint_R11092 Healthcare Facility identifier's id is required and unique (nullFlavor allowed) (Appendix B1, R1.10.9.2) (not self.assignedAuthor.oclIsUndefined()) and (not self.assignedAuthor.representedOrganization.oclIsUndefined()) and (self.assignedAuthor.representedOrganization.id->size()=1) ERROR constraint_R110931 Healthcare Facility address can have unique street part (nullflavor allowed) (Appendix B1, R1.10.9.3.1) (self.assignedAuthor.oclIsUndefined()) or (self.assignedAuthor.representedOrganization.oclIsUndefined()) or self.assignedAuthor.representedOrganization.addr->forAll(ad : AD | ad.streetAddressLine->size()<2) ERROR constraint_R110932 Healthcare Facility address can have unique city part (nullflavor allowed) (Appendix B1, R1.10.9.3.2) (self.assignedAuthor.oclIsUndefined()) or (self.assignedAuthor.representedOrganization.oclIsUndefined()) or self.assignedAuthor.representedOrganization.addr->forAll(ad : AD | ad.city->size()<2) ERROR constraint_R110933 Healthcare Facility address can have unique state part (nullflavor allowed) (Appendix B1, R1.10.9.3.3) (self.assignedAuthor.oclIsUndefined()) or (self.assignedAuthor.representedOrganization.oclIsUndefined()) or self.assignedAuthor.representedOrganization.addr->forAll(ad : AD | ad.state->size()<2) ERROR constraint_R110934 Healthcare Facility address can have unique postal code part (nullflavor allowed) (Appendix B1, R1.10.9.3.4) (self.assignedAuthor.oclIsUndefined()) or (self.assignedAuthor.representedOrganization.oclIsUndefined()) or self.assignedAuthor.representedOrganization.addr->forAll(ad : AD | ad.postalCode->size()<2) ERROR AllergyObservation TemplateSpec AllergyObservation 1.3.6.1.4.1.19376.1.5.3.1.4.6 cdaepsos-POCDMT000040Observation constraint_R51_1 entryRelationship[@typeCode='MFST']/observation[templateId/@root='2.16.840.1.113883.10 .20.1.54]/value SHALL be present or code element SHALL be present (Appendix B1, R5.1) (not self.code.oclIsUndefined()) or self.entryRelationship->select(entr : POCDMT000040EntryRelationship | (not entr.typeCode.oclIsUndefined()) and entr.typeCode=XActRelationshipEntryRelationship::MFST and entr.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.1.54') and entr.observation.value->size()>0 )->size()>0 ERROR constraint_R55_1 participant[@typeCode='CSM']/participantRole[@classCode='MANU']/playingEntity[@classCode='MMAT']/code is required and can be nullFlavored. If code is present and not nullFlavored, it shall have a code and a displayName (Appendix B1, R5.5) self.participant->select(part : POCDMT000040Participant2 | (not part.typeCode.oclIsUndefined()) and part.typeCode=ParticipationType::CSM and (not part.participantRole.oclIsUndefined()) and (not part.participantRole.classCode.oclIsUndefined()) and part.participantRole.classCode=RoleClassRoot::MANU and (not part.participantRole.playingEntity.oclIsUndefined()) and (not part.participantRole.playingEntity.classCode.oclIsUndefined()) and part.participantRole.playingEntity.classCode=EntityClassRoot::MMAT and (not part.participantRole.playingEntity.code.oclIsUndefined()) and ( (not part.participantRole.playingEntity.code.nullFlavor.oclIsUndefined()) or ( (not part.participantRole.playingEntity.code.code.oclIsUndefined()) and (not part.participantRole.playingEntity.code.displayName.oclIsUndefined()) ) ) )->size()>0 ERROR constraint_templateId templates that SHALL be present are : 1.3.6.1.4.1.19376.1.5.3.1.4.6, 1.3.6.1.4.1.19376.1.5.3.1.4.5, 2.16.840.1.113883.10.20.1.28 (Appendix B1, 13.1.2.1.4) self.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.4.6') and self.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.4.5') and self.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.1.28') ERROR constraint_code code element SHALL be provided, and code, codeSystem attribute SHALL be present (Appendix B1, 13.1.2.1.5) (not self.code.oclIsUndefined()) and (not self.code.code.oclIsUndefined()) and (not self.code.codeSystemName.oclIsUndefined()) ERROR constraint_value The value SHALL be present and its type SHALL be cda:CD (Appendix B1, 13.1.2.6) self.value->size()>0 and self.value->forAll(val : ANY | val.oclIsKindOf(CD)) ERROR constraint_participant participant is required (Appendix B1, 13.1.2.1.7) self.participant->size()>0 ERROR AllergySection TemplateSpec AllergySection 1.3.6.1.4.1.19376.1.5.3.1.3.13 cdaepsos-POCDMT000040Section constraint_R51_1 on allergy section, an act with the template 2.16.840.1.11 3883.10.20.1.27 SHALL be present (Appendix B1, R5.1) (not self.entry->isEmpty()) and self.entry->exists(entr : POCDMT000040Entry | (not entr.act.oclIsUndefined()) and entr.act.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.1.27') ) ERROR constraint_code code element is required and SHALL be code code='48765-2' displayName='Allergies, adverse reactions, alerts' codeSystem='2.16.840.1.113883.6.1' codeSystemName='LOINC'/> (Appendix B1, 13.1.1) (not self.code.oclIsUndefined()) and (not self.code.code.oclIsUndefined()) and self.code.code='48765-2' and (not self.code.codeSystem.oclIsUndefined()) and self.code.codeSystem='2.16.840.1.113883.6.1' and (not self.code.codeSystemName.oclIsUndefined()) and self.code.codeSystemName='LOINC' ERROR constraint_entry Allergy and Intolerance Concern Entry is required (Appendix B1, 13.1.1) self.entry->exists(entr : POCDMT000040Entry | (not entr.act.oclIsUndefined()) and entr.act.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.4.5.3') ) ERROR ProblemConcernEntry TemplateSpec ProblemConcernEntry 1.3.6.1.4.1.19376.1.5.3.1.4.5.2 cdaepsos-POCDMT000040Act constraint_templateId templateId@root SHALL be : 1.3.6.1.4.1.19376.1.5.3.1.4.5.1 and 1.3.6.1.4.1.19376.1.5.3.1.4.5.2 (Appendix B1, 13.1.6.3.4) self.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.4.5.1') ERROR constraint_problemEntry ProblemConcerntEntry SHALL contain one or more problem entries that conform to the Problem Entry template 1.3.6.1.4.1.19376.1.5.3.1.4.5. This SHALL be represented with the <entryRelationship> element. The typeCode SHALL be SUBJ and inversionInd SHALL be false (Appendix B1, 13.1.6.3.5) self.entryRelationship->exists(entr : POCDMT000040EntryRelationship | (not entr.typeCode.oclIsUndefined()) and entr.typeCode=XActRelationshipEntryRelationship::SUBJ and (entr.inversionInd.oclIsUndefined() or entr.inversionInd=false ) and (not entr.observation.oclIsUndefined()) and entr.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.4.5') ) ERROR ImmunizationEntry TemplateSpec ImmunizationEntry 1.3.6.1.4.1.19376.1.5.3.1.4.12 cdaepsos-POCDMT000040SubstanceAdministration constraint_classCode classCode is required and SHALL be SBADM (Appendix B1, 13.1.3.3.2) (not self.classCode.oclIsUndefined()) and self.classCode=ActClass::SBADM ERROR constraint_moodCode moodCode is required and SHALL be EVN (Appendix B1, 13.1.3.3.2) (not self.moodCode.oclIsUndefined()) and self.moodCode=XDocumentSubstanceMood::EVN ERROR constraint_templateId required templateId@root are : 2.16.840.1.113883.10.20.1.24, 1.3.6.1.4.1.19376.1.5.3.1.4.12 (Appendix B1, 13.1.3.3.3) self.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.1.24') ERROR constraint_id id is required (Appendix B1, 13.1.3.3.4) self.id->size()>0 and self.id->forAll(ii : II | not ii.root.oclIsUndefined()) ERROR constraint_code code is required and SHALL be <code code='IMMUNIZ' codeSystem='2.16.840.1.113883.5.4' codeSystemName='ActCode'/> (Appendix B1, 13.1.3.3.5) (not self.code.oclIsUndefined()) and (not self.code.code.oclIsUndefined()) and self.code.code='IMMUNIZ' and (not self.code.codeSystem.oclIsUndefined()) and self.code.codeSystem='2.16.840.1.113883.5.4' and (not self.code.codeSystemName.oclIsUndefined()) and self.code.codeSystemName='ActCode' ERROR constraint_statusCode the statusCode element SHALL be set to 'completed' (Appendix B1, 13.1.3.3.7) (not self.statusCode.oclIsUndefined()) and (not self.statusCode.code.oclIsUndefined()) and self.statusCode.code='completed' ERROR constraint_effectiveTime1 The effectiveTime element SHALL be present (Appendix B1, 13.1.3.3.7) self.effectiveTime->size()>0 ERROR constraint_rootCode1 if the rootCode present, it SHALL have codeSystemName=EDQM, codeSystem=1.3.6.1.4.1.12559.11.10.1.3.1.44.1, the code is required (Appendix B1, 13.1.3.3.8, by reference to 12.1.1.2.4.6) self.routeCode.oclIsUndefined() or ( (not self.routeCode.codeSystem.oclIsUndefined()) and self.routeCode.codeSystem='1.3.6.1.4.1.12559.11.10.1.3.1.44.1' and (not self.routeCode.codeSystemName.oclIsUndefined()) and self.routeCode.codeSystemName='EDQM' and (not self.routeCode.code.oclIsUndefined()) ) ERROR constraint_rootCode2 if the rootCode present, the displayName SHOULD be present (Appendix B1, 13.1.3.3.8, by reference to 12.1.1.2.4.6) self.routeCode.oclIsUndefined() or (not self.routeCode.displayName.oclIsUndefined()) WARNING constraint_doseQuantity1 if doseQuantity is present, low and high bounds SHALL be specified with no nullFlavor (Appendix B1, 13.1.3.3.9, by reference to 12.1.1.2.4.7) self.doseQuantity.oclIsUndefined() or ( (not self.doseQuantity.low.oclIsUndefined()) and self.doseQuantity.low.nullFlavor.oclIsUndefined() and (not self.doseQuantity.high.oclIsUndefined()) and self.doseQuantity.high.nullFlavor.oclIsUndefined() ) ERROR constraint_doseQuantity3 if translation is given for a low or high value, it SHALL contains a reference to the originalText in the narrative body of the document (Appendix B1, 13.1.3.3.9, by reference to 12.1.1.2.4.7) self.doseQuantity.oclIsUndefined() or ( ( self.doseQuantity.high.oclIsUndefined() or self.doseQuantity.high.translation->forAll(tr : PQR | (not tr.originalText.oclIsUndefined()) and (not tr.originalText.reference.oclIsUndefined()) and (not tr.originalText.reference.value.oclIsUndefined()) ) ) and ( self.doseQuantity.low.oclIsUndefined() or self.doseQuantity.low.translation->forAll(tr : PQR | (not tr.originalText.oclIsUndefined()) and (not tr.originalText.reference.oclIsUndefined()) and (not tr.originalText.reference.value.oclIsUndefined()) ) ) ) ERROR constraint_consummable The <consumable> element SHALL be present, and SHALL contain a <manufacturedElement> element, conforming to the Product Entry Content Module template. (Appendix B1, 13.1.3.3.11) (not self.consumable.oclIsUndefined()) and (not self.consumable.manufacturedProduct.oclIsUndefined()) ERROR ProcedureEntry TemplateSpec ProcedureEntry 1.3.6.1.4.1.19376.1.5.3.1.4.19 cdaepsos-POCDMT000040Procedure constraint_classCode classCode SHALL be PROC (Appendix B1, 13.1.5.3.3) (not self.classCode.oclIsUndefined()) and self.classCode=ActClass::PROC ERROR constraint_moodCode moodCode SHALL be EVN or INT (Appendix B1, 13.1.5.3.3) (not self.moodCode.oclIsUndefined()) and ( self.moodCode=XDocumentProcedureMood::EVN or self.moodCode=XDocumentProcedureMood::INT ) ERROR constraint_templateId if moodCode is EVN, templateId SHALL contains 2.16.840.1.113883.10.20.1.29, and if moodCode=INT, templateId SHALL contains 2.16.840.1.113883.10.20.1.25. (Appendix B1, 13.1.5.3.4) (not self.moodCode.oclIsUndefined()) and ( (self.moodCode=XDocumentProcedureMood::EVN and self.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.1.29')) or (self.moodCode=XDocumentProcedureMood::INT and self.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.1.25')) ) ERROR constraint_id id is required (Appendix B1, 13.1.5.3.5) self.id->size()>0 and self.id->forAll(ii : II | ii.nullFlavor.oclIsUndefined()) ERROR constraint_code code SHALL be present (Appendix B1, 13.1.5.3.6) not self.code.oclIsUndefined() ERROR constraint_text if text present, it SHALL contains reference to the narrative text (Appendix B1, 13.1.5.3.8) self.text.oclIsUndefined() or ( (not self.text.reference.oclIsUndefined()) and (not self.text.reference.value.oclIsUndefined()) ) ERROR constraint_statusCode statusCode is required and SHALL be from this list : completed, active, aborted, cancelled (Appendix B1, 13.1.5.3.8) (not self.statusCode.oclIsUndefined()) and (not self.statusCode.code.oclIsUndefined()) and ( self.statusCode.code='active' or self.statusCode.code='completed' or self.statusCode.code='aborted' or self.statusCode.code='cancelled' ) ERROR constraint_effectiveTime effectiveTime should be present(Appendix B1, 13.1.5.3.9) (not self.effectiveTime.oclIsUndefined()) WARNING constraint_priorityCode priorityCode SHALL be present in INT moode when effectiveTime is not provided (Appendix B1, 13.1.5.3.10) ( (not self.effectiveTime.oclIsUndefined()) and self.effectiveTime.nullFlavor.oclIsUndefined() ) or ( (not self.priorityCode.oclIsUndefined()) and (not self.priorityCode.code.oclIsUndefined()) ) ERROR constraint_approachSite approachSiteCode may be present (Appendix B1, 13.1.5.4.1) self.approachSiteCode->size()>0 INFO constraint_targetSite targetSite may be present (Appendix B1, 13.1.5.4.2) self.targetSiteCode->size()>0 INFO constraint_internalReferenceEntry if procedure entry have <entryRelationship typeCode='COMP' inversionInd='true'>, then this entryRelationship SHALL contain an internal reference to the encounter (Appendix B1, 13.1.5.4.3) self.entryRelationship->select(entr : POCDMT000040EntryRelationship | (not entr.typeCode.oclIsUndefined()) and entr.typeCode=XActRelationshipEntryRelationship::COMP and (not entr.inversionInd.oclIsUndefined()) and entr.inversionInd=true )->forAll(entr : POCDMT000040EntryRelationship | (not entr.act.oclIsUndefined()) and entr.act.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.4.4.1') ) ERROR HistoryOfPresentIllness TemplateSpec HistoryOfPresentIllness 1.3.6.1.4.1.19376.1.5.3.1.3.4 cdaepsos-POCDMT000040Section constraint_R111 text element is required on History of present Illness Section, nullFlavor allowed (R11.1) (Appendix B1, R11.1) (not self.text.oclIsUndefined()) ERROR constraint_R112 entry/act[templateId/@root='1.3.6.1.4.1.19 376.1.5.3.1.4.5.2']/entryRelationship[@typeCode='SUBJ']/ observation[templateId/@root='1.3.6.1.4.1. 19376.1.5.3.1.4.5']/value SHALL be present on History of Present Illness Section (R11.2) (Appendix B1, R11.2) self.entry->exists(entr : POCDMT000040Entry | (not entr.act.oclIsUndefined()) and entr.act.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.4.5.2' ) and entr.act.entryRelationship->exists(entrr : POCDMT000040EntryRelationship | (not entrr.typeCode.oclIsUndefined()) and entrr.typeCode=XActRelationshipEntryRelationship::SUBJ and (not entrr.observation.oclIsUndefined()) and entrr.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.4.5' ) and (entrr.observation.value->size()>0) ) ) ERROR constraint_code LOINC code is required and SHALL be <code code='10164-2' displayName='History of present illness' codeSystem='2.16.840.1.113883.6.1' codeSystemName='LOINC'/> (Appendix B1, 13.1.7) (not self.code.oclIsUndefined()) and (not self.code.code.oclIsUndefined()) and self.code.code='10164-2' and (not self.code.codeSystem.oclIsUndefined()) and self.code.codeSystem='2.16.840.1.113883.6.1' and (not self.code.codeSystemName.oclIsUndefined()) and self.code.codeSystemName='LOINC' ERROR ActiveProblemSection TemplateSpec ActiveProblemSection 1.3.6.1.4.1.19376.1.5.3.1.3.6 cdaepsos-POCDMT000040Section constraint_R112 entry/act[templateId/@root='1.3.6.1.4.1.19 376.1.5.3.1.4.5.2']/entryRelationship[@typeCode='SUBJ']/ observation[templateId/@root='1.3.6.1.4.1. 19376.1.5.3.1.4.5']/value SHALL be present on Active Problems Section (Appendix B1, R11.2) self.entry->exists(entr : POCDMT000040Entry | (not entr.act.oclIsUndefined()) and entr.act.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.4.5.2' ) and entr.act.entryRelationship->exists(entrr : POCDMT000040EntryRelationship | (not entrr.typeCode.oclIsUndefined()) and entrr.typeCode=XActRelationshipEntryRelationship::SUBJ and (not entrr.observation.oclIsUndefined()) and entrr.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.4.5' ) and (entrr.observation.value->size()>0) ) ) ERROR constraint_R113 entry/act[templateId/@root='1.3.6.1.4.1.19 376.1.5.3.1.4.5.2']/effectiveTime/low required, null flavor allowed (Appendix B1, R11.3) self.entry->exists(entr : POCDMT000040Entry | (not entr.act.oclIsUndefined()) and entr.act.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.4.5.2') and (not entr.act.effectiveTime.oclIsUndefined()) and ( (not entr.act.effectiveTime.nullFlavor.oclIsUndefined()) or (not entr.act.effectiveTime.low.oclIsUndefined()) ) ) ERROR constraint_code code element is required and SHALL be <code code='11450-4' displayName='Problem list - Reported' codeSystem='2.16.840.1.113883.6.1' codeSystemName='LOINC'/> (Appendix B1, 13.1.6) (not self.code.oclIsUndefined()) and (not self.code.code.oclIsUndefined()) and self.code.code='11450-4' and (not self.code.codeSystem.oclIsUndefined()) and self.code.codeSystem='2.16.840.1.113883.6.1' and (not self.code.codeSystemName.oclIsUndefined()) and self.code.codeSystemName='LOINC' ERROR constraint_entry Problem concern entry is required (Appendix B1, 13.1.6) self.entry->exists(entr : POCDMT000040Entry | (not entr.act.oclIsUndefined()) and entr.act.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.4.5.2') ) ERROR MedicalDevicesCodedSection TemplateSpec MedicalDevicesCodedSection 1.3.6.1.4.1.12559.11.10.1.3.1.2.4 cdaepsos-POCDMT000040Section constraint_R121 entry/supply[templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.5']/participant[@typeCode='DEV']/participantRole /playingDevice/code required and nullFlavor allowed. If it is not nullFlavored, displayName and code SHALL be present (R12.1 and R12.2) self.entry->exists(entr : POCDMT000040Entry | (not entr.supply.oclIsUndefined()) and entr.supply.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.12559.11.10.1.3.1.3.5') and entr.supply.participant->exists(part : POCDMT000040Participant2| (not part.typeCode.oclIsUndefined()) and part.typeCode=ParticipationType::DEV and (not part.participantRole.oclIsUndefined()) and (not part.participantRole.playingDevice.oclIsUndefined()) and (not part.participantRole.playingDevice.code.oclIsUndefined()) and ( (not part.participantRole.playingDevice.code.nullFlavor.oclIsUndefined()) or ( (not part.participantRole.playingDevice.code.code.oclIsUndefined()) and (not part.participantRole.playingDevice.code.displayName.oclIsUndefined()) ) ) ) ) ERROR constraint_R123 entry/supply[templateId/@root='1.3.6. 1.4.1.12559.11.10.1.3.1.3.5']/effective Time/@value SHALL be present , nullFlavor allowed (Appendix B1, R12.3) self.entry->exists(entr : POCDMT000040Entry | (not entr.supply.oclIsUndefined()) and entr.supply.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.12559.11.10.1.3.1.3.5') and entry.supply.effectiveTime->size()>0 and entry.supply.effectiveTime->exists(ef : SXCMTS | (ef.nullFlavor.oclIsUndefined() and (not ef.value.oclIsUndefined()) ) or (ef.value.oclIsUndefined() and (not ef.nullFlavor.oclIsUndefined()) ) ) ) ERROR constraint_code code is required and SHALL be <code code='46264-8' displayName='History of medical device use' codeSystem='2.16.840.1.113883.6.1' codeSystemName='LOINC'/> (Appendix B1, 13.1.8) (not self.code.oclIsUndefined()) and (not self.code.code.oclIsUndefined()) and self.code.code='46264-8' and (not self.code.codeSystem.oclIsUndefined()) and self.code.codeSystem='2.16.840.1.113883.6.1' and (not self.code.codeSystemName.oclIsUndefined()) and self.code.codeSystemName='LOINC' ERROR constraint_entry Medical Device Entry Content Module is required, in case no devices are expected, a single NA nullFlavored supply SHALL be included (Appendix B1, 13.1.8, 13.1.8.2) self.entry->exists(entr : POCDMT000040Entry | (not entr.supply.oclIsUndefined()) and entr.supply.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.12559.11.10.1.3.1.3.5') ) or ( self.entry->select(entr : POCDMT000040Entry | (not entr.supply.oclIsUndefined()) and (not entr.supply.nullFlavor.oclIsUndefined()) )->size()=1 and self.entry->select(entr : POCDMT000040Entry | (not entr.supply.oclIsUndefined()) and (not entr.supply.nullFlavor.oclIsUndefined()) )->forAll(entr : POCDMT000040Entry | entr.supply.nullFlavor=NullFlavor::NA) ) ERROR constraint_templateId required templateId are : 2.16.840.1.113883.10.20.1.7, 1.3.6.1.4.1.19376.1.5.3.1.1.5.3.5, and 1.3.6.1.4.1.12559.11.10.1.3.1.2.4 self.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.1.7') and self.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.1.5.3.5') ERROR CodedSocialHistorySection TemplateSpec CodedSocialHistorySection 1.3.6.1.4.1.19376.1.5.3.1.3.16.1 cdaepsos-POCDMT000040Section constraint_code code element is required and SHALL be <code code='29762-2’ displayName='Social history' codeSystem='2.16.840.1.113883.6.1' codeSystemName='LOINC'/> (Appendix B1, 13.1.12) (not self.code.oclIsUndefined()) and (not self.code.code.oclIsUndefined()) and self.code.code='29762-2' and (not self.code.codeSystem.oclIsUndefined()) and self.code.codeSystem='2.16.840.1.113883.6.1' and (not self.code.codeSystemName.oclIsUndefined()) and self.code.codeSystemName='LOINC' ERROR constraint_entry Social History Observation is required (Appendix B1, 13.1.12) self.entry->exists(entr : POCDMT000040Entry | (not entr.observation.oclIsUndefined()) and entr.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.4.13.4') ) ERROR VitalSignOrganizer TemplateSpec VitalSignOrganizer 1.3.6.1.4.1.19376.1.5.3.1.4.13.1 cdaepsos-POCDMT000040Organizer constraint_classCode classCode SHALL be CLUSTER (Appendix B1, 13.1.14.3.2) (not self.classCode.oclIsUndefined()) and self.classCode=XActClassDocumentEntryOrganizer::CLUSTER ERROR constraint_moodCode moodCode SHALL be EVN (Appendix B1, 13.1.14.3.2) (not self.moodCode.oclIsUndefined()) and self.moodCode=ActMood::EVN ERROR constraint_templateId templateId SHALL contains this list of id : 2.16.840.1.113883.10.20.1.32, 2.16.840.1.113883.10.20.1.35, 1.3.6.1.4.1.19376.1.5.3.1.4.13.1 self.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.1.32') and self.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.1.35') ERROR constraint_id id is required (Appendix B1, 13.1.14.3.4) self.id->size()>0 ERROR constraint_code code is required and SHALL be <code code='46680005' displayName='Vital signs' codeSystem='2.16.840.1.113883.6.96' codeSystemName='SNOMED CT'/> (Appendix B1, 13.1.14.3.5) (not self.code.oclIsUndefined()) and (not self.code.code.oclIsUndefined()) and self.code.code='46680005' and (not self.code.codeSystem.oclIsUndefined()) and self.code.codeSystem='2.16.840.1.113883.6.96' and (not self.code.codeSystemName.oclIsUndefined()) and self.code.codeSystemName='SNOMED CT' ERROR constraint_statusCode statusCode is required and SHALL have the value code=completed (Appendix B1, 13.1.14.3.6) (not self.statusCode.oclIsUndefined()) and (not self.statusCode.code.oclIsUndefined()) and self.statusCode.code='completed' ERROR CodedResultSection TemplateSpec CodedResultSection 1.3.6.1.4.1.19376.1.5.3.1.3.28 cdaepsos-POCDMT000040Section constraint_code code element is required and SHALL be <code code='30954-2' displayName=’Relevant diagnostic tests/laboratory data’ codeSystem='2.16.840.1.113883.6.1' codeSystemName='LOINC'/> (Appendix B1, 13.1.15) (not self.code.oclIsUndefined()) and (not self.code.code.oclIsUndefined()) and self.code.code='30954-2' and (not self.code.codeSystem.oclIsUndefined()) and self.code.codeSystem='2.16.840.1.113883.6.1' and (not self.code.codeSystemName.oclIsUndefined()) and self.code.codeSystemName='LOINC' ERROR MedicationSummarySection TemplateSpec MedicationSummarySection 1.3.6.1.4.1.12559.11.10.1.3.1.2.3 cdaepsos-POCDMT000040Section constraint_R191_1 entry/substanceAdministration[templateId/[ @root= '1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/ consumable/manufacturedProduct/manufac turedMaterial/ingredient/[@classCode='AC TI']/ingredient/code required, nullFlavor allowed. If not nullFlavored, displayName and code SHALL be present (Appendix B1, R19.1, R19.2) self.entry->exists(entr : POCDMT000040Entry | (not entr.substanceAdministration.oclIsUndefined()) and entr.substanceAdministration.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4') and (not entr.substanceAdministration.consumable.oclIsUndefined()) and (not entr.substanceAdministration.consumable.manufacturedProduct.oclIsUndefined()) and (not entr.substanceAdministration.consumable.manufacturedProduct.manufacturedMaterial.oclIsUndefined()) and entr.substanceAdministration.consumable.manufacturedProduct.manufacturedMaterial.ingredient->exists(ingr : COCTMT230100UVIngredient | (not ingr.classCode.oclIsUndefined()) and ingr.classCode=RoleClassIngredientEntityExt::ACTI and (not ingr.ingredient.oclIsUndefined()) and (not ingr.ingredient.code.oclIsUndefined()) and ( (not ingr.ingredient.code.nullFlavor.oclIsUndefined()) or ( (not ingr.ingredient.code.code.oclIsUndefined()) and (not ingr.ingredient.code.displayName.oclIsUndefined()) ) ) ) ) ERROR constraint_R193 entry/substanceAdministration[templateId/[ @root= '1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/ consumable/manufacturedProduct/manufac turedMaterial/ingredient/[@classCode='AC TI']/quantity required, nullFlavor allowed (Appendix B1, R19.3) self.entry->exists(entr : POCDMT000040Entry | (not entr.substanceAdministration.oclIsUndefined()) and entr.substanceAdministration.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4') and (not entr.substanceAdministration.consumable.oclIsUndefined()) and (not entr.substanceAdministration.consumable.manufacturedProduct.oclIsUndefined()) and (not entr.substanceAdministration.consumable.manufacturedProduct.manufacturedMaterial.oclIsUndefined()) and entr.substanceAdministration.consumable.manufacturedProduct.manufacturedMaterial.ingredient->exists(ingr : COCTMT230100UVIngredient | (not ingr.classCode.oclIsUndefined()) and ingr.classCode=RoleClassIngredientEntityExt::ACTI and (not ingr.quantity.oclIsUndefined()) ) ) ERROR constraint_R194 entry/substanceAdministration[templateId/[@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/doseQuantity is required, low and hign element are required, and nullFlavor allowed on these elements. (Appendix B1, R19.4) self.entry->exists(entr : POCDMT000040Entry | (not entr.substanceAdministration.oclIsUndefined()) and entr.substanceAdministration.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4') and (not entr.substanceAdministration.doseQuantity.oclIsUndefined()) and ( (not entr.substanceAdministration.doseQuantity.nullFlavor.oclIsUndefined()) or ( (not entr.substanceAdministration.doseQuantity.low.oclIsUndefined()) and (not entr.substanceAdministration.doseQuantity.high.oclIsUndefined()) ) ) ) ERROR constraint_R196 entry/substanceAdministration[templateId/ @root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4'] /effectiveTime[1][@ xsi:type='IVL_TS'] required, nullFlavor allowed. If not nullFlavored, low and high attribute are required nullFlavor allowed (Appendix B1, R19.6) self.entry->exists(entr : POCDMT000040Entry | (not entr.substanceAdministration.oclIsUndefined()) and entr.substanceAdministration.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4') and entr.substanceAdministration.effectiveTime->size()>0 and entr.substanceAdministration.effectiveTime->at(1).oclIsKindOf(IVLTS) and (not entr.substanceAdministration.effectiveTime->at(1).oclAsType(IVLTS).low.oclIsUndefined()) and (not entr.substanceAdministration.effectiveTime->at(1).oclAsType(IVLTS).high.oclIsUndefined()) ) ERROR constraint_code LOINC code of Medication Summary section is (10160-0,2.16.840.1.113883.6.1, LOINC, History of medication use) and it is required (Appendix B1, paragraph 12.1.1) (not self.code.oclIsUndefined()) and (not self.code.code.oclIsUndefined()) and self.code.code='10160-0' and (not self.code.codeSystem.oclIsUndefined()) and self.code.codeSystem='2.16.840.1.113883.6.1' and (not self.code.codeSystemName.oclIsUndefined()) and self.code.codeSystemName='LOINC' ERROR constraint_Entry Medication Item Entry is required (Appendix B1, paragraph 12.1.1) self.entry->exists(entr : POCDMT000040Entry | (not entr.substanceAdministration.oclIsUndefined()) and entr.substanceAdministration.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4') ) ERROR MedicationItemEntry TemplateSpec MedicationItemEntry 1.3.6.1.4.1.12559.11.10.1.3.1.3.4 cdaepsos-POCDMT000040SubstanceAdministration constraint_id only and only one id SHALL be used (Appendix B1, 12.1.1.2.4.2.1) self.id->size()=1 and self.id->forAll(ii : II | (not ii.root.oclIsUndefined())) ERROR constraint_statusCode the status SHALL be either active or completed (Appendix B1, 12.1.1.2.4.2.3) self.statusCode.oclIsUndefined() or self.statusCode.code.oclIsUndefined() or ( self.statusCode.code='active' or self.statusCode.code='completed' ) ERROR constraint_classCode classCode SHALL be SBADM (Appendix B1, 12.1.1.2.4) (not self.classCode.oclIsUndefined()) and self.classCode=ActClass::SBADM ERROR constraint_moodCode moodCode SHALL be INT or EVN (Appendix B1, 12.1.1.2.4) (not self.moodCode.oclIsUndefined()) and ( self.moodCode=XDocumentSubstanceMood::EVN or self.moodCode=XDocumentSubstanceMood::INT ) ERROR constraint_effectiveTime1 the first effectiveTime is required and SHALL be from IVL_TS type(Appendix B1, 12.1.1.2.4.5) self.effectiveTime->size()>0 and self.effectiveTime->first().oclIsKindOf(IVLTS) ERROR constraint_effectiveTime2 The low and high values of the first effectiveTime are required, and SHALL be present. If there are unknown, a nullFlavor is required with the value UNK (Appendix B1, 12.1.1.2.4.5.1) self.effectiveTime->size()>0 and self.effectiveTime->first().oclIsKindOf(IVLTS) and (not self.effectiveTime->first().oclAsType(IVLTS).high.oclIsUndefined()) and (not self.effectiveTime->first().oclAsType(IVLTS).low.oclIsUndefined()) and ( self.effectiveTime->first().oclAsType(IVLTS).high.nullFlavor.oclIsUndefined() or self.effectiveTime->first().oclAsType(IVLTS).high.nullFlavor=NullFlavor::UNK ) and ( self.effectiveTime->first().oclAsType(IVLTS).low.nullFlavor.oclIsUndefined() or self.effectiveTime->first().oclAsType(IVLTS).low.nullFlavor=NullFlavor::UNK ) ERROR constraint_effectiveTime3 The frequency effectiveTime attribute is required (Appendix B1, 12.1.1.2.4.5.2) self.effectiveTime->size()>1 ERROR constraint_effectiveTime4 The frequency effectiveTime attribute is required and SHALL have as type TS | PIVL_TS | EIVL_TS | SXPR_TS (Appendix B1, 12.1.1.2.4.5.2) self.effectiveTime->at(2).oclIsKindOf(TS) or self.effectiveTime->at(2).oclIsKindOf(PIVLTS) or self.effectiveTime->at(2).oclIsKindOf(EIVLTS) or self.effectiveTime->at(2).oclIsKindOf(SXPRTS) ERROR constraint_rootCode1 if the rootCode present, it SHALL have codeSystemName=EDQM, codeSystem=1.3.6.1.4.1.12559.11.10.1.3.1.44.1, the code is required (Appendix B1, 12.1.1.2.4.6) self.routeCode.oclIsUndefined() or ( (not self.routeCode.codeSystem.oclIsUndefined()) and self.routeCode.codeSystem='1.3.6.1.4.1.12559.11.10.1.3.1.44.1' and (not self.routeCode.codeSystemName.oclIsUndefined()) and self.routeCode.codeSystemName='EDQM' and (not self.routeCode.code.oclIsUndefined()) ) ERROR constraint_rootCode2 if the rootCode present, the displayName SHOULD be present (Appendix B1, 12.1.1.2.4.6) self.routeCode.oclIsUndefined() or (not self.routeCode.displayName.oclIsUndefined()) WARNING constraint_doseQuantity1 if doseQuantity is present, low and high bounds SHALL be specified with no nullFlavor (Appendix B1, 12.1.1.2.4.6) self.doseQuantity.oclIsUndefined() or (not self.doseQuantity.nullFlavor.oclIsUndefined()) or ( (not self.doseQuantity.low.oclIsUndefined()) and self.doseQuantity.low.nullFlavor.oclIsUndefined() and (not self.doseQuantity.high.oclIsUndefined()) and self.doseQuantity.high.nullFlavor.oclIsUndefined() ) ERROR constraint_doseQuantity3 if translation is given for a low or high value, it SHALL contains a reference to the originalText in the narrative body of the document(Appendix B1, 12.1.1.2.4.7.1) self.doseQuantity.oclIsUndefined() or ( ( self.doseQuantity.high.oclIsUndefined() or self.doseQuantity.high.translation->forAll(tr : PQR | (not tr.originalText.oclIsUndefined()) and (not tr.originalText.reference.oclIsUndefined()) and (not tr.originalText.reference.value.oclIsUndefined()) ) ) and ( self.doseQuantity.low.oclIsUndefined() or self.doseQuantity.low.translation->forAll(tr : PQR | (not tr.originalText.oclIsUndefined()) and (not tr.originalText.reference.oclIsUndefined()) and (not tr.originalText.reference.value.oclIsUndefined()) ) ) ) ERROR constraint_rateQuantity1 if translation is given for a low or high value, it SHALL contains a reference to the originalText in the narrative body of the document(Appendix B1, 12.1.1.2.4.7.1) self.rateQuantity.oclIsUndefined() or (not self.rateQuantity.nullFlavor.oclIsUndefined()) or ( ( self.rateQuantity.high.oclIsUndefined() or self.rateQuantity.high.translation->forAll(tr : PQR | (not tr.originalText.oclIsUndefined()) and (not tr.originalText.reference.oclIsUndefined()) and (not tr.originalText.reference.value.oclIsUndefined()) ) ) and ( self.rateQuantity.low.oclIsUndefined() or self.rateQuantity.low.translation->forAll(tr : PQR | (not tr.originalText.oclIsUndefined()) and (not tr.originalText.reference.oclIsUndefined()) and (not tr.originalText.reference.value.oclIsUndefined()) ) ) ) ERROR constraint_rateQuantity3 if rateQuantity is present, low and high bounds SHALL be specified with no nullFlavor (Appendix B1, 12.1.1.2.4.8) self.rateQuantity.oclIsUndefined() or (not self.rateQuantity.nullFlavor.oclIsUndefined()) or ( (not self.rateQuantity.low.oclIsUndefined()) and self.rateQuantity.low.nullFlavor.oclIsUndefined() and (not self.rateQuantity.high.oclIsUndefined()) and self.rateQuantity.high.nullFlavor.oclIsUndefined() ) ERROR constraint_consumable The consumable element SHALL be present and SHALL contains manufacturedProduct element (Appendix B1, 12.1.1.2.4.9) (not self.consumable.oclIsUndefined()) and (not self.consumable.manufacturedProduct.oclIsUndefined()) ERROR constraint_EntryRelationship1 An entryRelationship may be present to provide the fulfillment instructions(Appendix B1, 12.1.1.2.4.11) self.entryRelationship->select(entr : POCDMT000040EntryRelationship | (not entr.typeCode.oclIsUndefined()) and entr.typeCode=XActRelationshipEntryRelationship::SUBJ)->size()>0 INFO constraint_entryRelationship2 One or more entryRelationship component may be attached (Appendix B1, 12.1.1.2.4.13) self.entryRelationship->select(entr : POCDMT000040EntryRelationship | (not entr.typeCode.oclIsUndefined()) and entr.typeCode=XActRelationshipEntryRelationship::COMP)->size()>0 INFO constraint_entryRelationship3 If more than one entryRelationship component, the sequenceNumber SHALL be present, abnd SHALL be an ordinal number. The first component SHALL have the sequenceNumber =1, and the ither components SHALL have increasing sequenceNumber (Appendix B1, 12.1.1.2.4.12) self.entryRelationship->select(entr : POCDMT000040EntryRelationship | (not entr.typeCode.oclIsUndefined()) and entr.typeCode=XActRelationshipEntryRelationship::COMP)->forAll(entr : POCDMT000040EntryRelationship | (not entr.sequenceNumber.oclIsUndefined()) and (not entr.sequenceNumber.value.oclIsUndefined()) ) and self.entryRelationship->select(entr : POCDMT000040EntryRelationship | (not entr.typeCode.oclIsUndefined()) and entr.typeCode=XActRelationshipEntryRelationship::COMP)->forAll(entr : POCDMT000040EntryRelationship | self.entryRelationship->select(entr : POCDMT000040EntryRelationship | (not entr.typeCode.oclIsUndefined()) and entr.typeCode=XActRelationshipEntryRelationship::COMP)->at(1).sequenceNumber.value=1 and ( (self.entryRelationship->select(entr : POCDMT000040EntryRelationship | (not entr.typeCode.oclIsUndefined()) and entr.typeCode=XActRelationshipEntryRelationship::COMP)->indexOf(entr))=self.entryRelationship->select(entr : POCDMT000040EntryRelationship | (not entr.typeCode.oclIsUndefined()) and entr.typeCode=XActRelationshipEntryRelationship::COMP)->size() or self.entryRelationship->select(entr : POCDMT000040EntryRelationship | (not entr.typeCode.oclIsUndefined()) and entr.typeCode=XActRelationshipEntryRelationship::COMP)->at(self.entryRelationship->select(entr : POCDMT000040EntryRelationship | (not entr.typeCode.oclIsUndefined()) and entr.typeCode=XActRelationshipEntryRelationship::COMP)->indexOf(entr) + 1).sequenceNumber.value=(entr.sequenceNumber.value+1) ) ) ERROR AllergyAndIntoleranceConcern TemplateSpec AllergyAndIntoleranceConcern 1.3.6.1.4.1.19376.1.5.3.1.4.5.3 cdaepsos-POCDMT000040Act constraint_templateId this entry SHALL have these templateId : 2.16.840.1.113883.10.20.1.27, 1.3.6.1.4.1.19376.1.5.3.1.4.5.1, 1.3.6.1.4.1.19376.1.5.3.1.4.5.3 (Appendix B1, 13.1.1.2.4) self.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.1.27') and self.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.4.5.1') and self.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.4.5.3') ERROR constraint_entryRelationship The allergy and intolerence concern entry SHALL contain ne or more allergy or intolerence entry (entryRelationship/observation/templateId=1.3.6.1.4.1.19376.1.5.3.1.4.6, the typeCode of entryRelationship is SUBJ, and the inversionInd SHALL be 'false') (Appendix B1, 13.1.1.2.5) self.entryRelationship->exists(entr : POCDMT000040EntryRelationship | (not entr.typeCode.oclIsUndefined()) and entr.typeCode=XActRelationshipEntryRelationship::SUBJ and (entr.inversionInd.oclIsUndefined() or entr.inversionInd=false ) and (not entr.observation.oclIsUndefined()) and entr.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.4.6' ) ) ERROR SeverityEntryObservation TemplateSpec SeverityEntryObservation 1.3.6.1.4.1.19376.1.5.3.1.4.1 cdaepsos-POCDMT000040Observation constraint_moodCode moodCode SHALL be EVN (Appendix B1, 13.1.2.2.4) (not self.moodCode.oclIsUndefined()) and self.moodCode=XActMoodDocumentObservation::EVN ERROR constraint_classCode classCode SHALL be OBS (Appendix B1, 13.1.2.2.4) (not self.classCode.oclIsUndefined()) and self.classCode=ActClassObservation::OBS ERROR constraint_templateId required templateId are : 2.16.840.1.113883.10.20.1.55 and 1.3.6.1.4.1.19376.1.5.3.1.4.1(Appendix B1, 13.1.2.2.5) self.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.1.55' ) ERROR constraint_code the code element is required and SHALL be : <code code='SEV' codeSystem='2.16.840.1.113883.5.4' displayName='Severity' codeSystemName='ActCode' />(Appendix B1, 13.1.2.2.6) (not self.code.oclIsUndefined()) and (not self.code.code.oclIsUndefined()) and self.code.code='SEV' and (not self.code.codeSystem.oclIsUndefined()) and self.code.codeSystem='2.16.840.1.113883.5.4' and (not self.code.codeSystemName.oclIsUndefined()) and self.code.codeSystemName='ActCode' ERROR constraint_text text element is required, and SHALL contain a reference sub-element (Appendix B1, 13.1.2.2.7) (not self.text.oclIsUndefined()) and (not self.text.reference.oclIsUndefined()) ERROR constraint_statusCode statusCode is required and SHALL have code=completed (Appendix B1, 13.1.2.28) (not self.statusCode.oclIsUndefined()) and (not self.statusCode.code.oclIsUndefined()) and self.statusCode.code='completed' ERROR ImmunizationsSection TemplateSpec ImmunizationsSection 1.3.6.1.4.1.19376.1.5.3.1.3.23 cdaepsos-POCDMT000040Section constraint_code code is required and SHALL be <code code='11369-6' displayName=’History of immunization' codeSystem='2.16.840.1.113883.6.1' codeSystemName='LOINC'/> (Appendix B1, 13.1.3) (not self.code.oclIsUndefined()) and (not self.code.code.oclIsUndefined()) and self.code.code='11369-6' and (not self.code.codeSystem.oclIsUndefined()) and self.code.codeSystem='2.16.840.1.113883.6.1' and (not self.code.codeSystemName.oclIsUndefined()) and self.code.codeSystemName='LOINC' ERROR constraint_entry Immunization entry is required 1.3.6.1.4.1.19376.1.5.3.1.4.12 (substanceAdministration/templateId@root=1.3.6.1.4.1.19376.1.5.3.1.4.12) (Appendix B1, 13.1.3) self.entry->exists(entr : POCDMT000040Entry | (not entr.substanceAdministration.oclIsUndefined()) and entr.substanceAdministration.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.4.12') ) ERROR PositionOfVaccination TemplateSpec PositionOfVaccination 2.16.840.1.113883.10.20.1.46 cdaepsos-POCDMT000040Observation constraint_code the code element SHALL be present and SHALL have the value <code code='30973-2' displayName='Dose Number' codeSystem='2.16.840.1.113883.6.1' codeSystemName='LOINC'/>(Appendix B1, 13.1.3.3.12) (not self.code.oclIsUndefined()) and (not self.code.code.oclIsUndefined()) and self.code.code='30973-2' and (not self.code.codeSystem.oclIsUndefined()) and self.code.codeSystem='2.16.840.1.113883.6.1' and (not self.code.codeSystemName.oclIsUndefined()) and self.code.codeSystemName='LOINC' ERROR constraint_statusCode statusCode element SHALL be present, its code attribtue SHALL be 'completed' (Appendix B1, 13.1.3.3.12) (not self.statusCode.oclIsUndefined()) and (not self.statusCode.code.oclIsUndefined()) and self.statusCode.code='completed' ERROR constraint_value value element SHALL be present and SHALL have the type INT (Appendix B1, 13.1.3.3.12) self.value->forAll(val : ANY | val.oclIsKindOf(INT)) and self.value->size()>0 ERROR IdentifyingReactions TemplateSpec IdentifyingReactions 1.3.6.1.4.1.19376.1.5.3.1.4.5 cdaepsos-POCDMT000040Observation constraint_id id element is required (Appendix B1, 13.1.3.3.13) self.id->size()>0 and self.id->forAll(ii : II | ii.nullFlavor.oclIsUndefined()) ERROR ProductEntry TemplateSpec ProductEntry 1.3.6.1.4.1.19376.1.5.3.1.4.7.2 cdaepsos-POCDMT000040ManufacturedProduct constraint_templateId required templateId are : 1.3.6.1.4.1.19376.1.5.3.1.4.7.2 and 2.16.840.1.113883.10.20.1.53 (Appendix B1, 13.1.3.4.2) self.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.1.53') ERROR constraint_manufacturedMaterial manufacturedMaterial is required (Appendix B1, 13.1.3.4.2) not self.manufacturedMaterial.oclIsUndefined() ERROR constraint_text originalText of code SHALL contains reference with value attribute (Appendix B1, 13.1.3.4.2.2) self.manufacturedMaterial.oclIsUndefined() or self.manufacturedMaterial.code.oclIsUndefined() or self.manufacturedMaterial.code.originalText.oclIsUndefined() or ( (not self.manufacturedMaterial.code.originalText.reference.oclIsUndefined()) and (not self.manufacturedMaterial.code.originalText.reference.value.oclIsUndefined()) ) ERROR HistoryOfPastIllness TemplateSpec HistoryOfPastIllness 1.3.6.1.4.1.19376.1.5.3.1.3.8 cdaepsos-POCDMT000040Section constraint_code LOINC code is required and SHALL be <code code='11348-0' displayName=’History of past illness' codeSystem='2.16.840.1.113883.6.1' codeSystemName='LOINC'/> (Appendix B1, 13.1.4) (not self.code.oclIsUndefined()) and (not self.code.code.oclIsUndefined()) and self.code.code='11348-0' and (not self.code.codeSystem.oclIsUndefined()) and self.code.codeSystem='2.16.840.1.113883.6.1' and (not self.code.codeSystemName.oclIsUndefined()) and self.code.codeSystemName='LOINC' ERROR constraint_entry Problem concern Entry is required on History of Past Illness Section (Appendix B1, 13.1.4) self.entry->exists(entr : POCDMT000040Entry | (not entr.act.oclIsUndefined()) and entr.act.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.4.5.2') ) ERROR CodedListSurgeriesSection TemplateSpec CodedListSurgeriesSection 1.3.6.1.4.1.19376.1.5.3.1.3.12 cdaepsos-POCDMT000040Section constraint_code code is required ansd SHALL be <code code='47519-4' displayName= ‘History of Procedures' codeSystem='2.16.840.1.113883.6.1' codeSystemName='LOINC'/> (Appendix B1, 13.1.5) (not self.code.oclIsUndefined()) and (not self.code.code.oclIsUndefined()) and self.code.code='47519-4' and (not self.code.codeSystem.oclIsUndefined()) and self.code.codeSystem='2.16.840.1.113883.6.1' and (not self.code.codeSystemName.oclIsUndefined()) and self.code.codeSystemName='LOINC' ERROR constraint_entry1 required entry is Procedure Entry (1.3.6.1.4.1.19376.1.5.3.1.4.19), or a single nullFlavored procedure is required (Appendix B1, 13.1.5) self.entry->exists(entr : POCDMT000040Entry | (not entr.procedure.oclIsUndefined()) and entr.procedure.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.4.19') ) or self.entry->select(entr : POCDMT000040Entry | (not entr.procedure.oclIsUndefined()) and (not entr.procedure.nullFlavor.oclIsUndefined()))->size()=1 ERROR constraint_entry2 entry/act[templateId@root=''1.3.6.1.4.1.19376.1.5.3.1.4.4'] is required if known (Appendix B1, 13.1.5.2, figure 24C) self.entry->exists(entr : POCDMT000040Entry | (not entr.act.oclIsUndefined()) and entr.act.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.4.4') ) WARNING InternalReferenceEntry TemplateSpec InternalReferenceEntry 1.3.6.1.4.1.19376.1.5.3.1.4.4.1 cdaepsos-POCDMT000040Act constraint_id Id element SHALL be present, the root attribute is required (Appendix B1, 13.1.5.7) self.id->size()>0 and self.id->forAll(ii : II | (not ii.root.oclIsUndefined())) ERROR constraint_code code is required, and if it is not known, a nullFlavor attribute is required with the value NA (Appendix B1, 13.1.5.8) (not self.code.oclIsUndefined()) and ( (self.code.nullFlavor.oclIsUndefined() and (not self.code.code.oclIsUndefined()) ) or ( (not self.nullFlavor.oclIsUndefined()) and self.nullFlavor=NullFlavor::NA ) ) ERROR ConcernEntry TemplateSpec ConcernEntry 1.3.6.1.4.1.19376.1.5.3.1.4.5.1 cdaepsos-POCDMT000040Act constraint_moodCode moodCode attribute SHALL be EVN (Appendix B1, 13.1.6.6) (not self.moodCode.oclIsUndefined()) and self.moodCode=XDocumentActMood::EVN ERROR constraint_classCode classCode attribute SHALL be ACT (Appendix B1, 13.1.6.6) (not self.classCode.oclIsUndefined()) and self.classCode=XActClassDocumentEntryAct::ACT ERROR constraint_templateId templateId@root that SHALL be present are : 2.16.840.1.113883.10.20.1.27 and 1.3.6.1.4.1.19376.1.5.3.1.4.5.1 (Appendix B1, 13.1.6.7) self.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.1.27') ERROR constraint_id id is required, root attribute SHALL be present (Appendix B1, 13.1.6.8) self.id->size()>0 and self.id->forAll(ii : II | (not ii.root.oclIsUndefined())) ERROR constraint_statusCode statusCode@code SHALL be from this list : active, suspended, aborted, completed (Appendix B1, 13.1.6.10) (not self.statusCode.oclIsUndefined()) and (not self.statusCode.code.oclIsUndefined()) and ( self.statusCode.code='active' or self.statusCode.code='suspended' or self.statusCode.code='aborted' or self.statusCode.code='completed' ) ERROR constraint_effectiveTime effectiveTime is required (Appendix B1, 13.1.6.11) not self.effectiveTime.oclIsUndefined() ERROR constraint_low The element effectiveTime/low SHALL be present (Appendix B1, 13.1.6.11) (not self.effectiveTime.oclIsUndefined()) and (not self.effectiveTime.low.oclIsUndefined()) ERROR constraint_high The effectiveTime/high element SHALL be present for concerns in the completed or aborted state, and SHALL not be present otherwise (Appendix B1, 13.1.6.11) (not self.effectiveTime.oclIsUndefined()) and (not self.statusCode.oclIsUndefined()) and (not self.statusCode.code.oclIsUndefined()) and ( ( (self.statusCode.code='completed' or self.statusCode.code='aborted') and (not self.effectiveTime.high.oclIsUndefined()) ) or ( self.effectiveTime.high.oclIsUndefined() ) ) ERROR constraint_problems ConcernProblemEntry SHALL contains one or more problem or allergy entries (Appendix B1, 13.1.6.12) self.entryRelationship->exists(entr : POCDMT000040EntryRelationship | (not entr.typeCode.oclIsUndefined()) and entr.typeCode=XActRelationshipEntryRelationship::SUBJ and (not entr.observation.oclIsUndefined()) and ( entr.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.4.5') or entr.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.4.6') ) ) ERROR ProblemEntry TemplateSpec ProblemEntry 1.3.6.1.4.1.19376.1.5.3.1.4.5 cdaepsos-POCDMT000040Observation constraint_classCode classCode attribute SHALL be OBS (Appendix B1, 13.1.6.14.4) (not self.classCode.oclIsUndefined()) and self.classCode=ActClassObservation::OBS ERROR constraint_moodCode moodCode attribute SHALL be EVN (Appendix B1, 13.1.6.14.4) (not self.moodCode.oclIsUndefined()) and self.moodCode=XActMoodDocumentObservation::EVN ERROR constraint_templateId templateIds that SHALL be present are : 2.16.840.1.113883.10.20.1.28 and 1.3.6.1.4.1.19376.1.5.3.1.4.5 self.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.1.28') ERROR constraint_id id element is required, root attribute is required, and only one id SHALL be present (Appendix B1, 13.1.6.14.6) self.id->size()=1 and self.id->forAll(ii : II | (not ii.root.oclIsUndefined())) ERROR constraint_code1 The code element SHOULD be used (Appendix B1, 13.1.6.14.7) (not self.code.oclIsUndefined()) and (not self.code.code.oclIsUndefined()) WARNING constraint_text text element is required, text/reference element is required ans text/reference@value is required (Appendix B1, 13.1.6.14.8) (not self.text.oclIsUndefined()) and self.text.nullFlavor.oclIsUndefined() and (not self.text.reference.oclIsUndefined()) and text.reference.nullFlavor.oclIsUndefined() and (not self.text.reference.value.oclIsUndefined()) ERROR constraint_statusCode statusCode is required, and statusCode@code SHALL be equal to 'completed' (Appendix B1, 13.1.6.14.9) (not self.statusCode.oclIsUndefined()) and (not self.statusCode.code.oclIsUndefined()) and self.statusCode.code='completed' ERROR constraint_effectiveTime allowed element on effectiveTime are only low and high element (Appendix B1, 13.1.6.14.10) self.effectiveTime.oclIsUndefined() or ( self.effectiveTime.center.oclIsUndefined() and self.effectiveTime.width.oclIsUndefined() ) ERROR constraint_low low element SHALL be present, nullFlavor allowed. If nullFlavor used, it SHALL be UNK value (Appendix B1,13.1.6.1.14.10) (not self.effectiveTime.oclIsUndefined()) and (not self.effectiveTime.low.oclIsUndefined()) and ( self.effectiveTime.low.nullFlavor.oclIsUndefined() or self.effectiveTime.low.nullFlavor=NullFlavor::UNK ) ERROR constraint_value1 value SHALL have the datatype CD (Appendix B1, 13.1.6.14.11) self.value->forAll(val : ANY | val.oclIsKindOf(CD)) ERROR constraint_value2 vlaue element is requird (Appendix B1, 13.1.6.14.11) self.value->size()>0 ERROR constraint_originalText if originalText present on code element, it SHALL have a reference element, with value attribute (Appendix B1, 13.1.6.14.12) self.code.oclIsUndefined() or self.code.originalText.oclIsUndefined() or ( (not self.code.originalText.reference.oclIsUndefined()) and (not self.code.originalText.reference.value.oclIsUndefined()) ) ERROR constraint_severityEntry severity entry if present SHALL be recorded under an entryRelationship, with typeCode=SUBJ and inversionInd=true (Appendix B1, 13.1.6.14.13) self.entryRelationship->select(entr : POCDMT000040EntryRelationship | (not entr.observation.oclIsUndefined()) and entr.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.4.1') )->forAll(entr : POCDMT000040EntryRelationship | (not entr.typeCode.oclIsUndefined()) and entr.typeCode=XActRelationshipEntryRelationship::SUBJ and (not entr.inversionInd.oclIsUndefined()) and entr.inversionInd=true ) ERROR constraint_problemStatus1 problem status observation if present SHALL be recorded under an entryRelationship, with typeCode=REFR and inversionInd=false (Appendix B1, 13.1.6.14.13) self.entryRelationship->select(entr : POCDMT000040EntryRelationship | (not entr.observation.oclIsUndefined()) and entr.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.4.1.1') )->forAll(entr : POCDMT000040EntryRelationship | (not entr.typeCode.oclIsUndefined()) and entr.typeCode=XActRelationshipEntryRelationship::REFR and ( entr.inversionInd.oclIsUndefined() or entr.inversionInd=false ) ) ERROR constraint_healthStatus1 health status observation if present SHALL be recorded under an entryRelationship, with typeCode=REFR and inversionInd=false (Appendix B1, 13.1.6.14.13) self.entryRelationship->select(entr : POCDMT000040EntryRelationship | (not entr.observation.oclIsUndefined()) and entr.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.4.1.2') )->forAll(entr : POCDMT000040EntryRelationship | (not entr.typeCode.oclIsUndefined()) and entr.typeCode=XActRelationshipEntryRelationship::REFR and ( entr.inversionInd.oclIsUndefined() or entr.inversionInd=false ) ) ERROR constraint_comments comments entry if present SHALL be recorded under an entryRelationship, with typeCode=SUBJ and inversionInd=true (Appendix B1, 13.1.6.14.13) self.entryRelationship->select(entr : POCDMT000040EntryRelationship | (not entr.act.oclIsUndefined()) and entr.act.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.4.1') )->forAll(entr : POCDMT000040EntryRelationship | (not entr.typeCode.oclIsUndefined()) and entr.typeCode=XActRelationshipEntryRelationship::SUBJ and (not entr.inversionInd.oclIsUndefined()) and entr.inversionInd=true ) ERROR MedicalDevicesEntry TemplateSpec MedicalDevicesEntry 1.3.6.1.4.1.12559.11.10.1.3.1.3.5 cdaepsos-POCDMT000040Supply constraint_moodCode moodCode attribute is required, and SHALL be EVN (Appendix B1, 13.1.8.3.2) (not self.moodCode.oclIsUndefined()) and self.moodCode=XDocumentSubstanceMood::EVN ERROR constraint_effectiveTime effectiveTime SHALL have a value or it SHALL be from IVL_TS datatypes, with a low and a high elements (Appendix B1, 13.1.8.3.5) self.effectiveTime->forAll(ef : SXCMTS | (not ef.value.oclIsUndefined()) or ( ef.oclIsKindOf(IVLTS) and (not ef.oclAsType(IVLTS).low.oclIsUndefined()) and (not ef.oclAsType(IVLTS).high.oclIsUndefined()) ) ) ERROR constraint_participant1 The type code of the <participant> element SHALL contain the value of 'DEV' (Appendix B1, 13.1.8.3.8) self.participant->forAll(part : POCDMT000040Participant2 | (not part.typeCode.oclIsUndefined()) and part.typeCode=ParticipationType::DEV ) ERROR constraint_participant2 The participant/participantRole SHALL contain the class code of 'MANU', indicating a manufactured entity (Appendix B1, 13.1.8.3.9) self.participant->forAll(part : POCDMT000040Participant2 | (not part.participantRole.oclIsUndefined()) and (not part.participantRole.classCode.oclIsUndefined()) and part.participantRole.classCode=RoleClassRoot::MANU ) ERROR constraint_participant3 The playing device is required, the class code SHALL contain the valu of 'DEV', and the determiner code SHALL contain 'INSTANCE' (Appendix B1, 13.1.8.3.11) self.participant->forAll(part : POCDMT000040Participant2 | (not part.participantRole.oclIsUndefined()) and (not part.participantRole.playingDevice.oclIsUndefined()) and ( part.participantRole.playingDevice.classCode.oclIsUndefined() or part.participantRole.playingDevice.classCode=EntityClassDevice::DEV) ) ERROR ProcedureAndIntervention TemplateSpec ProcedureAndIntervention 1.3.6.1.4.1.19376.1.5.3.1.1.13.2.11 cdaepsos-POCDMT000040Section constraint_code code element is required and SHALL be <code code='29544-3' displayName='Procedures' codeSystem='2.16.840.1.113883.6.1' codeSystemName='LOINC'/> (Appendix B1, 13.1.8.3.11) (not self.code.oclIsUndefined()) and (not self.code.code.oclIsUndefined()) and self.code.code='29544-3' and (not self.code.codeSystem.oclIsUndefined()) and self.code.codeSystem='2.16.840.1.113883.6.1' and (not self.code.codeSystemName.oclIsUndefined()) and self.code.codeSystemName='LOINC' ERROR constraint_entry Procedure entry is required (Appendix B1, 13.1.8.3.11) self.entry->exists(entr : POCDMT000040Entry | (not entr.procedure.oclIsUndefined()) and entr.procedure.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.4.19') ) ERROR HealthMaintenanceCarePlan TemplateSpec HealthMaintenanceCarePlan 1.3.6.1.4.1.19376.1.5.3.1.1.9.50 cdaepsos-POCDMT000040Section constraint_code code is required and SHALL be <code code='18776-5' displayName=’Plan of treatment’ codeSystem='2.16.840.1.113883.6.1' codeSystemName='LOINC'/> (Appendix B1, 13.1.10) (not self.code.oclIsUndefined()) and (not self.code.code.oclIsUndefined()) and self.code.code='18776-5' and (not self.code.codeSystem.oclIsUndefined()) and self.code.codeSystem='2.16.840.1.113883.6.1' and (not self.code.codeSystemName.oclIsUndefined()) and self.code.codeSystemName='LOINC' ERROR constraint_template The parent of this template is 1.3.6.1.4.1.19376.1.5.3.1.3.31, it SHALL be present (Appendix B1, 10.1.10.1) self.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.3.31') ERROR FunctionalStatusSection TemplateSpec FunctionalStatusSection 1.3.6.1.4.1.19376.1.5.3.1.3.17 cdaepsos-POCDMT000040Section constraint_code code required and SHALL be <code code='47420-5' displayName='Functional status assessment’ codeSystem='2.16.840.1.113883.6.1' codeSystemName='LOINC'/> (Appendix B1, 13.1.11.2) (not self.code.oclIsUndefined()) and (not self.code.code.oclIsUndefined()) and self.code.code='47420-5' and (not self.code.codeSystem.oclIsUndefined()) and self.code.codeSystem='2.16.840.1.113883.6.1' and (not self.code.codeSystemName.oclIsUndefined()) and self.code.codeSystemName='LOINC' ERROR constraint_template he parent of this template is CCD 3.4 (2.16.840.1.113883.10.20.1.5), it SHALL be present (Appendix B1, 13.1.11.1) self.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.1.5') ERROR SocialHistoryObservation TemplateSpec SocialHistoryObservation 1.3.6.1.4.1.19376.1.5.3.1.4.13.4 cdaepsos-POCDMT000040Observation constraint_templateId required templateId are : 2.16.840.1.113883.10.20.1.33 and 1.3.6.1.4.1.19376.1.5.3.1.4.13.4 (Appendix B1, 13.1.12.7) self.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.1.33') ERROR constraint_value1 the datatype of value if the code@code=229819007 or code@code=256235009 or code@code=160573003, SHALL be PQ (Appendix B1, 13.1.12.8) self.code.oclIsUndefined() or self.code.code.oclIsUndefined() or (self.code.code<>'229819007' or self.code.code<>'256235009' or self.code.code<>'160573003') or self.value->forAll(val : ANY | val.oclIsKindOf(PQ)) ERROR constraint_value2 the datatype of value element if the code@code=364393001 or code@code=364703007 or code@code=425400000 or code@code=363908000, SHALL be CD (Appendix B1, 13.1.12.8) self.code.oclIsUndefined() or self.code.code.oclIsUndefined() or (self.code.code<>'364393001' or self.code.code<>'364703007' or self.code.code<>'425400000' or self.code.code='363908000') or self.value->forAll(val : ANY | val.oclIsKindOf(CD)) ERROR constraint_repeatNumber repeatNumber SHOULD NOT be used (Appendix B1, 13.1.12.9) self.repeatNumber.oclIsUndefined() WARNING constraint_interpretationCode interpretationCode SHOULD NOT be used (Appendix B1, 13.1.12.10) self.interpretationCode->isEmpty() WARNING constraint_methodCode methodCode element SHOULD NOT be used (Appendix B1, 13.1.12.10) self.methodCode->isEmpty() WARNING constraint_targetSiteCode targetSiteCode element SHOULD NOT be used (Appendix B1, 13.1.12.10) self.targetSiteCode->isEmpty() WARNING PregnancyHistorySection TemplateSpec PregnancyHistorySection 1.3.6.1.4.1.19376.1.5.3.1.1.5.3.4 cdaepsos-POCDMT000040Section constraint_code code is required and SHALL be <code code='10162-6' displayName='History of pregnancies' codeSystem='2.16.840.1.113883.6.1' codeSystemName='LOINC'/> (Appendix B1, 13.1.13) (not self.code.oclIsUndefined()) and (not self.code.code.oclIsUndefined()) and self.code.code='10162-6' and (not self.code.codeSystem.oclIsUndefined()) and self.code.codeSystem='2.16.840.1.113883.6.1' and (not self.code.codeSystemName.oclIsUndefined()) and self.code.codeSystemName='LOINC' ERROR constraint_entry Pregnancy Observation is required on PregnancyHistorySection (Appendix B1, 13.1.13) self.entry->exists(entr : POCDMT000040Entry | (not entr.observation.oclIsUndefined()) and entr.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.4.13.5') ) ERROR PregnancyObservation TemplateSpec PregnancyObservation 1.3.6.1.4.19376.1.5.3.1.4.13.5 cdaepsos-POCDMT000040Observation constraint_templateId templateId that SHALL be present are : 1.3.6.1.4.1.19376.1.5.3.1.4.13, 1.3.6.1.4.1.19376.1.5.3.1.4.13.5 (Appendix B1, 13.1.13.5) self.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.4.13') ERROR constraint_code1 code element is required (Appendix B1, 13.1.13.5) (not self.code.oclIsUndefined()) and self.code.nullFlavor.oclIsUndefined() ERROR constraint_value if code is from this list (11778-8, 11779-6, 11780-4) the value element SHALL be from TS datatype (Appendix B1, 13.1.13.5) (not self.code.oclIsUndefined()) and (not self.code.code.oclIsUndefined()) and ( (self.code.code<>'11780-4' or self.code.code<>'11779-6' or self.code.code<>'11778-8' ) or self.value->forAll(val : ANY | val.oclIsKindOf(TS)) ) ERROR constraint_repeatNumber repeatNumber should not be present (Appendix B1, 13.1.13.6) self.repeatNumber.oclIsUndefined() WARNING constraint_interpretationCode interpretationCode should not be present (Appendix B1, 13.1.13.6) self.interpretationCode->isEmpty() WARNING constraint_methodCode methodCode should not be present (Appendix B1, 13.1.13.6) self.methodCode->isEmpty() WARNING constraint_targetSiteCode targetSiteCode element should not be present (Appendix B1, 13.1.13.6) self.targetSiteCode->isEmpty() WARNING CodedVitalSignsSection TemplateSpec CodedVitalSignsSection 1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2 cdaepsos-POCDMT000040Section constraint_templateId parent templateis Vital signs (1.3.6.1.4.1.19376.1.5.3.1.3.25), its templateId SHALL be present (Appendix B1, 13.1.14) self.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.3.25') ERROR constraint_code code element is required and SHALL be <code code='8716-3' displayName=’Physical findings’ codeSystem='2.16.840.1.113883.6.1' codeSystemName='LOINC'/> (Appendix B1, 13.1.14) (not self.code.oclIsUndefined()) and (not self.code.code.oclIsUndefined()) and self.code.code='8716-3' and (not self.code.codeSystem.oclIsUndefined()) and self.code.codeSystem='2.16.840.1.113883.6.1' and (not self.code.codeSystemName.oclIsUndefined()) and self.code.codeSystemName='LOINC' ERROR constraint_entry Vital Sign organizer is required (Appendix B1, 13.1.14) self.entry->exists(entr : POCDMT000040Entry | (not entr.organizer.oclIsUndefined()) and entr.organizer.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.4.13.1') ) ERROR VitalSignsObservation TemplateSpec VitalSignsObservation 1.3.6.1.4.1.19376.1.5.3.1.4.13.2 cdaepsos-POCDMT000040Observation constraint_templateId required templateId are : 1.3.6.1.4.1.19376.1.5.3.1.4.13, 2.16.840.1.113883.10.20.1.31, 1.3.6.1.4.1.19376.1.5.3.1.4.13.2 self.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.4.13') and self.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.1.31') ERROR constraint_value1 value element SHALL be from PQ datatype (Appendix B1, 13.1.14.4.3) self.value->forAll(val : ANY | val.oclIsKindOf(PQ)) ERROR constraint_value2 value SHALL be from datatypePQ and SHALL have the unit='mm[Hg]' (Appendix B1, 13.1.14.4.3) self.value->forAll(val : ANY | val.oclIsKindOf(PQ) and (not val.oclAsType(PQ).unit.oclIsUndefined()) and val.oclAsType(PQ).unit='mm[Hg]' ) ERROR constraint_value3 value element SHALL be present (Appendix B1, 13.1.14.4.4) self.value->size()>0 ERROR SimpleObservation TemplateSpec SimpleObservation 1.3.6.1.4.1.19376.1.5.3.1.4.13 cdaepsos-POCDMT000040Observation constraint_classCode classCode attribute SHALL be OBS (Appendix B1, 13.1.15.1.1.2) (not self.classCode.oclIsUndefined()) and self.classCode=ActClassObservation::OBS ERROR constraint_moodCode moodCode SHALL be EVN (Appendix B1, 13.1.15.1.1.2) (not self.moodCode.oclIsUndefined()) and self.moodCode=XActMoodDocumentObservation::EVN ERROR constraint_id id is required (Appendix B1, 13.1.15.1.1.4) self.id->size()>0 ERROR constraint_code code is required (Appendix B1, 13.1.15.1.1.5) (not self.code.oclIsUndefined()) and self.code.nullFlavor.oclIsUndefined() ERROR constraint_text This element SHALL contains text element , and the text element SHALL contain reference element with a value attribute (Appendix B1, 13.1.15.1.1.5) (not self.text.oclIsUndefined()) and (not self.text.reference.oclIsUndefined()) and (not self.text.reference.value.oclIsUndefined()) ERROR constraint_statusCode statusCode element is required and SHALL be 'completed' (Appendix B1, 13.1.15.1.1.7) (not self.statusCode.oclIsUndefined()) and (not self.statusCode.code.oclIsUndefined()) and self.statusCode.code='completed' ERROR constraint_effectiveTime effectiveTime element SHALL be present (Appendix B1, 13.1.15.1.1.8) (not self.effectiveTime.oclIsUndefined()) ERROR constraint_value value element is required (Appendix B1, 13.1.15.1.1.9) self.value->size()>0 ERROR PatientSummaryPivot PersonContact2 TemplateSpec PersonContact2 1.3.6.1.4.1.19376.1.5.3.1.2.4 cda-POCDMT000040Participant1 constraint_R1836 on patient contact, the country part SHALL be from epSOSCountry codes (Appendix B1, R1.8.3.6) self.associatedEntity.oclIsUndefined() or self.associatedEntity.associatedPerson.oclIsUndefined() or ( self.associatedEntity.addr->forAll(ad : AD | ad.country->forAll(coun : AdxpCountry | coun.getListStringValues()->forAll(st : String | ad.matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.4', st) )) ) ) ERROR constraint_R184_3 on telecom, use SHALL be from HL7:TelecommunicationAddressUse (Appendix B1, R1.8.4) self.associatedEntity.oclIsUndefined() or self.associatedEntity.associatedPerson.oclIsUndefined() or ( (not self.associatedEntity.oclIsUndefined()) and self.associatedEntity.telecom->forAll(tel : TEL | tel.use->forAll(st : String | tel.matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.40', st))) ) ERROR constraint_R186 /ClinicalDocument/participant/associatedEntity/code SHALL be HL7:PersonalRelationshipRoleType (Appendix B1, R1.8.6) self.associatedEntity.oclIsUndefined() or self.associatedEntity.associatedPerson.oclIsUndefined() or ( self.associatedEntity.oclIsUndefined() or self.associatedEntity.code.oclIsUndefined() or self.associatedEntity.code.matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.38', self.associatedEntity.code.code, self.associatedEntity.code.codeSystem, self.associatedEntity.code.codeSystemName, self.associatedEntity.code.displayName) ) ERROR PreferedHCP2 PreferedHCP2 cda-POCDMT000040Participant1 constraint_R192_3 if the participant is Prefered HCP/Legal organization, country of address element SHALL be from epSOSCountry codes (Appendix B1, R1.9.2) ( self.associatedEntity.addr->forAll(ad : AD | ad.country->forAll(coun : AdxpCountry | coun.getListStringValues()->forAll(st : String | ad.matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.4', st) ) ) ) and ( self.associatedEntity.scopingOrganization.oclIsUndefined() or self.associatedEntity.scopingOrganization.addr->forAll(ad : AD | ad.country->forAll(coun : AdxpCountry | coun.getListStringValues()->forAll(st : String | ad.matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.4', st) ) ) ) ) ) ERROR constraint_R193_3 if the participant is Prefered HCP/Legal organization, telecom use SHALL be from Hl7:TelemcommunicationAddressUse (Appendix B1, R1.9.3) ( ( self.associatedEntity.telecom->forAll(tel : TEL | tel.use->forAll(st : String | tel.matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.40', st)) ) ) and ( self.associatedEntity.scopingOrganization.oclIsUndefined() or self.associatedEntity.scopingOrganization.telecom->forAll(tel : TEL | tel.use->forAll(st : String | tel.matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.40', st)) ) ) ) ERROR AllergyObservation2 TemplateSpec AllergyObservation2 1.3.6.1.4.1.19376.1.5.3.1.4.6 cdaepsos-POCDMT000040Observation constraint_R51_2 if code element is present, and not nullFlavored, it shall be from epSOSAdverseEventType codes (2.16.840.1.113883.6.96). Please check that the code, codeSystem and codeSystemName attributes of the code element are present and are matching data inside the value set http://gazelle.ihe.net/RetrieveValueSet?id=1.3.6.1.4.1.12559.11.10.1.3.1.42.18 (See Appendix B1, R5.1) self.code.oclIsUndefined() or (not self.code.nullFlavor.oclIsUndefined()) or self.code.matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.18', self.code.code, self.code.codeSystem, self.code.codeSystemName, self.code.displayName) ERROR constraint_R51_3 if entryRelationship[@typeCode='MFST']/observation[templateId/@root='2.16.840.1.113883.10 .20.1.54]/value present, it shall be as CD type, and it shall be from epSOSReactionAllergy codes. Please check that the code, codeSystem and codeSystemName attributes of the code element are present and are matching data inside the value set http://gazelle.ihe.net/RetrieveValueSet?id=1.3.6.1.4.1.12559.11.10.1.3.1.42.11 (See Appendix B1, R5.1) self.entryRelationship->select(entr : POCDMT000040EntryRelationship | (not entr.typeCode.oclIsUndefined()) and entr.typeCode=XActRelationshipEntryRelationship::MFST and entr.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.1.54') and entr.observation.value->size()>0 )->forAll(entr : POCDMT000040EntryRelationship | entr.observation.value->forAll(val : ANY | val.oclIsKindOf(CD) and val.oclAsType(CD).matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.11', val.oclAsType(CD).code, val.oclAsType(CD).codeSystem, val.oclAsType(CD).codeSystemName, val.oclAsType(CD).displayName) ) ) ERROR constraint_R55_2 participant[@typeCode='CSM']/participantRole[@classCode='MANU']/playingEntity[@classCode='MMAT']/code, if the element code is not nullFlavored, then please check that the code, codeSystem and codeSystemName attributes of the code element are present and are matching data inside the value set either from epSOSActiveIngredient (http://gazelle.ihe.net/RetrieveValueSet?id=1.3.6.1.4.1.12559.11.10.1.3.1.42.24) or from epSOSAllergenNoDrugs (http://gazelle.ihe.net/RetrieveValueSet?id=1.3.6.1.4.1.12559.11.10.1.3.1.42.19) (See Appendix B1, R5.5) self.participant->select(part : POCDMT000040Participant2 | (not part.typeCode.oclIsUndefined()) and part.typeCode=ParticipationType::CSM and (not part.participantRole.oclIsUndefined()) and (not part.participantRole.classCode.oclIsUndefined()) and part.participantRole.classCode=RoleClassRoot::MANU and (not part.participantRole.playingEntity.oclIsUndefined()) and (not part.participantRole.playingEntity.classCode.oclIsUndefined()) and part.participantRole.playingEntity.classCode=EntityClassRoot::MMAT and (not part.participantRole.playingEntity.code.oclIsUndefined()) and part.participantRole.playingEntity.code.nullFlavor.oclIsUndefined() )->forAll(part : POCDMT000040Participant2 | part.participantRole.playingEntity.code.matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.24', part.participantRole.playingEntity.code.code, part.participantRole.playingEntity.code.codeSystem, part.participantRole.playingEntity.code.codeSystemName, part.participantRole.playingEntity.code.displayName) or part.participantRole.playingEntity.code.matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.19', part.participantRole.playingEntity.code.code, part.participantRole.playingEntity.code.codeSystem, part.participantRole.playingEntity.code.codeSystemName, part.participantRole.playingEntity.code.displayName) ) ERROR AllergySection2 TemplateSpec AllergySection2 1.3.6.1.4.1.19376.1.5.3.1.3.13 cdaepsos-POCDMT000040Section constraint_code code element is required and SHALL be code code='48765-2' displayName='Allergies, adverse reactions, alerts' codeSystem='2.16.840.1.113883.6.1' codeSystemName='LOINC'/> (Appendix B1, 13.1.1) (not self.code.oclIsUndefined()) and (not self.code.code.oclIsUndefined()) and self.code.code='48765-2' and (not self.code.codeSystem.oclIsUndefined()) and self.code.codeSystem='2.16.840.1.113883.6.1' and (not self.code.codeSystemName.oclIsUndefined()) and self.code.codeSystemName='LOINC' and (not self.code.displayName.oclIsUndefined()) and self.code.displayName='Allergies, adverse reactions, alerts' ERROR ProblemConcernEntry2 TemplateSpec ProblemConcernEntry2 1.3.6.1.4.1.19376.1.5.3.1.4.5.2 cdaepsos-POCDMT000040Act constraint_R72 if entryRelationship[@typeCode='SUBJ']/observation[templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.5']/value present and not nullFlavor, it SHALL be from epSOSIllnessesandDisorders and SHALL have the type CD (AppendixB1, R7.2) self.entryRelationship->select(entr : POCDMT000040EntryRelationship | (not entr.typeCode.oclIsUndefined()) and entr.typeCode=XActRelationshipEntryRelationship::SUBJ and (not entr.observation.oclIsUndefined()) and entr.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.4.5') and entr.observation.value->exists(val : ANY | val.nullFlavor.oclIsUndefined()) )->forAll(entr : POCDMT000040EntryRelationship | entr.observation.value->forAll(val : ANY | val.oclIsKindOf(CD) and val.oclAsType(CD).matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.5', val.oclAsType(CD).code, val.oclAsType(CD).codeSystem, val.oclAsType(CD).codeSystemName, val.oclAsType(CD).displayName ) ) ) ERROR ImmunizationEntry2 TemplateSpec ImmunizationEntry2 1.3.6.1.4.1.19376.1.5.3.1.4.12 cdaepsos-POCDMT000040SubstanceAdministration constraint_R82 consumable/manufacturedProduct/manufacturedMaterial/code if present and not nullFlavored, SHALL be from epSOSVaccine codes (Appendix B1, R8.2) (not self.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.1.24' )) or self.consumable.oclIsUndefined() or self.consumable.manufacturedProduct.oclIsUndefined() or self.consumable.manufacturedProduct.manufacturedMaterial.oclIsUndefined() or self.consumable.manufacturedProduct.manufacturedMaterial.code.oclIsUndefined() or (not self.consumable.manufacturedProduct.manufacturedMaterial.code.nullFlavor.oclIsUndefined()) or self.consumable.manufacturedProduct.manufacturedMaterial.code.matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.28', self.consumable.manufacturedProduct.manufacturedMaterial.code.code, self.consumable.manufacturedProduct.manufacturedMaterial.code.codeSystem, self.consumable.manufacturedProduct.manufacturedMaterial.code.codeSystemName, self.consumable.manufacturedProduct.manufacturedMaterial.code.displayName) ERROR constraint_doseQuantity2 If doseQuantity present, the unit of low and high element SHALL be equals to 1, or SHALL be from epSOSUnits codes, or from epSOSDoseForm codes (Appendix B1, 13.1.3.3.9, by reference to 12.1.1.2.4.7) self.doseQuantity.oclIsUndefined() or ( ( self.doseQuantity.low.oclIsUndefined() or self.doseQuantity.low.unit.oclIsUndefined() or self.doseQuantity.low.matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.16', self.doseQuantity.low.unit) or self.doseQuantity.low.unit='1' or self.doseQuantity.low.matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.2', self.doseQuantity.low.unit) ) and ( self.doseQuantity.high.oclIsUndefined() or self.doseQuantity.high.unit.oclIsUndefined() or self.doseQuantity.high.matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.16', self.doseQuantity.high.unit) or self.doseQuantity.high.unit='1' or self.doseQuantity.high.matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.2', self.doseQuantity.high.unit) ) ) ERROR ProcedureEntry2 TemplateSpec ProcedureEntry2 1.3.6.1.4.1.19376.1.5.3.1.4.19 cdaepsos-POCDMT000040Procedure constraint_R92 if code present, it SHALL be from epSOSProcedures codes (Appendix B1, R9.2) self.code.oclIsUndefined() or self.code.nullFlavor.oclIsUndefined() or self.code.matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.10', self.code.code, self.code.codeSystem, self.code.codeSystemName, self.code.displayName) ERROR HistoryOfPresentIllness2 TemplateSpec HistoryOfPresentIllness2 1.3.6.1.4.1.19376.1.5.3.1.3.4 cdaepsos-POCDMT000040Section constraint_code LOINC code is required and SHALL be <code code='10164-2' displayName='History of present illness' codeSystem='2.16.840.1.113883.6.1' codeSystemName='LOINC'/> (Appendix B1, 13.1.7) (not self.code.oclIsUndefined()) and (not self.code.code.oclIsUndefined()) and self.code.code='10164-2' and (not self.code.codeSystem.oclIsUndefined()) and self.code.codeSystem='2.16.840.1.113883.6.1' and (not self.code.codeSystemName.oclIsUndefined()) and self.code.codeSystemName='LOINC' and (not self.code.displayName.oclIsUndefined()) and self.code.displayName='History of present illness' ERROR ActiveProblemSection2 TemplateSpec ActiveProblemSection2 1.3.6.1.4.1.19376.1.5.3.1.3.6 cdaepsos-POCDMT000040Section constraint_code code element is required and SHALL be <code code='11450-4' displayName='Problem list - Reported' codeSystem='2.16.840.1.113883.6.1' codeSystemName='LOINC'/> (Appendix B1, 13.1.6) (not self.code.oclIsUndefined()) and (not self.code.code.oclIsUndefined()) and self.code.code='11450-4' and (not self.code.codeSystem.oclIsUndefined()) and self.code.codeSystem='2.16.840.1.113883.6.1' and (not self.code.codeSystemName.oclIsUndefined()) and self.code.codeSystemName='LOINC' and (not self.code.displayName.oclIsUndefined()) and self.code.displayName='Problem list – Reported' ERROR MedicalDevicesCodedSection2 TemplateSpec MedicalDevicesCodedSection2 1.3.6.1.4.1.12559.11.10.1.3.1.2.4 cdaepsos-POCDMT000040Section constraint_R122 entry/supply[templateId/@root='1.3.6.1.4.1.12559.11.10.1.3.1.3.5']/participant[@typeCode='DEV']/participantRole /playingDevice/code if not nullFlavor, SHALL be from epSOSMedicalDevices codes (Appendix B1, R12.2) self.entry->exists(entr : POCDMT000040Entry | (not entr.supply.oclIsUndefined()) and entr.supply.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.12559.11.10.1.3.1.3.5') and entr.supply.participant->exists(part : POCDMT000040Participant2| (not part.typeCode.oclIsUndefined()) and part.typeCode=ParticipationType::DEV and (not part.participantRole.oclIsUndefined()) and (not part.participantRole.playingDevice.oclIsUndefined()) and (not part.participantRole.playingDevice.code.oclIsUndefined()) and ( (not part.participantRole.playingDevice.code.nullFlavor.oclIsUndefined()) or ( part.participantRole.playingDevice.code.matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.8', part.participantRole.playingDevice.code.code, part.participantRole.playingDevice.code.codeSystem, part.participantRole.playingDevice.code.codeSystemName, part.participantRole.playingDevice.code.displayName) ) ) ) ) ERROR constraint_code code is required and SHALL be <code code='46264-8' displayName='History of medical device use' codeSystem='2.16.840.1.113883.6.1' codeSystemName='LOINC'/> (Appendix B1, 13.1.8) (not self.code.oclIsUndefined()) and (not self.code.code.oclIsUndefined()) and self.code.code='46264-8' and (not self.code.codeSystem.oclIsUndefined()) and self.code.codeSystem='2.16.840.1.113883.6.1' and (not self.code.codeSystemName.oclIsUndefined()) and self.code.codeSystemName='LOINC' and (not self.code.displayName.oclIsUndefined()) and self.code.displayName='History of medical device use' ERROR CodedSocialHistorySection2 TemplateSpec CodedSocialHistorySection2 1.3.6.1.4.1.19376.1.5.3.1.3.16.1 cdaepsos-POCDMT000040Section constraint_R151_1 entry/observation[templateId/@root='1.3.6 .1.4.1.19376.1.5.3.1.4.13.4'][code/@code=229819007 or @code='160573003']/value/@code if present and have the type PQ, and the unit SHALL be from epSOSUnits codes (Appendix B1, R15.1) self.entry->select(entr : POCDMT000040Entry | (not entr.observation.oclIsUndefined()) and entr.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.4.13.4') and (not entr.observation.code.oclIsUndefined()) and (not entr.observation.code.code.oclIsUndefined()) and (entr.observation.code.code='229819007' or entr.observation.code.code='160573003' ) )->forAll(entr : POCDMT000040Entry | entr.observation.value->forAll(val : ANY | (not val.nullFlavor.oclIsUndefined()) or (not val.oclIsKindOf(PQ)) or ( val.oclAsType(PQ).matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.16', val.oclAsType(PQ).unit) or val.oclAsType(PQ).unit='1' ) ) ) ERROR constraint_R15 entry/observation[templateId/@root= '1.3.6.1. 4.1.19376.1.5.3.1.4.13.4']/code/@code value is using epSOSSocialHistory value set 2.16.840.1.113883.6.96 (Appendix B1, R15) self.entry->forAll(entr : POCDMT000040Entry | (entr.observation.oclIsUndefined()) or (not entr.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.4.13.4')) or (entr.observation.code.oclIsUndefined()) or (entr.observation.code.code.oclIsUndefined()) or entr.observation.code.matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.14', entr.observation.code.code, entr.observation.code.codeSystem, entr.observation.code.codeSystemName, entr.observation.code.displayName) ) ERROR constraint_code code element is required and SHALL be <code code='29762-2’ displayName='Social history' codeSystem='2.16.840.1.113883.6.1' codeSystemName='LOINC'/> (Appendix B1, 13.1.12) (not self.code.oclIsUndefined()) and (not self.code.code.oclIsUndefined()) and self.code.code='29762-2' and (not self.code.codeSystem.oclIsUndefined()) and self.code.codeSystem='2.16.840.1.113883.6.1' and (not self.code.codeSystemName.oclIsUndefined()) and self.code.codeSystemName='LOINC' and (not self.code.displayName.oclIsUndefined()) and self.code.displayName='Social history' ERROR VitalSignOrganizer2 TemplateSpec VitalSignOrganizer2 1.3.6.1.4.1.19376.1.5.3.1.4.13.1 cdaepsos-POCDMT000040Organizer constraint_R1711_1 component/observation[templateId/@root='1.3.6.1.4.1.19376.1.5.3.1.4.13.2'][code/@code='8480- 6' or @code='8462-4']/value if present with a type equals to PQ, it SHALL have aunit from epSOSUnits codes (R17.1.1) self.component->select(comp : POCDMT000040Component4 | (not comp.observation.oclIsUndefined()) and comp.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.4.13.2') and (not comp.observation.code.oclIsUndefined()) and (not comp.observation.code.code.oclIsUndefined()) and ( comp.observation.code.code='8480-6' or comp.observation.code.code='8462-4' ) )->forAll(comp : POCDMT000040Component4 | comp.observation.value->select(val : ANY | val.oclIsKindOf(PQ))->forAll(val : ANY | val.oclAsType(PQ).matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.16', val.oclAsType(PQ).unit)) ) ERROR constraint_R1711_2 component/ observation[templateId/@root='1.3.6.1.4.1.19 376.1.5.3.1.4.13.2']/code/@code SHALL use : epSOSBloodPressure 2.16.840.1.113883.6.1 (R17.1.1) self.component->select(comp : POCDMT000040Component4 | (not comp.observation.oclIsUndefined()) and comp.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.4.13.2') and (not comp.observation.code.oclIsUndefined()) and (not comp.observation.code.code.oclIsUndefined()) )->forAll(comp : POCDMT000040Component4 | comp.observation.code.matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.21', comp.observation.code.code, comp.observation.code.codeSystem, comp.observation.code.codeSystemName, comp.observation.code.displayName) ) ERROR constraint_code code is required and SHALL be <code code='46680005' displayName='Vital signs' codeSystem='2.16.840.1.113883.6.96' codeSystemName='SNOMED CT'/> (Appendix B1, 13.1.14.3.5) (not self.code.oclIsUndefined()) and (not self.code.code.oclIsUndefined()) and self.code.code='46680005' and (not self.code.codeSystem.oclIsUndefined()) and self.code.codeSystem='2.16.840.1.113883.6.96' and (not self.code.codeSystemName.oclIsUndefined()) and self.code.codeSystemName='SNOMED CT' and (not self.code.displayName.oclIsUndefined()) and self.code.displayName='Vital signs' ERROR CodedResultSection2 TemplateSpec CodedResultSection2 1.3.6.1.4.1.19376.1.5.3.1.3.28 cdaepsos-POCDMT000040Section constraint_R181 entry/observation[templateId/@root= '1.3.6. 1.4.1.19376.1.5.3.1.4.13'][code/@code=' 34530-6 ']/value if present, SHALL be from epSOSBloodGroup codes (Appendix B1, R1.8.1) self.entry->select(entr : POCDMT000040Entry | (not entr.observation.oclIsUndefined()) and entr.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.4.13') and (not entr.observation.code.oclIsUndefined()) and (not entr.observation.code.code.oclIsUndefined()) and entr.observation.code.code='34530-6' )->forAll(entr : POCDMT000040Entry | entr.observation.value->forAll(val : ANY | (not val.oclIsKindOf(CD)) or val.oclAsType(CD).matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.20', val.oclAsType(CD).code, val.oclAsType(CD).codeSystem, val.oclAsType(CD).codeSystemName, val.oclAsType(CD).displayName) ) ) ERROR constraint_code code element is required and SHALL be <code code='30954-2' displayName=’Relevant diagnostic tests/laboratory data’ codeSystem='2.16.840.1.113883.6.1' codeSystemName='LOINC'/> (Appendix B1, 13.1.15) (not self.code.oclIsUndefined()) and (not self.code.code.oclIsUndefined()) and self.code.code='30954-2' and (not self.code.codeSystem.oclIsUndefined()) and self.code.codeSystem='2.16.840.1.113883.6.1' and (not self.code.codeSystemName.oclIsUndefined()) and self.code.codeSystemName='LOINC' and (not self.code.displayName.oclIsUndefined()) and self.code.displayName='Relevant diagnostic tests/laboratory data' ERROR MedicationSummarySection2 TemplateSpec MedicationSummarySection2 1.3.6.1.4.1.12559.11.10.1.3.1.2.3 cdaepsos-POCDMT000040Section constraint_R191_2 entry/substanceAdministration[templateId/[ @root= '1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/ consumable/manufacturedProduct/manufac turedMaterial/ingredient/[@classCode='AC TI']/ingredient/code SHALL be from epSOSActiveIngredient codes if not nullFlavored (Appendix B1, R19.1, R19.2) self.entry->exists(entr : POCDMT000040Entry | (not entr.substanceAdministration.oclIsUndefined()) and entr.substanceAdministration.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4') and (not entr.substanceAdministration.consumable.oclIsUndefined()) and (not entr.substanceAdministration.consumable.manufacturedProduct.oclIsUndefined()) and (not entr.substanceAdministration.consumable.manufacturedProduct.manufacturedMaterial.oclIsUndefined()) and entr.substanceAdministration.consumable.manufacturedProduct.manufacturedMaterial.ingredient->exists(ingr : COCTMT230100UVIngredient | (not ingr.classCode.oclIsUndefined()) and ingr.classCode=RoleClassIngredientEntityExt::ACTI and (not ingr.ingredient.oclIsUndefined()) and (not ingr.ingredient.code.oclIsUndefined()) and ( (not ingr.ingredient.code.nullFlavor.oclIsUndefined()) or ( (not ingr.ingredient.code.code.oclIsUndefined()) and ingr.ingredient.code.matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.24', ingr.ingredient.code.code, ingr.ingredient.code.codeSystem, ingr.ingredient.code.codeSystemName, ingr.ingredient.code.displayName) ) ) ) ) ERROR constraint_R195 if EIVL_TS is used as type on entry/substanceAdministration[templateId/[ @root= '1.3.6.1.4.1.12559.11.10.1.3.1.3.4']/effectiveTime, TimingEvent vocal SHALL be used (Appendix B1, R19.5) self.entry->select(entr : POCDMT000040Entry | (not entr.substanceAdministration.oclIsUndefined()) and entr.substanceAdministration.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4') and entr.substanceAdministration.effectiveTime->size()>0 )->forAll(entr : POCDMT000040Entry| entr.substanceAdministration.effectiveTime->forAll(ef : SXCMTS | ( (not ef.oclIsKindOf(EIVLTS)) or ef.oclAsType(EIVLTS).event.oclIsUndefined() or (not ef.oclAsType(EIVLTS).event.nullFlavor.oclIsUndefined()) or ef.oclAsType(EIVLTS).event.matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.41', ef.oclAsType(EIVLTS).event.code, ef.oclAsType(EIVLTS).event.codeSystem, ef.oclAsType(EIVLTS).event.codeSystemName, ef.oclAsType(EIVLTS).event.displayName) ) and ( (not ef.oclIsKindOf(SXPRTS)) or ef.oclAsType(SXPRTS).comp->forAll(com : SXCMTS | (not com.oclIsKindOf(EIVLTS)) or com.oclAsType(EIVLTS).event.oclIsUndefined() or (not com.oclAsType(EIVLTS).event.nullFlavor.oclIsUndefined()) or com.oclAsType(EIVLTS).event.matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.41', com.oclAsType(EIVLTS).event.code, com.oclAsType(EIVLTS).event.codeSystem, com.oclAsType(EIVLTS).event.codeSystemName, com.oclAsType(EIVLTS).event.displayName) ) ) ) ) ERROR constraint_R198 entry/substanceAdministration[templateId/ [@root= '1.3.6.1.4.1.12559.11.10.1.3.1.3.4 ']/consumable/manufacturedProduct/manufacturedMaterial/formCode if present SHALL be from epSOSDoseForm codes (Appendix B1, R19.8) self.entry->select(entr : POCDMT000040Entry | (not entr.substanceAdministration.oclIsUndefined()) and entr.substanceAdministration.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.12559.11.10.1.3.1.3.4') and (not entr.substanceAdministration.consumable.oclIsUndefined()) and (not entr.substanceAdministration.consumable.manufacturedProduct.oclIsUndefined()) and (not entr.substanceAdministration.consumable.manufacturedProduct.manufacturedMaterial.oclIsUndefined()) and (not entr.substanceAdministration.consumable.manufacturedProduct.manufacturedMaterial.formCode.oclIsUndefined()) and entr.substanceAdministration.consumable.manufacturedProduct.manufacturedMaterial.formCode.nullFlavor.oclIsUndefined() )->forAll(entr2 : POCDMT000040Entry | entr2.substanceAdministration.consumable.manufacturedProduct.manufacturedMaterial.formCode.matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.2', entr2.substanceAdministration.consumable.manufacturedProduct.manufacturedMaterial.formCode.code, entr2.substanceAdministration.consumable.manufacturedProduct.manufacturedMaterial.formCode.codeSystem, entr2.substanceAdministration.consumable.manufacturedProduct.manufacturedMaterial.formCode.codeSystemName, entr2.substanceAdministration.consumable.manufacturedProduct.manufacturedMaterial.formCode.displayName) ) ERROR constraint_code LOINC code of Medication Summary section is (10160-0,2.16.840.1.113883.6.1, LOINC, History of medication use) and it is required (Appendix B1, paragraph 12.1.1) (not self.code.oclIsUndefined()) and (not self.code.code.oclIsUndefined()) and self.code.code='10160-0' and (not self.code.codeSystem.oclIsUndefined()) and self.code.codeSystem='2.16.840.1.113883.6.1' and (not self.code.codeSystemName.oclIsUndefined()) and self.code.codeSystemName='LOINC' and (not self.code.displayName.oclIsUndefined()) and self.code.displayName='History of medication use' ERROR MedicationItemEntry2 TemplateSpec MedicationItemEntry2 1.3.6.1.4.1.12559.11.10.1.3.1.3.4 cdaepsos-POCDMT000040SubstanceAdministration constraint_doseQuantity2 If doseQuantity present, the unit of low and high element SHALL be equals to 1, or SHALL be from epSOSUnits codes, or from epSOSDoseForm codes (Appendix B1, 12.1.1.2.4.7) self.doseQuantity.oclIsUndefined() or ( ( self.doseQuantity.low.oclIsUndefined() or self.doseQuantity.low.unit.oclIsUndefined() or self.doseQuantity.low.matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.16', self.doseQuantity.low.unit) or self.doseQuantity.low.unit='1' or self.doseQuantity.low.matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.2', self.doseQuantity.low.unit) ) and ( self.doseQuantity.high.oclIsUndefined() or self.doseQuantity.high.unit.oclIsUndefined() or self.doseQuantity.high.matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.16', self.doseQuantity.high.unit) or self.doseQuantity.high.unit='1' or self.doseQuantity.high.matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.2', self.doseQuantity.high.unit) ) ) ERROR constraint_rateQuantity2 If rateQuantity present, the unit of low and high element SHALL be equals to 1, or SHALL be from epSOSUnits codes, or from epSOSDoseForm codes (Appendix B1, 12.1.1.2.4.8) self.rateQuantity.oclIsUndefined() or (not self.rateQuantity.nullFlavor.oclIsUndefined()) or ( ( self.rateQuantity.low.oclIsUndefined() or self.rateQuantity.low.unit.oclIsUndefined() or self.rateQuantity.low.matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.16', self.rateQuantity.low.unit) or self.rateQuantity.low.unit='1' or self.rateQuantity.low.matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.2', self.rateQuantity.low.unit) ) and ( self.rateQuantity.high.oclIsUndefined() or self.rateQuantity.high.unit.oclIsUndefined() or self.rateQuantity.high.matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.16', self.rateQuantity.high.unit) or self.rateQuantity.high.unit='1' or self.rateQuantity.high.matchesCodeToValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.2', self.rateQuantity.high.unit) ) ) ERROR SeverityEntryObservation2 TemplateSpec SeverityEntryObservation2 1.3.6.1.4.1.19376.1.5.3.1.4.1 cdaepsos-POCDMT000040Observation constraint_value The value element is always represented using the CD datatype (xsi:type='CD') and it SHALL use the SNOMED codes specified by the epSOSSeverity 1.3.6.1.4.1.12559.11.10.1.3.1.42.13 (Appendix B1, 13.1.2.2.9) self.value->forAll(val : ANY | val.oclIsKindOf(CD) and val.oclAsType(CD).matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.13', val.oclAsType(CD).code, val.oclAsType(CD).codeSystem, val.oclAsType(CD).codeSystemName, val.oclAsType(CD).displayName) ) ERROR ImmunizationsSection2 TemplateSpec ImmunizationsSection2 1.3.6.1.4.1.19376.1.5.3.1.3.23 cdaepsos-POCDMT000040Section constraint_code code is required and SHALL be <code code='11369-6' displayName=’History of immunization' codeSystem='2.16.840.1.113883.6.1' codeSystemName='LOINC'/> (Appendix B1, 13.1.3) (not self.code.oclIsUndefined()) and (not self.code.code.oclIsUndefined()) and self.code.code='11369-6' and (not self.code.codeSystem.oclIsUndefined()) and self.code.codeSystem='2.16.840.1.113883.6.1' and (not self.code.codeSystemName.oclIsUndefined()) and self.code.codeSystemName='LOINC' and (not self.code.displayName.oclIsUndefined()) and self.code.displayName='History of immunization' ERROR PositionOfVaccination2 TemplateSpec PositionOfVaccination2 2.16.840.1.113883.10.20.1.46 cdaepsos-POCDMT000040Observation constraint_code the code element SHALL be present and SHALL have the value <code code='30973-2' displayName='Dose Number' codeSystem='2.16.840.1.113883.6.1' codeSystemName='LOINC'/>(Appendix B1, 13.1.3.3.12) (not self.code.oclIsUndefined()) and (not self.code.code.oclIsUndefined()) and self.code.code='30973-2' and (not self.code.codeSystem.oclIsUndefined()) and self.code.codeSystem='2.16.840.1.113883.6.1' and (not self.code.codeSystemName.oclIsUndefined()) and self.code.codeSystemName='LOINC' and (not self.code.displayName.oclIsUndefined()) and self.code.displayName='Dose Number' ERROR ProductEntry2 TemplateSpec ProductEntry2 1.3.6.1.4.1.19376.1.5.3.1.4.7.2 cdaepsos-POCDMT000040ManufacturedProduct constraint_code The code of the manufacturedProduct SHALL be from epSOSVaccine values (Appendix B1, 13.1.3.4.2.1) self.manufacturedMaterial.oclIsUndefined() or self.manufacturedMaterial.code.oclIsUndefined() or (not self.manufacturedMaterial.code.nullFlavor.oclIsUndefined()) or self.manufacturedMaterial.code.matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.28', self.manufacturedMaterial.code.code, self.manufacturedMaterial.code.codeSystem, self.manufacturedMaterial.code.codeSystemName, self.manufacturedMaterial.code.displayName) ERROR HistoryOfPastIllness2 TemplateSpec HistoryOfPastIllness2 1.3.6.1.4.1.19376.1.5.3.1.3.8 cdaepsos-POCDMT000040Section constraint_code LOINC code is required and SHALL be <code code='11348-0' displayName=’History of past illness' codeSystem='2.16.840.1.113883.6.1' codeSystemName='LOINC'/> (Appendix B1, 13.1.4) (not self.code.oclIsUndefined()) and (not self.code.code.oclIsUndefined()) and self.code.code='11348-0' and (not self.code.codeSystem.oclIsUndefined()) and self.code.codeSystem='2.16.840.1.113883.6.1' and (not self.code.codeSystemName.oclIsUndefined()) and self.code.codeSystemName='LOINC' and (not self.code.displayName.oclIsUndefined()) and self.code.displayName='History of past illness' ERROR CodedListSurgeriesSection2 TemplateSpec CodedListSurgeriesSection2 1.3.6.1.4.1.19376.1.5.3.1.3.12 cdaepsos-POCDMT000040Section constraint_code code is required ansd SHALL be <code code='47519-4' displayName= ‘History of Procedures' codeSystem='2.16.840.1.113883.6.1' codeSystemName='LOINC'/> (Appendix B1, 13.1.5) (not self.code.oclIsUndefined()) and (not self.code.code.oclIsUndefined()) and self.code.code='47519-4' and (not self.code.codeSystem.oclIsUndefined()) and self.code.codeSystem='2.16.840.1.113883.6.1' and (not self.code.codeSystemName.oclIsUndefined()) and self.code.codeSystemName='LOINC' and (not self.code.displayName.oclIsUndefined()) and self.code.displayName='History of Procedures' ERROR InternalReferenceEntry2 TemplateSpec InternalReferenceEntry2 1.3.6.1.4.1.19376.1.5.3.1.4.4.1 cdaepsos-POCDMT000040Act constraint_code code is required, and if it is not known, a nullFlavor attribute is required with the value NA (Appendix B1, 13.1.5.8) (not self.code.oclIsUndefined()) and ( (self.code.nullFlavor.oclIsUndefined() and (not self.code.code.oclIsUndefined()) ) or ( (not self.nullFlavor.oclIsUndefined()) and self.nullFlavor=NullFlavor::NA ) ) ERROR ProblemEntry2 TemplateSpec ProblemEntry2 1.3.6.1.4.1.19376.1.5.3.1.4.5 cdaepsos-POCDMT000040Observation constraint_code2 The code if present SHALL be from epSOSCodeProb codes (Appendix B1, 13.1.6.14.7) self.code.oclIsUndefined() or (not self.code.nullFlavor.oclIsUndefined()) or self.code.matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.23', self.code.code, self.code.codeSystem, self.code.codeSystemName, self.code.displayName) ERROR constraint_value3 if coded, the value element code SHALL eb from epSOSIllnessesandDisorders or epSOSUnknownInformation codes (Appendix B1, 13.1.6.14.11) self.value->forAll(val : ANY | val.oclIsKindOf(CD) and ( val.oclAsType(CD).code.oclIsUndefined() or val.oclAsType(CD).matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.5', val.oclAsType(CD).code, val.oclAsType(CD).codeSystem, val.oclAsType(CD).codeSystemName, val.oclAsType(CD).displayName) or val.oclAsType(CD).matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.17', val.oclAsType(CD).code, val.oclAsType(CD).codeSystem, val.oclAsType(CD).codeSystemName, val.oclAsType(CD).displayName) ) ) ERROR constraint_problemStatus2 The value set to be used on Problem Status Observation is epSOSStatusCode codes (Appendix B1, 13.1.6.14.14) self.entryRelationship->select(entr : POCDMT000040EntryRelationship | (not entr.observation.oclIsUndefined()) and entr.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.4.1.1') )->forAll(entr : POCDMT000040EntryRelationship | entr.observation.value->forAll(val :ANY | val.oclIsKindOf(CD) and val.oclAsType(CD).matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.15', val.oclAsType(CD).code, val.oclAsType(CD).codeSystem, val.oclAsType(CD).codeSystemName, val.oclAsType(CD).displayName) ) ) ERROR constraint_healthStatus2 The value set to be used on Health Status Observation is epSOSResolutionOutcome codes (Appendix B1, 13.1.6.14.14) self.entryRelationship->select(entr : POCDMT000040EntryRelationship | (not entr.observation.oclIsUndefined()) and entr.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.4.1.2') )->forAll(entr : POCDMT000040EntryRelationship | entr.observation.value->forAll(val :ANY | val.oclIsKindOf(CD) and val.oclAsType(CD).matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.30', val.oclAsType(CD).code, val.oclAsType(CD).codeSystem, val.oclAsType(CD).codeSystemName, val.oclAsType(CD).displayName) ) ) ERROR MedicalDevicesEntry2 TemplateSpec MedicalDevicesEntry2 1.3.6.1.4.1.12559.11.10.1.3.1.3.5 cdaepsos-POCDMT000040Supply constraint_participant4 The device code (participant/participantRole/playingDevice/code) SHALL be from epSOSMedicalDevices codes (Appendix B1, 13.1.8.3.11) self.participant->forAll(part : POCDMT000040Participant2 | (not part.participantRole.oclIsUndefined()) and (not part.participantRole.playingDevice.oclIsUndefined()) and (not part.participantRole.playingDevice.code.oclIsUndefined()) and part.participantRole.playingDevice.code.matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.8', part.participantRole.playingDevice.code.code, part.participantRole.playingDevice.code.codeSystem, part.participantRole.playingDevice.code.codeSystemName, part.participantRole.playingDevice.code.displayName) ) ERROR ProcedureAndIntervention2 TemplateSpec ProcedureAndIntervention2 1.3.6.1.4.1.19376.1.5.3.1.1.13.2.11 cdaepsos-POCDMT000040Section constraint_code code element is required and SHALL be <code code='29544-3' displayName='Procedures' codeSystem='2.16.840.1.113883.6.1' codeSystemName='LOINC'/> (Appendix B1, 13.1.8.3.11) (not self.code.oclIsUndefined()) and (not self.code.code.oclIsUndefined()) and self.code.code='29544-3' and (not self.code.codeSystem.oclIsUndefined()) and self.code.codeSystem='2.16.840.1.113883.6.1' and (not self.code.codeSystemName.oclIsUndefined()) and self.code.codeSystemName='LOINC' and (not self.code.displayName.oclIsUndefined()) and self.code.displayName='Procedures' ERROR HealthMaintenanceCarePlan2 TemplateSpec HealthMaintenanceCarePlan2 1.3.6.1.4.1.19376.1.5.3.1.1.9.50 cdaepsos-POCDMT000040Section constraint_code code is required and SHALL be <code code='18776-5' displayName=’Plan of treatment’ codeSystem='2.16.840.1.113883.6.1' codeSystemName='LOINC'/> (Appendix B1, 13.1.10) (not self.code.oclIsUndefined()) and (not self.code.code.oclIsUndefined()) and self.code.code='18776-5' and (not self.code.codeSystem.oclIsUndefined()) and self.code.codeSystem='2.16.840.1.113883.6.1' and (not self.code.codeSystemName.oclIsUndefined()) and self.code.codeSystemName='LOINC' and (not self.code.displayName.oclIsUndefined()) and self.code.displayName='’Plan of treatment' ERROR FunctionalStatusSection2 TemplateSpec FunctionalStatusSection2 1.3.6.1.4.1.19376.1.5.3.1.3.17 cdaepsos-POCDMT000040Section constraint_code code required and SHALL be <code code='47420-5' displayName='Functional status assessment’ codeSystem='2.16.840.1.113883.6.1' codeSystemName='LOINC'/> (Appendix B1, 13.1.11.2) (not self.code.oclIsUndefined()) and (not self.code.code.oclIsUndefined()) and self.code.code='47420-5' and (not self.code.codeSystem.oclIsUndefined()) and self.code.codeSystem='2.16.840.1.113883.6.1' and (not self.code.codeSystemName.oclIsUndefined()) and self.code.codeSystemName='LOINC' and (not self.code.displayName.oclIsUndefined()) and self.code.displayName='’Functional status assessment' ERROR PregnancyHistorySection2 TemplateSpec PregnancyHistorySection2 1.3.6.1.4.1.19376.1.5.3.1.1.5.3.4 cdaepsos-POCDMT000040Section constraint_code code is required and SHALL be <code code='10162-6' displayName='History of pregnancies' codeSystem='2.16.840.1.113883.6.1' codeSystemName='LOINC'/> (Appendix B1, 13.1.13) (not self.code.oclIsUndefined()) and (not self.code.code.oclIsUndefined()) and self.code.code='10162-6' and (not self.code.codeSystem.oclIsUndefined()) and self.code.codeSystem='2.16.840.1.113883.6.1' and (not self.code.codeSystemName.oclIsUndefined()) and self.code.codeSystemName='LOINC' and (not self.code.displayName.oclIsUndefined()) and self.code.displayName='History of pregnancies' ERROR PregnancyObservation2 TemplateSpec PregnancyObservation2 1.3.6.1.4.19376.1.5.3.1.4.13.5 cdaepsos-POCDMT000040Observation constraint_code2 code SHALL be from epSOSPregnancyInformation codes (Appendix B1, 13.1.13.5) self.code.oclIsUndefined() or (not self.code.nullFlavor.oclIsUndefined()) or self.code.matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.9', self.code.code, self.code.codeSystem, self.code.codeSystemName, self.code.displayName) ERROR CodedVitalSignsSection2 TemplateSpec CodedVitalSignsSection2 1.3.6.1.4.1.19376.1.5.3.1.1.5.3.2 cdaepsos-POCDMT000040Section constraint_code code element is required and SHALL be <code code='8716-3' displayName=’Physical findings’ codeSystem='2.16.840.1.113883.6.1' codeSystemName='LOINC'/> (Appendix B1, 13.1.14) (not self.code.oclIsUndefined()) and (not self.code.code.oclIsUndefined()) and self.code.code='8716-3' and (not self.code.codeSystem.oclIsUndefined()) and self.code.codeSystem='2.16.840.1.113883.6.1' and (not self.code.codeSystemName.oclIsUndefined()) and self.code.codeSystemName='LOINC' and (not self.code.displayName.oclIsUndefined()) and self.code.displayName='Physical findings' ERROR VitalSignsObservation2 TemplateSpec VitalSignsObservation2 1.3.6.1.4.1.19376.1.5.3.1.4.13.2 cdaepsos-POCDMT000040Observation constraint_code code element required and SHALL be from epSOSBloodPressure codes (Appendix B1, 13.1.14.4.3) (not self.code.oclIsUndefined()) and self.code.matchesValueSet('1.3.6.1.4.1.12559.11.10.1.3.1.42.21', self.code.code, self.code.codeSystem, self.code.codeSystemName, self.code.displayName) ERROR voc ActClass ActClass ACCM ACCM ACCT ACCT ACSN ACSN ACT ACT ACTN ACTN ADJUD ADJUD ALRT ALRT BATTERY BATTERY CACT CACT CASE CASE CATEGORY CATEGORY CDALVLONE CDALVLONE CLNTRL CLNTRL CLUSTER CLUSTER CNOD CNOD CNTRCT CNTRCT COMPOSITION COMPOSITION COND COND CONS CONS CONTREG CONTREG COV COV CTTEVENT CTTEVENT DGIMG DGIMG DIET DIET DISPACT DISPACT DOC DOC DOCBODY DOCBODY DOCCLIN DOCCLIN DOCSECT DOCSECT EHR EHR ENC ENC ENTRY ENTRY EXTRACT EXTRACT FCNTRCT FCNTRCT FOLDER FOLDER INC INC INFO INFO INFRM INFRM INVE INVE INVSTG INVSTG LIST LIST MPROT MPROT OBS OBS OBSCOR OBSCOR OBSSER OBSSER ORGANIZER ORGANIZER OUTB OUTB PCPR PCPR PROC PROC REG REG REV REV ROIBND ROIBND ROIOVL ROIOVL SBADM SBADM SEQ SEQ SEQVAR SEQVAR SFWL SFWL SIT SIT SPCOBS SPCOBS SPCTRT SPCTRT SPECCOLLECT SPECCOLLECT SPLY SPLY STC STC STDPOL STDPOL SUBST SUBST TOPIC TOPIC TRNS TRNS VERIF VERIF XACT XACT ActClassComposition ActClassComposition COMPOSITION COMPOSITION CDALVLONE CDALVLONE DOC DOC DOCCLIN DOCCLIN ActClassCondition ActClassCondition COND COND CASE CASE OUTB OUTB ActClassContract ActClassContract CNTRCT CNTRCT FCNTRCT FCNTRCT COV COV ActClassControlAct ActClassControlAct CACT CACT ACTN ACTN INFO INFO STC STC ActClassDocument ActClassDocument CDALVLONE CDALVLONE DOC DOC DOCCLIN DOCCLIN ActClassEntry ActClassEntry ENTRY ENTRY BATTERY BATTERY CLUSTER CLUSTER ActClassExtract ActClassExtract EXTRACT EXTRACT EHR EHR ActClassFinancialContract ActClassFinancialContract FCNTRCT FCNTRCT COV COV ActClassObservation ActClassObservation ALRT ALRT CASE CASE CLNTRL CLNTRL CNOD CNOD COND COND DGIMG DGIMG INVSTG INVSTG OBS OBS OBSCOR OBSCOR OBSSER OBSSER OUTB OUTB ROIBND ROIBND ROIOVL ROIOVL SPCOBS SPCOBS ActClassObservationSeries ActClassObservationSeries OBSSER OBSSER OBSCOR OBSCOR ActClassOrganizer ActClassOrganizer ORGANIZER ORGANIZER CATEGORY CATEGORY DOCBODY DOCBODY DOCSECT DOCSECT TOPIC TOPIC ActClassPublicHealthCase ActClassPublicHealthCase CASE CASE OUTB OUTB ActClassROI ActClassROI ROIBND ROIBND ROIOVL ROIOVL ActClassRoot ActClassRoot ACCM ACCM ACCT ACCT ACSN ACSN ACT ACT ACTN ACTN ADJUD ADJUD ALRT ALRT BATTERY BATTERY CACT CACT CASE CASE CATEGORY CATEGORY CDALVLONE CDALVLONE CLNTRL CLNTRL CLUSTER CLUSTER CNOD CNOD CNTRCT CNTRCT COMPOSITION COMPOSITION COND COND CONS CONS CONTREG CONTREG COV COV CTTEVENT CTTEVENT DGIMG DGIMG DIET DIET DISPACT DISPACT DOC DOC DOCBODY DOCBODY DOCCLIN DOCCLIN DOCSECT DOCSECT EHR EHR ENC ENC ENTRY ENTRY EXTRACT EXTRACT FCNTRCT FCNTRCT FOLDER FOLDER INC INC INFO INFO INFRM INFRM INVE INVE INVSTG INVSTG LIST LIST MPROT MPROT OBS OBS OBSCOR OBSCOR OBSSER OBSSER ORGANIZER ORGANIZER OUTB OUTB PCPR PCPR PROC PROC REG REG REV REV ROIBND ROIBND ROIOVL ROIOVL SBADM SBADM SPCOBS SPCOBS SPCTRT SPCTRT SPLY SPLY STC STC SUBST SUBST TOPIC TOPIC TRNS TRNS VERIF VERIF XACT XACT ActClassSupply ActClassSupply DIET DIET SPLY SPLY ActClinicalDocument ActClinicalDocument CDALVLONE CDALVLONE DOCCLIN DOCCLIN ActContainer ActContainer FOLDER FOLDER COMPOSITION COMPOSITION CDALVLONE CDALVLONE DOC DOC DOCCLIN DOCCLIN ENTRY ENTRY BATTERY BATTERY CLUSTER CLUSTER EXTRACT EXTRACT EHR EHR ORGANIZER ORGANIZER CATEGORY CATEGORY DOCBODY DOCBODY DOCSECT DOCSECT TOPIC TOPIC ActMood ActMood APT APT ARQ ARQ DEF DEF EVN EVN EVNCRT EVN.CRT GOL GOL INT INT OPT OPT PERM PERM PERMRQ PERMRQ PRMS PRMS PRP PRP RQO RQO SLOT SLOT ActMoodCompletionTrack ActMoodCompletionTrack DEF DEF EVN EVN INT INT APT APT ARQ ARQ PRMS PRMS PRP PRP RQO RQO SLOT SLOT ActMoodIntent ActMoodIntent INT INT APT APT ARQ ARQ PRMS PRMS PRP PRP RQO RQO SLOT SLOT ActMoodPredicate ActMoodPredicate EVNCRT EVN.CRT GOL GOL OPT OPT PERM PERM PERMRQ PERMRQ ActRelationshipAccounting ActRelationshipAccounting CHRG CHRG COST COST CREDIT CREDIT DEBIT DEBIT ActRelationshipConditional ActRelationshipConditional CIND CIND PRCN PRCN TRIG TRIG RSON RSON MITGT MITGT ActRelationshipCostTracking ActRelationshipCostTracking CHRG CHRG COST COST ActRelationshipExcerpt ActRelationshipExcerpt XCRPT XCRPT VRXCRPT VRXCRPT ActRelationshipFulfills ActRelationshipFulfills FLFS FLFS OCCR OCCR OREF OREF SCH SCH ActRelationshipHasComponent ActRelationshipHasComponent ARR ARR COMP COMP CTRLV CTRLV DEP DEP ActRelationshipObjective ActRelationshipObjective OBJC OBJC OBJF OBJF ActRelationshipOutcome ActRelationshipOutcome OUTC OUTC GOAL GOAL RISK RISK OBJC OBJC OBJF OBJF ActRelationshipPertains ActRelationshipPertains PERT PERT AUTH AUTH CAUS CAUS COVBY COVBY DRIV DRIV EXPL EXPL ITEMSLOC ITEMSLOC LIMIT LIMIT MFST MFST NAME NAME PREV PREV REFR REFR REFV REFV SUBJ SUBJ SUMM SUMM CHRG CHRG COST COST CREDIT CREDIT DEBIT DEBIT SAS SAS SPRT SPRT SPRTBND SPRTBND ActRelationshipPosting ActRelationshipPosting CREDIT CREDIT DEBIT DEBIT ActRelationshipReason ActRelationshipReason RSON RSON MITGT MITGT ActRelationshipReplacement ActRelationshipReplacement RPLC RPLC SUCC SUCC ActRelationshipSequel ActRelationshipSequel SEQL SEQL APND APND DOC DOC ELNK ELNK GEN GEN GEVL GEVL INST INST MTCH MTCH OPTN OPTN REV REV UPDT UPDT XFRM XFRM XCRPT XCRPT VRXCRPT VRXCRPT FLFS FLFS OCCR OCCR OREF OREF SCH SCH RPLC RPLC SUCC SUCC ActRelationshipType ActRelationshipType APND APND ARR ARR AUTH AUTH CAUS CAUS CHRG CHRG CIND CIND COMP COMP COST COST COVBY COVBY CREDIT CREDIT CTRLV CTRLV DEBIT DEBIT DEP DEP DOC DOC DRIV DRIV ELNK ELNK EXPL EXPL FLFS FLFS GEN GEN GEVL GEVL GOAL GOAL INST INST ITEMSLOC ITEMSLOC LIMIT LIMIT MFST MFST MITGT MITGT MTCH MTCH NAME NAME OBJC OBJC OBJF OBJF OCCR OCCR OPTN OPTN OREF OREF OUTC OUTC PERT PERT PRCN PRCN PREV PREV REFR REFR REFV REFV REV REV RISK RISK RPLC RPLC RSON RSON SAS SAS SCH SCH SEQL SEQL SPRT SPRT SPRTBND SPRTBND SUBJ SUBJ SUCC SUCC SUMM SUMM TRIG TRIG UPDT UPDT VRXCRPT VRXCRPT XCRPT XCRPT XFRM XFRM AdditionalLocator AdditionalLocator ADL ADL UNID UNID UNIT UNIT AddressPartType AddressPartType ADL ADL BNN BNN BNR BNR BNS BNS CAR CAR CEN CEN CNT CNT CPA CPA CTY CTY DAL DAL DEL DEL DINST DINST DINSTA DINSTA DINSTQ DINSTQ DIR DIR DMOD DMOD DMODID DMODID POB POB PRE PRE SAL SAL STA STA STB STB STR STR STTYP STTYP UNID UNID UNIT UNIT ZIP ZIP AddressUse AddressUse BAD BAD TMP TMP H H HP HP HV HV DIR DIR PUB PUB ApplicationMediaType ApplicationMediaType applicationDicom application/dicom applicationMsword application/msword applicationPdf application/pdf AskedButUnknown AskedButUnknown ASKU ASKU NAV NAV AudioMediaType AudioMediaType audioBasic audio/basic audioK32adpcm audio/k32adpcm audioMpeg audio/mpeg BuildingNumber BuildingNumber BNR BNR BNN BNN BNS BNS CalendarCycle CalendarCycle CD CD CH CH CM CM CN CN CS CS CW CW CY CY D D DM DM DW DW DY DY H H HD HD J J M M MY MY N N NH NH S S SN SN W W WY WY Y Y CalendarCycleOneLetter CalendarCycleOneLetter D D H H J J M M N N S S W W Y Y CalendarCycleTwoLetter CalendarCycleTwoLetter CD CD CH CH CM CM CN CN CS CS CW CW CY CY DM DM DW DW DY DY HD HD MY MY NH NH SN SN WY WY CommunicationFunctionType CommunicationFunctionType RCV RCV RSP RSP SND SND CompressionAlgorithm CompressionAlgorithm DF DF GZ GZ Z Z ZL ZL ContextControl ContextControl AN AN AP AP ON ON OP OP ContextControlAdditive ContextControlAdditive AN AN AP AP ContextControlNonPropagating ContextControlNonPropagating AN AN ON ON ContextControlOverriding ContextControlOverriding ON ON OP OP ContextControlPropagating ContextControlPropagating AP AP OP OP Currency Currency ARS ARS AUD AUD BRL BRL CAD CAD CHF CHF CLF CLF CNY CNY DEM DEM ESP ESP EUR EUR FIM FIM FRF FRF GBP GBP ILS ILS INR INR JPY JPY KRW KRW MXN MXN NLG NLG NZD NZD PHP PHP RUR RUR THB THB TRL TRL TWD TWD USD USD ZAR ZAR DeliveryAddressLine DeliveryAddressLine DAL DAL DINST DINST DINSTA DINSTA DINSTQ DINSTQ DMOD DMOD DMODID DMODID EntityClass EntityClass ANM ANM CER CER CHEM CHEM CITY CITY CONT CONT COUNTRY COUNTRY COUNTY COUNTY DEV DEV ENT ENT FOOD FOOD HCE HCE HOLD HOLD LIV LIV MAT MAT MIC MIC MMAT MMAT MODDV MODDV NAT NAT NLIV NLIV ORG ORG PLC PLC PLNT PLNT PROVINCE PROVINCE PSN PSN PUB PUB RGRP RGRP STATE STATE EntityClassContainer EntityClassContainer CONT CONT HOLD HOLD EntityClassDevice EntityClassDevice CER CER DEV DEV MODDV MODDV EntityClassLivingSubject EntityClassLivingSubject LIV LIV PSN PSN NLIV NLIV ANM ANM MIC MIC PLNT PLNT EntityClassManufacturedMaterial EntityClassManufacturedMaterial CER CER CONT CONT DEV DEV HOLD HOLD MMAT MMAT MODDV MODDV EntityClassMaterial EntityClassMaterial MAT MAT CHEM CHEM FOOD FOOD CER CER CONT CONT DEV DEV HOLD HOLD MMAT MMAT MODDV MODDV EntityClassNonPersonLivingSubject EntityClassNonPersonLivingSubject NLIV NLIV ANM ANM MIC MIC PLNT PLNT EntityClassOrganization EntityClassOrganization NAT NAT ORG ORG PUB PUB STATE STATE EntityClassPlace EntityClassPlace CITY CITY COUNTRY COUNTRY COUNTY COUNTY PLC PLC PROVINCE PROVINCE EntityClassRoot EntityClassRoot ANM ANM CER CER CHEM CHEM CITY CITY CONT CONT COUNTRY COUNTRY COUNTY COUNTY DEV DEV ENT ENT FOOD FOOD HCE HCE HOLD HOLD LIV LIV MAT MAT MIC MIC MMAT MMAT MODDV MODDV NAT NAT NLIV NLIV ORG ORG PLC PLC PLNT PLNT PROVINCE PROVINCE PSN PSN PUB PUB RGRP RGRP STATE STATE EntityDeterminer EntityDeterminer INSTANCE INSTANCE KIND KIND QUANITFIEDKIND QUANITFIED_KIND EntityDeterminerDetermined EntityDeterminerDetermined KIND KIND QUANITFIEDKIND QUANITFIED_KIND EntityNamePartQualifier EntityNamePartQualifier AC AC AD AD BR BR CL CL IN IN LS LS NB NB PR PR SP SP TITLE TITLE VV VV EntityNamePartType EntityNamePartType DEL DEL FAM FAM GIV GIV PFX PFX SFX SFX EntityNameSearchUse EntityNameSearchUse SRCH SRCH PHON PHON SNDX SNDX EntityNameUse EntityNameUse A A ABC ABC ASGN ASGN C C I I IDE IDE L L P P PHON PHON R R SNDX SNDX SRCH SRCH SYL SYL HasSupport HasSupport SPRT SPRT SPRTBND SPRTBND HomeAddressUse HomeAddressUse H H HP HP HV HV ImageMediaType ImageMediaType imageG3fax image/g3fax imageGif image/gif imageJpeg image/jpeg imagePng image/png imageTiff image/tiff IntegrityCheckAlgorithm IntegrityCheckAlgorithm SHA1 SHA-1 SHA256 SHA-256 LicensedEntityRole LicensedEntityRole LIC LIC NOT NOT PROV PROV MediaType MediaType applicationDicom application/dicom applicationMsword application/msword applicationPdf application/pdf audioBasic audio/basic audioK32adpcm audio/k32adpcm audioMpeg audio/mpeg imageG3fax image/g3fax imageGif image/gif imageJpeg image/jpeg imagePng image/png imageTiff image/tiff modelVrml model/vrml multipartXHl7CdaLevel1 multipart/x-hl7-cda-level1 textHtml text/html textPlain text/plain textRtf text/rtf textSgml text/sgml textXHl7Ft text/x-hl7-ft textXml text/xml videoMpeg video/mpeg videoXAvi video/x-avi ModelMediaType ModelMediaType modelVrml model/vrml MultipartMediaType MultipartMediaType multipartXHl7CdaLevel1 multipart/x-hl7-cda-level1 NamePseudonymUse NamePseudonymUse P P A A NameRepresentationUse NameRepresentationUse ABC ABC IDE IDE SYL SYL NoInformation NoInformation NI NI MSK MSK NA NA OTH OTH NINF NINF PINF PINF UNK UNK NASK NASK TRC TRC ASKU ASKU NAV NAV OrganizationNamePartQualifier OrganizationNamePartQualifier LS LS OrganizationNameUse OrganizationNameUse C C L L SRCH SRCH PHON PHON SNDX SNDX ABC ABC IDE IDE SYL SYL Other Other OTH OTH NINF NINF PINF PINF ParticipationAncillary ParticipationAncillary ADM ADM ATND ATND CALLBCK CALLBCK CON CON DIS DIS ESC ESC REF REF ParticipationIndirectTarget ParticipationIndirectTarget IND IND BEN BEN COV COV HLD HLD RCT RCT RCV RCV ParticipationInformationGenerator ParticipationInformationGenerator AUT AUT ENT ENT INF INF WIT WIT ParticipationInformationRecipient ParticipationInformationRecipient IRCP IRCP NOT NOT PRCP PRCP REFB REFB REFT REFT TRC TRC ParticipationPhysicalPerformer ParticipationPhysicalPerformer DIST DIST PPRF PPRF PRF PRF SPRF SPRF ParticipationTargetDevice ParticipationTargetDevice DEV DEV NRD NRD RDV RDV ParticipationTargetDirect ParticipationTargetDirect DIR DIR BBY BBY CSM CSM DON DON PRD PRD DEV DEV NRD NRD RDV RDV SBJ SBJ SPC SPC ParticipationTargetLocation ParticipationTargetLocation DST DST ELOC ELOC LOC LOC ORG ORG RML RML VIA VIA ParticipationTargetSubject ParticipationTargetSubject SBJ SBJ SPC SPC ParticipationType ParticipationType ADM ADM ATND ATND AUT AUT AUTHEN AUTHEN BBY BBY BEN BEN CALLBCK CALLBCK CON CON COV COV CSM CSM CST CST DEV DEV DIR DIR DIS DIS DIST DIST DON DON DST DST ELOC ELOC ENT ENT ESC ESC HLD HLD IND IND INF INF IRCP IRCP LA LA LOC LOC NOT NOT NRD NRD ORG ORG PPRF PPRF PRCP PRCP PRD PRD PRF PRF RCT RCT RCV RCV RDV RDV REF REF REFB REFB REFT REFT RESP RESP RML RML SBJ SBJ SPC SPC SPRF SPRF TRC TRC VIA VIA VRF VRF WIT WIT ParticipationVerifier ParticipationVerifier VRF VRF AUTHEN AUTHEN LA LA PersonNamePartAffixTypes PersonNamePartAffixTypes AC AC NB NB PR PR VV VV PersonNamePartChangeQualifier PersonNamePartChangeQualifier AD AD BR BR SP SP PersonNamePartMiscQualifier PersonNamePartMiscQualifier CL CL PersonNamePartQualifier PersonNamePartQualifier IN IN TITLE TITLE AC AC NB NB PR PR VV VV AD AD BR BR SP SP CL CL PersonNameUse PersonNameUse A A ASGN ASGN C C I I L L R R SRCH SRCH PHON PHON SNDX SNDX P P ABC ABC IDE IDE SYL SYL PostalAddressUse PostalAddressUse ABC ABC BAD BAD DIR DIR H H HP HP HV HV IDE IDE PHYS PHYS PST PST PUB PUB SYL SYL TMP TMP WP WP ProbabilityDistributionType ProbabilityDistributionType B B E E F F G G LN LN N N T T U U X2 X2 RelatedLinkType RelatedLinkType REL REL BACKUP BACKUP DIRAUTH DIRAUTH INDAUTH INDAUTH PART PART REPL REPL RoleClass RoleClass ACCESS ACCESS ACTI ACTI ACTM ACTM ADTV ADTV AGNT AGNT ALQT ALQT ASSIGNED ASSIGNED BASE BASE BIRTHPL BIRTHPL CAREGIVER CAREGIVER CASESBJ CASESBJ CIT CIT COLR COLR COMPAR COMPAR CON CON CONT CONT COVPTY COVPTY CRINV CRINV CRSPNSR CRSPNSR DSDLOC DSDLOC DST DST ECON ECON EMP EMP EXPR EXPR FLVR FLVR GEN GEN GRIC GRIC GUAR GUAR GUARD GUARD HLD HLD HLTHCHRT HLTHCHRT IACT IACT IDENT IDENT INGR INGR INST INST INVSBJ INVSBJ ISDLOC ISDLOC ISLT ISLT LIC LIC LOCE LOCE MANU MANU MBR MBR MIL MIL MNT MNT NOK NOK NOT NOT OWN OWN PART PART PAT PAT PAYEE PAYEE PAYOR PAYOR POLHOLD POLHOLD PROV PROV PRS PRS PRSV PRSV QUAL QUAL RESBJ RESBJ RET RET RGPR RGPR ROL ROL SDLOC SDLOC SGNOFF SGNOFF SPEC SPEC SPNSR SPNSR STBL STBL STD STD STOR STOR SUBS SUBS SUBY SUBY TERR TERR THER THER UNDWRT UNDWRT WRTE WRTE RoleClassAgent RoleClassAgent AGNT AGNT GUARD GUARD ASSIGNED ASSIGNED COMPAR COMPAR CON CON ECON ECON NOK NOK SGNOFF SGNOFF RoleClassAssignedEntity RoleClassAssignedEntity ASSIGNED ASSIGNED COMPAR COMPAR CON CON ECON ECON NOK NOK SGNOFF SGNOFF RoleClassAssociative RoleClassAssociative ACCESS ACCESS AGNT AGNT ASSIGNED ASSIGNED BIRTHPL BIRTHPL CAREGIVER CAREGIVER CASESBJ CASESBJ CIT CIT COMPAR COMPAR CON CON COVPTY COVPTY CRINV CRINV CRSPNSR CRSPNSR DSDLOC DSDLOC DST DST ECON ECON EMP EMP EXPR EXPR GUAR GUAR GUARD GUARD HLD HLD HLTHCHRT HLTHCHRT IDENT IDENT INVSBJ INVSBJ ISDLOC ISDLOC LIC LIC MANU MANU MIL MIL MNT MNT NOK NOK NOT NOT OWN OWN PAT PAT PAYEE PAYEE PAYOR PAYOR POLHOLD POLHOLD PROV PROV PRS PRS QUAL QUAL RESBJ RESBJ RET RET RGPR RGPR SDLOC SDLOC SGNOFF SGNOFF SPNSR SPNSR STD STD TERR TERR THER THER UNDWRT UNDWRT WRTE WRTE RoleClassContact RoleClassContact CON CON ECON ECON NOK NOK RoleClassDistributedMaterial RoleClassDistributedMaterial DST DST RET RET RoleClassEmployee RoleClassEmployee EMP EMP MIL MIL RoleClassInactiveIngredient RoleClassInactiveIngredient IACT IACT COLR COLR FLVR FLVR PRSV PRSV STBL STBL RoleClassIngredientEntity RoleClassIngredientEntity INGR INGR ACTI ACTI ACTM ACTM ADTV ADTV BASE BASE IACT IACT COLR COLR FLVR FLVR PRSV PRSV STBL STBL RoleClassInvestigationSubject RoleClassInvestigationSubject INVSBJ INVSBJ CASESBJ CASESBJ RESBJ RESBJ RoleClassIsSpeciesEntity RoleClassIsSpeciesEntity GEN GEN GRIC GRIC RoleClassLocatedEntity RoleClassLocatedEntity LOCE LOCE STOR STOR RoleClassManufacturedProduct RoleClassManufacturedProduct MANU MANU THER THER RoleClassMutualRelationship RoleClassMutualRelationship AGNT AGNT ASSIGNED ASSIGNED CAREGIVER CAREGIVER CASESBJ CASESBJ CIT CIT COMPAR COMPAR CON CON COVPTY COVPTY CRINV CRINV CRSPNSR CRSPNSR ECON ECON EMP EMP GUAR GUAR GUARD GUARD INVSBJ INVSBJ LIC LIC MIL MIL NOK NOK NOT NOT PAT PAT PAYEE PAYEE PAYOR PAYOR POLHOLD POLHOLD PROV PROV PRS PRS QUAL QUAL RESBJ RESBJ SGNOFF SGNOFF SPNSR SPNSR STD STD UNDWRT UNDWRT RoleClassOntological RoleClassOntological INST INST SUBS SUBS SUBY SUBY GEN GEN GRIC GRIC RoleClassPartitive RoleClassPartitive CONT CONT MBR MBR PART PART INGR INGR ACTI ACTI ACTM ACTM ADTV ADTV BASE BASE IACT IACT COLR COLR FLVR FLVR PRSV PRSV STBL STBL LOCE LOCE STOR STOR ALQT ALQT ISLT ISLT SPEC SPEC RoleClassPassive RoleClassPassive ACCESS ACCESS BIRTHPL BIRTHPL EXPR EXPR HLD HLD HLTHCHRT HLTHCHRT IDENT IDENT MNT MNT OWN OWN RGPR RGPR TERR TERR WRTE WRTE DST DST RET RET MANU MANU THER THER DSDLOC DSDLOC ISDLOC ISDLOC SDLOC SDLOC RoleClassRelationshipFormal RoleClassRelationshipFormal CIT CIT COVPTY COVPTY CRINV CRINV CRSPNSR CRSPNSR GUAR GUAR PAT PAT PAYEE PAYEE PAYOR PAYOR POLHOLD POLHOLD QUAL QUAL SPNSR SPNSR STD STD UNDWRT UNDWRT LIC LIC NOT NOT PROV PROV AGNT AGNT GUARD GUARD ASSIGNED ASSIGNED COMPAR COMPAR CON CON ECON ECON NOK NOK SGNOFF SGNOFF EMP EMP MIL MIL INVSBJ INVSBJ CASESBJ CASESBJ RESBJ RESBJ RoleClassRoot RoleClassRoot ACCESS ACCESS ACTI ACTI ACTM ACTM ADTV ADTV AGNT AGNT ALQT ALQT ASSIGNED ASSIGNED BASE BASE BIRTHPL BIRTHPL CAREGIVER CAREGIVER CASESBJ CASESBJ CIT CIT COLR COLR COMPAR COMPAR CON CON CONT CONT COVPTY COVPTY CRINV CRINV CRSPNSR CRSPNSR DSDLOC DSDLOC DST DST ECON ECON EMP EMP EXPR EXPR FLVR FLVR GEN GEN GRIC GRIC GUAR GUAR GUARD GUARD HLD HLD HLTHCHRT HLTHCHRT IACT IACT IDENT IDENT INGR INGR INST INST INVSBJ INVSBJ ISDLOC ISDLOC ISLT ISLT LIC LIC LOCE LOCE MANU MANU MBR MBR MIL MIL MNT MNT NOK NOK NOT NOT OWN OWN PART PART PAT PAT PAYEE PAYEE PAYOR PAYOR POLHOLD POLHOLD PROV PROV PRS PRS PRSV PRSV QUAL QUAL RESBJ RESBJ RET RET RGPR RGPR ROL ROL SDLOC SDLOC SGNOFF SGNOFF SPEC SPEC SPNSR SPNSR STBL STBL STD STD STOR STOR SUBS SUBS SUBY SUBY TERR TERR THER THER UNDWRT UNDWRT WRTE WRTE RoleClassServiceDeliveryLocation RoleClassServiceDeliveryLocation DSDLOC DSDLOC ISDLOC ISDLOC SDLOC SDLOC RoleClassSpecimen RoleClassSpecimen ALQT ALQT ISLT ISLT SPEC SPEC RoleLinkType RoleLinkType REL REL BACKUP BACKUP DIRAUTH DIRAUTH INDAUTH INDAUTH PART PART REPL REPL SetOperator SetOperator A A E E H H I I P P State State STATE STATE NAT NAT StreetAddressLine StreetAddressLine SAL SAL DIR DIR BNR BNR BNN BNN BNS BNS STR STR STB STB STTYP STTYP StreetName StreetName STR STR STB STB STTYP STTYP TelecommunicationAddressUse TelecommunicationAddressUse AS AS BAD BAD DIR DIR EC EC H H HP HP HV HV MC MC PG PG PUB PUB TMP TMP WP WP TemporallyPertains TemporallyPertains SAS SAS TextMediaType TextMediaType textHtml text/html textPlain text/plain textRtf text/rtf textSgml text/sgml textXHl7Ft text/x-hl7-ft textXml text/xml TimingEvent TimingEvent AC AC ACD ACD ACM ACM ACV ACV HS HS IC IC ICD ICD ICM ICM ICV ICV PC PC PCD PCD PCM PCM PCV PCV Unknown Unknown UNK UNK NASK NASK TRC TRC ASKU ASKU NAV NAV URLScheme URLScheme fax fax file file ftp ftp http http mailto mailto mllp mllp modem modem nfs nfs tel tel telnet telnet VideoMediaType VideoMediaType videoMpeg video/mpeg videoXAvi video/x-avi WorkPlaceAddressUse WorkPlaceAddressUse WP WP DIR DIR PUB PUB XActClassDocumentEntryAct XActClassDocumentEntryAct ACCM ACCM ACT ACT CONS CONS CTTEVENT CTTEVENT INC INC INFRM INFRM PCPR PCPR REG REG SPCTRT SPCTRT XActClassDocumentEntryOrganizer XActClassDocumentEntryOrganizer BATTERY BATTERY CLUSTER CLUSTER XActMoodDefEvn XActMoodDefEvn DEF DEF EVN EVN XActMoodDefEvnRqoPrmsPrp XActMoodDefEvnRqoPrmsPrp DEF DEF EVN EVN PRMS PRMS PRP PRP RQO RQO XActMoodDocumentObservation XActMoodDocumentObservation DEF DEF EVN EVN GOL GOL INT INT PRMS PRMS PRP PRP RQO RQO XActMoodEvnOrdPrmsPrp XActMoodEvnOrdPrmsPrp EVN EVN PRMS PRMS PRP PRP RQO RQO XActMoodIntentEvent XActMoodIntentEvent EVN EVN INT INT APT APT ARQ ARQ PRMS PRMS PRP PRP RQO RQO SLOT SLOT XActMoodOrdPrms XActMoodOrdPrms PRMS PRMS RQO RQO XActMoodOrdPrmsEvn XActMoodOrdPrmsEvn EVN EVN PRMS PRMS RQO RQO XActMoodRqoPrpAptArq XActMoodRqoPrpAptArq APT APT ARQ ARQ PRP PRP RQO RQO XActRelationshipDocument XActRelationshipDocument APND APND RPLC RPLC XFRM XFRM XActRelationshipEntry XActRelationshipEntry COMP COMP DRIV DRIV XActRelationshipEntryRelationship XActRelationshipEntryRelationship CAUS CAUS COMP COMP GEVL GEVL MFST MFST REFR REFR RSON RSON SAS SAS SPRT SPRT SUBJ SUBJ XCRPT XCRPT XActRelationshipExternalReference XActRelationshipExternalReference ELNK ELNK REFR REFR RPLC RPLC SPRT SPRT SUBJ SUBJ XCRPT XCRPT XActRelationshipPatientTransport XActRelationshipPatientTransport ARR ARR DEP DEP XActRelationshipPertinentInfo XActRelationshipPertinentInfo SPRT SPRT CAUS CAUS MFST MFST REFR REFR SUBJ SUBJ XDeterminerInstanceKind XDeterminerInstanceKind KIND KIND INSTANCE INSTANCE XDocumentActMood XDocumentActMood APT APT ARQ ARQ DEF DEF EVN EVN INT INT PRMS PRMS PRP PRP RQO RQO XDocumentEncounterMood XDocumentEncounterMood APT APT ARQ ARQ EVN EVN INT INT PRMS PRMS PRP PRP RQO RQO XDocumentEntrySubject XDocumentEntrySubject SPEC SPEC PAT PAT PRS PRS XDocumentProcedureMood XDocumentProcedureMood APT APT ARQ ARQ DEF DEF EVN EVN INT INT PRMS PRMS PRP PRP RQO RQO XDocumentSubject XDocumentSubject PAT PAT PRS PRS XDocumentSubstanceMood XDocumentSubstanceMood EVN EVN INT INT PRMS PRMS PRP PRP RQO RQO XEncounterParticipant XEncounterParticipant ADM ADM ATND ATND CON CON DIS DIS REF REF XEncounterPerformerParticipation XEncounterPerformerParticipation PRF PRF CON CON SPRF SPRF XEntityClassDocumentReceiving XEntityClassDocumentReceiving HCE HCE PSN PSN NAT NAT ORG ORG PUB PUB STATE STATE XEntityClassPersonOrOrgReceiving XEntityClassPersonOrOrgReceiving PSN PSN NAT NAT ORG ORG PUB PUB STATE STATE XInformationRecipient XInformationRecipient PRCP PRCP TRC TRC XInformationRecipientRole XInformationRecipientRole ASSIGNED ASSIGNED HLTHCHRT HLTHCHRT XOrganizationNamePartType XOrganizationNamePartType DEL DEL PFX PFX SFX SFX XParticipationAuthorPerformer XParticipationAuthorPerformer PRF PRF AUT AUT XParticipationEntVrf XParticipationEntVrf VRF VRF ENT ENT XParticipationPrfEntVrf XParticipationPrfEntVrf PRF PRF VRF VRF ENT ENT XParticipationVrfRespSprfWit XParticipationVrfRespSprfWit VRF VRF RESP RESP SPRF SPRF WIT WIT XPersonNamePartType XPersonNamePartType DEL DEL FAM FAM GIV GIV PFX PFX SFX SFX XRoleClassAccommodationRequestor XRoleClassAccommodationRequestor AGNT AGNT PAT PAT PROV PROV PRS PRS XRoleClassCoverage XRoleClassCoverage COVPTY COVPTY POLHOLD POLHOLD SPNSR SPNSR UNDWRT UNDWRT XRoleClassCoverageInvoice XRoleClassCoverageInvoice PAYEE PAYEE PAYOR PAYOR XRoleClassCredentialedEntity XRoleClassCredentialedEntity ASSIGNED ASSIGNED QUAL QUAL LIC LIC NOT NOT PROV PROV XRoleClassPayeePolicyRelationship XRoleClassPayeePolicyRelationship COVPTY COVPTY GUAR GUAR POLHOLD POLHOLD PROV PROV PRS PRS XServiceEventPerformer XServiceEventPerformer PRF PRF PPRF PPRF SPRF SPRF NullFlavor NullFlavor ASKU ASKU MSK MSK NA NA NASK NASK NAV NAV NI NI NINF NINF OTH OTH PINF PINF TRC TRC UNK UNK NP NP OP OP xdlab XDLABSpec RootTemplate TemplateSpec RootTemplate 1.3.6.1.4.1.19376.1.3.3 cdalab-POCDMT000040ClinicalDocument constraint_realmCode realmCode SHALL be present and is valued from the RealmOfUse [2.16.840.1.113883.1.11.11050] subset, within the VocabularyDomainQualifier value set (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.3) (not self.realmCode->isEmpty()) and self.realmCode->forAll(cs : CS | (not cs.code.oclIsUndefined()) and (not (cs.code=''))) ERROR constraint_typeId typeId SHALL be present and valued as follows:ClinicalDocument/typeId@root = 2.16.840.1.113883.1.3, ClinicalDocument.typeId@extension = POCD_HD000040 (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.4) (not self.typeId.oclIsUndefined()) and (not self.typeId.root.oclIsUndefined()) and self.typeId.root='2.16.840.1.113883.1.3' and (not self.typeId.extension.oclIsUndefined()) and self.typeId.extension='POCD_HD000040' ERROR constraint_Id ClinicalDocument/Id SHALL be present (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.6) (not self.id.oclIsUndefined()) and (not self.id.root.oclIsUndefined()) and (not (self.id.root='')) ERROR constraint_code1 ClinicalDocument/code SHALL be present (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.7) not self.code.oclIsUndefined() and (not self.code.code.oclIsUndefined()) ERROR constraint_code2 The laboratory report can be either a multi-disciplinary report or a single discipline report (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.7) self.code.oclIsUndefined() or ( (not self.code.codeSystem.oclIsUndefined()) and self.code.codeSystem='2.16.840.1.113883.6.1' and (not self.code.codeSystemName.oclIsUndefined()) and self.code.codeSystemName='LOINC' and (not self.code.code.oclIsUndefined()) and self.code.code='11502-2' and (not self.code.displayName.oclIsUndefined()) and self.code.displayName='LABORATORY REPORT.TOTAL' ) or self.code.matchesValueSet('1.3.6.1.4.1.12559.11.4.4.1', self.code.code, self.code.codeSystem, self.code.codeSystemName, self.code.displayName) ERROR constraint_effectiveTime ClinicalDocument/effectiveTime SHALL be present (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.8) (not self.effectiveTime.oclIsUndefined()) and (not self.effectiveTime.value.oclIsUndefined()) and (not (self.effectiveTime.value='')) ERROR constraint_confidentialityCode ClinicalDocument/confidentialityCode SHALL be present in accordance with the HL7 CDA R2 standard (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.9) (not self.confidentialityCode.oclIsUndefined()) and (not self.confidentialityCode.code.oclIsUndefined()) and (not self.confidentialityCode.codeSystem.oclIsUndefined()) and self.confidentialityCode.matchesValueSet('1.3.6.1.4.1.12559.11.4.3.3',self.confidentialityCode.code, self.confidentialityCode.codeSystem, self.confidentialityCode.codeSystemName, self.confidentialityCode.displayName) ERROR connstraint_languageCode ClinicalDocument/languageCode SHALL be present in accordance with the HL7 CDA R2 standard (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.10) (not self.languageCode.oclIsUndefined()) and (not self.languageCode.code.oclIsUndefined()) ERROR constraint_setId ClinicalDocument/setId SHALL be present to enable further updates of the clinical document (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.11) (not self.setId.oclIsUndefined()) and (not self.setId.root.oclIsUndefined()) ERROR constraint_versionNumber ClinicalDocument/versionNumber MAY be present (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.12) (not self.versionNumber.oclIsUndefined()) and (not self.versionNumber.value.oclIsUndefined()) INFO constraint_recordTarget1 ClinicalDocument/recordTarget SHALL be present (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.13) self.recordTarget->size()>0 ERROR constraint_recordTarget2 ClinicalDocument/recordTarget SHALL conform to the Human Patient, Non-Human Subject or Human Patient with Non-Human Subject templates (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.13) self.recordTarget->forAll(rt : POCDMT000040RecordTarget | ( (rt.templateId->size()=1) and (not rt.templateId->first().root.oclIsUndefined()) and (rt.templateId->first().root='1.3.6.1.4.1.19376.1.3.3.1.2' or rt.templateId->first().root='1.3.6.1.4.1.19376.1.3.3.1.3') ) or ( rt.templateId->size()=0 ) ) ERROR constraint_NonHumanSubject if non human subject are recorded, it SHALL be represented in a Subject element in level 3 entries in the structuredBody as described in (2.3.5.3) (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.13.2) self.recordTarget->select(rt : POCDMT000040RecordTarget | (not rt.templateId->isEmpty()) and rt.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.3.3.1.2' ) )->size()=0 or ( (not self.component.oclIsUndefined()) and (not self.component.structuredBody.oclIsUndefined()) and (not self.component.structuredBody.component->isEmpty()) and self.component.structuredBody.component->exists(comp : POCDMT000040Component3 | (not comp.section.oclIsUndefined()) and ( comp.section.entry->exists(entr : POCDMT000040Entry | (not entr.act.oclIsUndefined()) and (not entr.act.subject.oclIsUndefined()) and (not entr.act.subject.templateId->isEmpty()) and entr.act.subject.templateId->exists(tm : II | (not tm.root.oclIsUndefined()) and tm.root='1.3.6.1.4.1.19376.1.3.3.1.2.1' ) ) or ( comp.section.component->exists(comp2 : POCDMT000040Component5 | (not comp.section.oclIsUndefined()) and comp.section.entry->exists(entr : POCDMT000040Entry | (not entr.act.oclIsUndefined()) and (not entr.act.subject.oclIsUndefined()) and (not entr.act.subject.templateId->isEmpty()) and entr.act.subject.templateId->exists(tm : II | (not tm.root.oclIsUndefined()) and tm.root='1.3.6.1.4.1.19376.1.3.3.1.2.1' ) ) ) ) ) ) ) ERROR constraint_NonHumanSubjectAndHumanPatient if non human subject are recorded with human patient, it SHALL be represented in a Subject element in level 3 entries in the structuredBody as described in (2.3.5.4) (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.13.3) self.recordTarget->select(rt : POCDMT000040RecordTarget | (not rt.templateId->isEmpty()) and rt.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.3.3.1.3' ) )->size()=0 or ( (not self.component.oclIsUndefined()) and (not self.component.structuredBody.oclIsUndefined()) and (not self.component.structuredBody.component->isEmpty()) and self.component.structuredBody.component->exists(comp : POCDMT000040Component3 | (not comp.section.oclIsUndefined()) and ( comp.section.entry->exists(entr : POCDMT000040Entry | (not entr.act.oclIsUndefined()) and (not entr.act.subject.oclIsUndefined()) and (not entr.act.subject.templateId->isEmpty()) and entr.act.subject.templateId->exists(tm : II | (not tm.root.oclIsUndefined()) and tm.root='1.3.6.1.4.1.19376.1.3.3.1.3.1' ) ) or ( comp.section.component->exists(comp2 : POCDMT000040Component5 | (not comp.section.oclIsUndefined()) and comp.section.entry->exists(entr : POCDMT000040Entry | (not entr.act.oclIsUndefined()) and (not entr.act.subject.oclIsUndefined()) and (not entr.act.subject.templateId->isEmpty()) and entr.act.subject.templateId->exists(tm : II | (not tm.root.oclIsUndefined()) and tm.root='1.3.6.1.4.1.19376.1.3.3.1.3.1' ) ) ) ) ) ) ) ERROR constraint_author At least one ClinicalDocument/author SHALL be present with a time (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.14) (not self.author->isEmpty()) and self.author->exists(auth : POCDMT000040Author | (not auth.time.oclIsUndefined()) and (not auth.time.value.oclIsUndefined())) ERROR constraint_author_name author, in accordance with the HL7 CDA R2 standard requires the presence of name (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.14) self.author->forAll(auth : POCDMT000040Author | (not auth.assignedAuthor.oclIsUndefined()) and ( (not auth.assignedAuthor.assignedPerson.oclIsUndefined()) and (not auth.assignedAuthor.assignedPerson.name->isEmpty()) ) or ( (not auth.assignedAuthor.assignedAuthoringDevice.oclIsUndefined()) and ( (not auth.assignedAuthor.assignedAuthoringDevice.softwareName.oclIsUndefined()) or (not auth.assignedAuthor.assignedAuthoringDevice.manufacturerModelName.oclIsUndefined()) ) ) ) ERROR constraint_author_addr author, in accordance with the HL7 CDA R2 standard requires the presence of addr (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.14) self.author->forAll(auth : POCDMT000040Author | (not auth.assignedAuthor.oclIsUndefined()) and (not auth.assignedAuthor.addr->isEmpty()) ) ERROR constraint_author_telecom author, in accordance with the HL7 CDA R2 standard requires the presence of telecom (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.14) self.author->forAll(auth : POCDMT000040Author | (not auth.assignedAuthor.oclIsUndefined()) and (not auth.assignedAuthor.telecom->isEmpty()) ) ERROR constraint_custodian ClinicalDocument/custodian SHALL be present (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.15) (not self.custodian.oclIsUndefined()) ERROR constraint_custodian_id custodian id shall be present (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.15) (not self.custodian.oclIsUndefined()) and (not self.custodian.assignedCustodian.oclIsUndefined()) and (not self.custodian.assignedCustodian.representedCustodianOrganization.oclIsUndefined()) and (not self.custodian.assignedCustodian.representedCustodianOrganization.id->isEmpty()) ERROR constraint_custodian_name custodian, in accordance with the HL7 CDA R2 standard requires the presence of name (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.15) (not self.custodian.oclIsUndefined()) and (not self.custodian.assignedCustodian.oclIsUndefined()) and (not self.custodian.assignedCustodian.representedCustodianOrganization.oclIsUndefined()) and (not self.custodian.assignedCustodian.representedCustodianOrganization.name.oclIsUndefined()) ERROR constraint_custodian_addr custodian, in accordance with the HL7 CDA R2 standard requires the presence of addr (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.15) (not self.custodian.oclIsUndefined()) and (not self.custodian.assignedCustodian.oclIsUndefined()) and (not self.custodian.assignedCustodian.representedCustodianOrganization.oclIsUndefined()) and (not self.custodian.assignedCustodian.representedCustodianOrganization.addr.oclIsUndefined()) ERROR constraint_custodian_telecom custodian, in accordance with the HL7 CDA R2 standard requires the presence of telecom (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.15) (not self.custodian.oclIsUndefined()) and (not self.custodian.assignedCustodian.oclIsUndefined()) and (not self.custodian.assignedCustodian.representedCustodianOrganization.oclIsUndefined()) and (not self.custodian.assignedCustodian.representedCustodianOrganization.telecom.oclIsUndefined()) ERROR constraint_intendedRecipient ClinicalDocument/informationRecipient MAY be present (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.16) not self.informationRecipient->isEmpty() INFO constraint_intendedRecipient_templateId informationRecipient when present must have the templateId 1.3.6.1.4.1.19376.1.3.3.1.4 (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.16) (self.informationRecipient->isEmpty()) or self.informationRecipient->forAll(ir : POCDMT000040InformationRecipient | (not ir.templateId->isEmpty()) and ir.templateId->exists(ii : II | ii.root='1.3.6.1.4.1.19376.1.3.3.1.4') ) ERROR constraint_legalAuthenticator ClinicalDocument/legalAuthenticator MAY be present (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.17) not self.legalAuthenticator.oclIsUndefined() INFO constraint_legalAuthenticator_name legalAuthenticator, in accordance with the HL7 CDA R2 standard requires the presence of name (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.17) self.legalAuthenticator.oclIsUndefined() or ( (not self.legalAuthenticator.assignedEntity.oclIsUndefined()) and (not self.legalAuthenticator.assignedEntity.assignedPerson.oclIsUndefined()) and (not self.legalAuthenticator.assignedEntity.assignedPerson.name->isEmpty()) ) ERROR constraint_legalAuthenticator_addr legalAuthenticator, in accordance with the HL7 CDA R2 standard requires the presence of addr (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.17) self.legalAuthenticator.oclIsUndefined() or ( (not self.legalAuthenticator.assignedEntity.oclIsUndefined()) and (not self.legalAuthenticator.assignedEntity.addr->isEmpty()) ) ERROR constraint_legalAuthenticator_telecom legalAuthenticator, in accordance with the HL7 CDA R2 standard requires the presence of telecom (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.17) self.legalAuthenticator.oclIsUndefined() or ( (not self.legalAuthenticator.assignedEntity.oclIsUndefined()) and (not self.legalAuthenticator.assignedEntity.telecom->isEmpty()) ) ERROR constraint_authenticator The ClinicalDocument/authenticator element MAY be present (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.18) (not self.authenticator->isEmpty()) INFO constraint_multiple_authenticator In the case of multiple validators, each individual validator SHALL be associated with the particular sections of the report he or she validated (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.18) if (self.authenticator->size()>1) then self.component.oclIsUndefined() or self.component.structuredBody.oclIsUndefined() or self.component.structuredBody.component->forAll(comp : POCDMT000040Component3 | comp.section.oclIsUndefined() or (comp.section.component->isEmpty()) or comp.section.component->forAll(comp2 : POCDMT000040Component5 | comp2.section.oclIsUndefined() or comp2.section.entry->forAll(entr : POCDMT000040Entry | entr.act.oclIsUndefined() or entr.act.entryRelationship->forAll(entrr : POCDMT000040EntryRelationship | entrr.observation.oclIsUndefined() or entrr.observation.participant->exists(part : POCDMT000040Participant2 | (not part.typeCode.oclIsUndefined()) and part.typeCode=ParticipationType::AUTHEN and (not part.participantRole.oclIsUndefined()) and part.participantRole.id->exists(ip : II | self.authenticator->exists(auth : POCDMT000040Authenticator | (not auth.assignedEntity.oclIsUndefined()) and (not auth.assignedEntity.id->isEmpty()) and auth.assignedEntity.id->exists(id1 : II | ((id1.root.oclIsUndefined()) or id1.root=ip.root) and ((id1.extension.oclIsUndefined()) or id1.extension=ip.extension) and ( (not id1.root.oclIsUndefined()) or (not id1.extension.oclIsUndefined()) ) ) ) ) ) ) ) ) -- to be completed with check on specialty sections ) else true endif -- if authenticator are multiple, then for each section, if a participant appear in an observation with typeCode=AUTHEN, it shall correspond to one authenticaotr on the header ERROR constraint_participant ClinicalDocument/participant(s) MAY be present (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.20) not self.participant->isEmpty() INFO constraint_participant_template when present, participant shall have the template 1.3.6.1.4.1.19376.1.3.3.1.6 (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.20) self.participant->forAll(part : POCDMT000040Participant1 | part.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.3.3.1.6' )) ERROR constraint_infulfillmentOf The inFulfillmentOf/order element MAY be present (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.20) not self.inFulfillmentOf->isEmpty() INFO constraint_inFulfillmentOfId inFulfillmentOf/order/id is required, It represents the Placer Order or the Placer Group that was fulfilled (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.20) self.inFulfillmentOf->forAll((not order.oclIsUndefined()) and (not order.id->isEmpty()) ) ERROR constraint_documentationOf ClinicalDocument/documentationOf(s) MAY be present (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.21) (not self.documentationOf->isEmpty()) INFO constraint_documentationOf_effectiveTime Use of sub element documentationOf/serviceEvent/effectiveTime to document the time boundaries of events in the document is appropriate (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.21) self.documentationOf->forAll(doc : POCDMT000040DocumentationOf | (not doc.serviceEvent.oclIsUndefined()) and (not doc.serviceEvent.effectiveTime.oclIsUndefined()) ) WARNING constraint_laboratory_performer Laboratory Performers MAY be present (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.22) (not self.documentationOf->isEmpty()) and self.documentationOf->forAll(doc : POCDMT000040DocumentationOf | (not doc.serviceEvent.oclIsUndefined()) and (not doc.serviceEvent.performer->isEmpty()) ) INFO constraint_singlePerformer the number of performer on ClinicalDocument/documentationOf/serviceEvent shall not be more than one, otherwise the performer must be present on the body (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.22) self.documentationOf->forAll(doc : POCDMT000040DocumentationOf | (not doc.serviceEvent.oclIsUndefined()) and (doc.serviceEvent.performer->size()<2) ) and (self.documentationOf->select(doc : POCDMT000040DocumentationOf | (not doc.serviceEvent.oclIsUndefined()) and (doc.serviceEvent.performer->size()=1) )->size()<2) ERROR constraint_relatedDocument ClinicalDocument/relatedDocument/parentDocument SHALL be present in case of an update replacement of a previous report. In this case relatedDocument@typeCode attribute SHALL be valued RPLC (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.23) (not self.relatedDocument->isEmpty()) and self.relatedDocument->forAll(doc : POCDMT000040RelatedDocument | (not doc.parentDocument.oclIsUndefined()) and doc.parentDocument.id->exists(ii : II | (not ii.root.oclIsUndefined()) ) and (not doc.typeCode.oclIsUndefined()) and doc.typeCode=XActRelationshipDocument::RPLC ) WARNING constraint_encompassingEncounter The ClinicalDocument/componentOf/encompassingEncounter element MAY be present (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.24) (not self.componentOf.oclIsUndefined()) and (not self.componentOf.encompassingEncounter.oclIsUndefined()) INFO constraint_encompassingEncounter_id When present the encounter SHALL be identified with an id element: encompassingEncounter/id (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.24) self.componentOf.oclIsUndefined() or self.componentOf.encompassingEncounter.oclIsUndefined() or ( (self.componentOf.encompassingEncounter.id->size()>0) and self.componentOf.encompassingEncounter.id->exists(ii : II | (not ii.root.oclIsUndefined())) ) ERROR constraint_encompassingEncounter_effectiveTime When present the encounter SHALL have an effective time that represents the time interval of the encounter (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.24) self.componentOf.oclIsUndefined() or self.componentOf.encompassingEncounter.oclIsUndefined() or ( (not self.componentOf.encompassingEncounter.effectiveTime.oclIsUndefined()) ) ERROR constraint_encompassingEncounter_entityName When present, encounter participants SHALL be in accordance with the HL7 CDA R2 standard with a name (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.24) self.componentOf.oclIsUndefined() or self.componentOf.encompassingEncounter.oclIsUndefined() or self.componentOf.encompassingEncounter.encounterParticipant->isEmpty() or self.componentOf.encompassingEncounter.encounterParticipant->forAll(encp : POCDMT000040EncounterParticipant | (not encp.assignedEntity.oclIsUndefined()) and (not encp.assignedEntity.assignedPerson.oclIsUndefined()) and (not encp.assignedEntity.assignedPerson.name->isEmpty()) ) ERROR constraint_encompassingEncounter_entityaddr When present, encounter participants SHALL be in accordance with the HL7 CDA R2 standard with a addr (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.24) self.componentOf.oclIsUndefined() or self.componentOf.encompassingEncounter.oclIsUndefined() or self.componentOf.encompassingEncounter.encounterParticipant->isEmpty() or self.componentOf.encompassingEncounter.encounterParticipant->forAll(encp : POCDMT000040EncounterParticipant | (not encp.assignedEntity.oclIsUndefined()) and (not encp.assignedEntity.addr->isEmpty()) ) ERROR constraint_encompassingEncounter_entityTelecom When present, encounter participants SHALL be in accordance with the HL7 CDA R2 standard with a telecom (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.24) self.componentOf.oclIsUndefined() or self.componentOf.encompassingEncounter.oclIsUndefined() or self.componentOf.encompassingEncounter.encounterParticipant->isEmpty() or self.componentOf.encompassingEncounter.encounterParticipant->forAll(encp : POCDMT000040EncounterParticipant | (not encp.assignedEntity.oclIsUndefined()) and (not encp.assignedEntity.telecom->isEmpty()) ) ERROR constraint_encompassingEncounter_entityTime When present, encounter participants SHALL be in accordance with the HL7 CDA R2 standard with a time (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.24) self.componentOf.oclIsUndefined() or self.componentOf.encompassingEncounter.oclIsUndefined() or self.componentOf.encompassingEncounter.encounterParticipant->isEmpty() or self.componentOf.encompassingEncounter.encounterParticipant->forAll(encp : POCDMT000040EncounterParticipant | (not encp.time.oclIsUndefined()) ) ERROR constraint_encompassingEncounter_typeCode When present, encounter participants SHALL have a typeCode (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.24) self.componentOf.oclIsUndefined() or self.componentOf.encompassingEncounter.oclIsUndefined() or self.componentOf.encompassingEncounter.encounterParticipant->isEmpty() or self.componentOf.encompassingEncounter.encounterParticipant->forAll(encp : POCDMT000040EncounterParticipant | (not encp.typeCode.oclIsUndefined()) ) ERROR constraint_structuredBody A laboratory report SHALL have a structuredBody (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.4) (not self.component.oclIsUndefined()) and (not self.component.structuredBody.oclIsUndefined()) ERROR sonstraint_sections_level This body is organized as a tree of up to two levels of sections (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.4) (self.component.oclIsUndefined()) or (self.component.structuredBody.oclIsUndefined()) or (self.component.structuredBody.component->isEmpty()) or self.component.structuredBody.component->forAll(comp1 : POCDMT000040Component3 | comp1.section.oclIsUndefined() or comp1.section.component->isEmpty() or comp1.section.component->forAll(comp2 : POCDMT000040Component5 | comp2.section.oclIsUndefined() or comp2.section.component->isEmpty() ) ) ERROR constraint_required_sections Every Laboratory Report SHALL contain at least one Laboratory Specialty Section (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.4, 2.3.4.1.1) (not self.component.oclIsUndefined()) and ( not self.component.structuredBody.oclIsUndefined()) and (not self.component.structuredBody.component->isEmpty()) and self.component.structuredBody.component->exists(comp : POCDMT000040Component3 | (not comp.section.oclIsUndefined()) and comp.section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.3.3.2.1' ) ) ERROR constraint_entry_performer Entry/act/performer must be present only to supersede those recorded at higher level (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.2, Table 2.3.5.2-1) self.component.oclIsUndefined() or self.component.structuredBody.oclIsUndefined() or self.component.structuredBody.component->isEmpty() or self.component.structuredBody.component->forAll(comp : POCDMT000040Component3 | comp.section.oclIsUndefined() or ( comp.section.entry->forAll(entr : POCDMT000040Entry | (entr.act.oclIsUndefined()) or (entr.act.performer->isEmpty()) or entr.act.performer->forAll(perf : POCDMT000040Performer2 | (not perf.assignedEntity.oclIsUndefined()) and (not perf.assignedEntity.id->isEmpty()) and (not perf.typeCode.oclIsUndefined()) and perf.typeCode=ParticipationPhysicalPerformer::PRF and ( self.documentationOf->isEmpty() or self.documentationOf->select(doc : POCDMT000040DocumentationOf| (not doc.serviceEvent.oclIsUndefined()) and doc.serviceEvent.performer->exists(perf1 : POCDMT000040Performer1 | (not perf1.assignedEntity.oclIsUndefined()) and perf1.assignedEntity.id->exists(ii : II | perf.assignedEntity.id->exists(io : II | ((io.root.oclIsUndefined()) or io.root=ii.root) and ((io.extension.oclIsUndefined()) or io.extension=ii.extension) and ((not io.extension.oclIsUndefined()) or (not io.root.oclIsUndefined())) ) ) ) )->size()=0 ) ) ) and comp.section.component->forAll(comp : POCDMT000040Component5 | comp.section.oclIsUndefined() or comp.section.entry->isEmpty() or comp.section.entry->forAll(entr : POCDMT000040Entry | (entr.act.oclIsUndefined()) or (entr.act.performer->isEmpty()) or entr.act.performer->forAll(perf : POCDMT000040Performer2 | (not perf.assignedEntity.oclIsUndefined()) and (not perf.assignedEntity.id->isEmpty()) and (not perf.typeCode.oclIsUndefined()) and perf.typeCode=ParticipationPhysicalPerformer::PRF and ( self.documentationOf->isEmpty() or self.documentationOf->select(doc : POCDMT000040DocumentationOf| (not doc.serviceEvent.oclIsUndefined()) and doc.serviceEvent.performer->exists(perf1 : POCDMT000040Performer1 | (not perf1.assignedEntity.oclIsUndefined()) and perf1.assignedEntity.id->exists(ii : II | perf.assignedEntity.id->exists(io : II | ((io.root.oclIsUndefined()) or io.root=ii.root) and ((io.extension.oclIsUndefined()) or io.extension=ii.extension) and ((not io.extension.oclIsUndefined()) or (not io.root.oclIsUndefined())) ) ) ) )->size()=0 ) ) ) ) ) ) -- if comp.section.entry.performer exists, it shall have typeCode=PRF and it shall be different from performers already declared on the header ERROR constraint_entry_author Entry/act/author used if different from the author of the header, to supersede it for this section (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.2, Table 2.3.5.2-1) (self.author->size()>1) or ( self.component.oclIsUndefined() or self.component.structuredBody.oclIsUndefined() or self.component.structuredBody.component->isEmpty() or self.component.structuredBody.component->forAll(comp : POCDMT000040Component3 | comp.section.oclIsUndefined() or ( ( comp.section.entry->isEmpty() or comp.section.entry->forAll(entr : POCDMT000040Entry | (entr.act.oclIsUndefined()) or entr.act.author->isEmpty() or entr.act.author->forAll(auth : POCDMT000040Author | (not auth.assignedAuthor.oclIsUndefined()) and (not auth.assignedAuthor.id->isEmpty()) and auth.assignedAuthor.id->select(ii : II | self.author->select(autho : POCDMT000040Author | (not autho.assignedAuthor.oclIsUndefined()) and autho.assignedAuthor.id->exists(i2 : II | ((i2.root.oclIsUndefined()) or i2.root=ii.root) and ((i2.extension.oclIsUndefined()) or i2.extension=ii.extension) and ((not i2.extension.oclIsUndefined()) or (not i2.root.oclIsUndefined())) ) )->size()=0 )->size()>0 ) ) ) and ( comp.section.component->forAll(comp2 : POCDMT000040Component5 | comp2.section.oclIsUndefined() or comp2.section.entry->isEmpty() or comp2.section.entry->forAll(entr2 : POCDMT000040Entry | (entr2.act.oclIsUndefined()) or entr2.act.author->isEmpty() or entr2.act.author->forAll(auth2 : POCDMT000040Author | (not auth2.assignedAuthor.oclIsUndefined()) and (not auth2.assignedAuthor.id->isEmpty()) and auth2.assignedAuthor.id->select(i3 : II | self.author->select(autho2 : POCDMT000040Author | (not autho2.assignedAuthor.oclIsUndefined()) and autho2.assignedAuthor.id->exists(i2 : II | ((i2.root.oclIsUndefined()) or i2.root=i3.root) and (i2.extension.oclIsUndefined() or i2.extension=i3.extension) and ((not i2.extension.oclIsUndefined()) or (not i2.root.oclIsUndefined())) ) )->size()=0 )->size()>0 ) ) ) ) ) ) ) ERROR constraint_NHSubjR2 Non human subject recordTarget is required if known (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.1, Table 2.3.1-1) self.recordTarget->exists(rt : POCDMT000040RecordTarget | rt.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.3.3.1.2' ) ) WARNING constraint_HPwithNHS Human (Patient) paired with Non-Human Subject template in the CDA header required if known (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.1, Table 2.3.1-1) self.recordTarget->exists(rt : POCDMT000040RecordTarget | rt.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.3.3.1.3' ) ) WARNING constraint_labspecR Laboratory Specialty Section template in the CDA body required (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.1, Table 2.3.1-1) (not self.component.oclIsUndefined()) and (not self.component.structuredBody.oclIsUndefined()) and self.component.structuredBody.component->forAll(comp : POCDMT000040Component3| (not comp.section.oclIsUndefined()) and comp.section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.3.3.2.1') ) ERROR constraint_validator_ref if participant has a typeCode=REF, it shall have a templateId=1.3.6.1.4.1.19376.1.3.3.1.6 (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.19) self.participant->forAll(part : POCDMT000040Participant1 | part.typeCode.oclIsUndefined() or (not (part.typeCode=ParticipationType::REF)) or part.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.3.3.1.6') ) ERROR XDLabSpec ConstraintsSpec XDLabSpec cdalab-POCDMT000040ClinicalDocument constraint_templateId The templateId SHALL be present and valued to 1.3.6.1.4.1.19376.1.3.3 (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.5) (not self.templateId->isEmpty()) and self.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.3.3') ERROR HumanPatientRT ConstraintsSpec HumanPatientRT cda-POCDMT000040RecordTarget constraint_name XD-LAB requires the presence of name for all entities in the document including the human patient (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.13.1) (self.templateId->size()>0) or ( (not self.patientRole.oclIsUndefined()) and (not self.patientRole.patient.oclIsUndefined()) and (not self.patientRole.patient.name->isEmpty()) ) ERROR constraint_addr XD-LAB requires the presence of addr for all entities in the document including the human patient (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.13.1) (self.templateId->size()>0) or ( (not self.patientRole.oclIsUndefined()) and (not self.patientRole.addr->isEmpty()) ) ERROR constraint_telecom XD-LAB requires the presence of telecom for all entities in the document including the human patient (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.13.1) (self.templateId->size()>0) or ( (not self.patientRole.oclIsUndefined()) and (not self.patientRole.telecom->isEmpty()) ) ERROR constraint_id The patientRole/id SHALL be present (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.13.1) (self.templateId->size()>0) or ( (not self.patientRole.oclIsUndefined()) and (not self.patientRole.id->isEmpty()) ) ERROR constraint_administrativeGenderCode The patientRole/patient/administrativeGenderCode SHALL be present (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.13.1) (self.templateId->size()<>0) or ( (not self.patientRole.oclIsUndefined()) and (not self.patientRole.patient.oclIsUndefined()) and (not self.patientRole.patient.administrativeGenderCode.oclIsUndefined()) ) ERROR constraint_birthtime The patientRole/patient/birthTime SHALL be present (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.13.1) (self.templateId->size()<>0) or ( (not self.patientRole.oclIsUndefined()) and (not self.patientRole.patient.oclIsUndefined()) and (not self.patientRole.patient.birthTime.oclIsUndefined()) ) ERROR NonHumanSubjectRT TemplateSpec NonHumanSubjectRT 1.3.6.1.4.1.19376.1.3.3.1.2 cda-POCDMT000040RecordTarget constraint_templateId templateId SHALL have root=1.3.6.1.4.1.19376.1.3.3.1.2 (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.13.2) (self.templateId->size()=1) and (not self.templateId->first().root.oclIsUndefined()) and self.templateId->first().root='1.3.6.1.4.1.19376.1.3.3.1.2' ERROR constraint_id /patientRole/id SHALL be present and SHALL represent the id of the non-human subject (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.13.2) (not self.patientRole.oclIsUndefined()) and (self.patientRole.id->size()=1) and (not self.patientRole.id->first().root.oclIsUndefined()) ERROR constraint_patient The recordTarget/patientRole SHALL have a patient sub-element and its nullFlavor SHALL be set to OTH (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.13.2) (not self.patientRole.oclIsUndefined()) and (not self.patientRole.patient.oclIsUndefined()) and (not self.patientRole.patient.nullFlavor.oclIsUndefined()) and self.patientRole.patient.nullFlavor=NullFlavor::OTH ERROR HPatNHSubj TemplateSpec HPatNHSubj 1.3.6.1.4.1.19376.1.3.3.1.3 cda-POCDMT000040RecordTarget constraint_name XD-LAB requires the presence of name for all entities in the document including the human patient (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.13.3) (not self.patientRole.oclIsUndefined()) and (not self.patientRole.patient.oclIsUndefined()) and (not self.patientRole.patient.name->isEmpty()) ERROR constraint_addr XD-LAB requires the presence of addr for all entities in the document including the human patient (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.13.3) (not self.patientRole.oclIsUndefined()) and (not self.patientRole.addr->isEmpty()) ERROR constraint_telecom XD-LAB requires the presence of telecom for all entities in the document including the human patient (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.13.3) (not self.patientRole.oclIsUndefined()) and (not self.patientRole.telecom->isEmpty()) ERROR constraint_templateId The templateId SHALL have root=1.3.6.1.4.1.19376.1.3.3.1.3 (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.13.3) (self.templateId->size() = 1) and self.templateId->forAll(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.3.3.1.3') ERROR constraint_id recordTarget/patientRole/id SHALL be present. It SHALL be representative of the id of the human patient (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.13.3) (not self.patientRole.oclIsUndefined()) and (not self.patientRole.id->isEmpty()) ERROR constraint_administrativeGenderCode The patientRole/patient/administrativeGenderCode SHALL be present (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.13.3) (not self.patientRole.oclIsUndefined()) and (not self.patientRole.patient.oclIsUndefined()) and (not self.patientRole.patient.administrativeGenderCode.oclIsUndefined()) ERROR constraint_birthTime The patientRole/patient/birthTime SHALL be present (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.13.3) (not self.patientRole.oclIsUndefined()) and (not self.patientRole.patient.oclIsUndefined()) and (not self.patientRole.patient.birthTime.oclIsUndefined()) ERROR InformationRecipientT TemplateSpec InformationRecipientT 1.3.6.1.4.1.19376.1.3.3.1.4 cda-POCDMT000040InformationRecipient constraint_name XD-LAB requires the presence of name for all informationRecipient (on the informationRecipient and/or receivedOrganization) (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.16) (not self.intendedRecipient.oclIsUndefined()) and ( ( (not self.intendedRecipient.informationRecipient.oclIsUndefined()) and (not self.intendedRecipient.informationRecipient.name->isEmpty()) ) or ( (not self.intendedRecipient.receivedOrganization.oclIsUndefined()) and (not self.intendedRecipient.receivedOrganization.name->isEmpty()) ) ) ERROR constraint_addr XD-LAB requires the presence of addr for all informationRecipient (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.16) (not self.intendedRecipient.oclIsUndefined()) and (not self.intendedRecipient.addr->isEmpty()) ERROR constraint_telecom XD-LAB requires the presence of telecom for all informationRecipient (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.16) (not self.intendedRecipient.oclIsUndefined()) and (not (self.intendedRecipient.telecom->isEmpty()) ) ERROR AuthenticatorT TemplateSpec AuthenticatorT 1.3.6.1.4.1.19376.1.3.3.1.5 cda-POCDMT000040Authenticator constraint_name authenticator require the presence of name (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.18) (not self.assignedEntity.oclIsUndefined()) and (not self.assignedEntity.assignedPerson.oclIsUndefined()) and (not self.assignedEntity.assignedPerson.name->isEmpty()) ERROR constraint_addr authenticator require the presence of addr (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.18) (not self.assignedEntity.oclIsUndefined()) and (not self.assignedEntity.addr->isEmpty()) ERROR constraint_telecom authenticator require the presence of telecom (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.18) (not self.assignedEntity.oclIsUndefined()) and (not self.assignedEntity.telecom->isEmpty()) ERROR constraint_templateId The templateId SHALL have root=1.3.6.1.4.1.19376.1.3.3.1.5 (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.18) self.templateId->forAll(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.3.3.1.5') ERROR ParticipantOrderingProviderT TemplateSpec ParticipantOrderingProviderT 1.3.6.1.4.1.19376.1.3.3.1.6 cda-POCDMT000040Participant1 constraint_name participant require name attribute (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.19) (not self.associatedEntity.oclIsUndefined()) and ( ( (not self.associatedEntity.associatedPerson.oclIsUndefined()) and (not self.associatedEntity.associatedPerson.name->isEmpty()) ) or ( (not self.associatedEntity.scopingOrganization.oclIsUndefined()) and (not self.associatedEntity.scopingOrganization.name->isEmpty()) ) ) ERROR constraint_addr participant require addr attribute (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.19) (not self.associatedEntity.oclIsUndefined()) and ( (not self.associatedEntity.addr->isEmpty()) or ((not self.associatedEntity.scopingOrganization.oclIsUndefined()) and (not self.associatedEntity.scopingOrganization.addr->isEmpty())) ) ERROR constraint_telecom participant require telecom attribute (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.19) (not self.associatedEntity.oclIsUndefined()) and ( (not self.associatedEntity.telecom->isEmpty()) or ((not self.associatedEntity.scopingOrganization.oclIsUndefined()) and (not self.associatedEntity.scopingOrganization.telecom->isEmpty())) ) ERROR constraint_time participant require time attribute (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.19) not self.time.oclIsUndefined() ERROR LabPerformerT TemplateSpec LabPerformerT 1.3.6.1.4.1.19376.1.3.3.1.7 cda-POCDMT000040Performer1 constraint_time A Laboratory Performer, when present, SHALL be in accordance with the HL7 CDA R2 standard with a time element (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.22) not self.time.oclIsUndefined() ERROR constraint_name A Laboratory Performer, when present, SHALL be in accordance with the HL7 CDA R2 standaand require the presence of name (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.22) (not self.assignedEntity.oclIsUndefined()) and (not self.assignedEntity.assignedPerson.oclIsUndefined()) and (not self.assignedEntity.assignedPerson.name->isEmpty()) ERROR constraint_addr A Laboratory Performer, when present, SHALL be in accordance with the HL7 CDA R2 standaand require the presence of addr (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.22) (not self.assignedEntity.oclIsUndefined()) and (not self.assignedEntity.addr->isEmpty()) ERROR constraint_telecom A Laboratory Performer, when present, SHALL be in accordance with the HL7 CDA R2 standaand require the presence of telecom (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.3.22) (not self.assignedEntity.oclIsUndefined()) and (not self.assignedEntity.telecom->isEmpty()) ERROR SpecialtySection TemplateSpec SpecialtySection 1.3.6.1.4.1.19376.1.3.3.2.1 cdalab-POCDMT000040Section constraint_textORreport A top level section SHALL contain either on text block carrying all the text results produced for this specialty along with a single LaboratoryData Processing Entry or a set of Laboratory Report Item Sections (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.4) ( (not self.text.oclIsUndefined()) and (self.entry->size()=1) ) xor ( (self.component->size()>0) and self.component->exists(comp : POCDMT000040Component5 | (not comp.section.oclIsUndefined()) and comp.section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.3.3.2.2') ) ) ERROR constraint_code The Laboratory Specialty Sections use the LOINC codes defined as report subject identifier codes (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.4.1.1) (not self.code.oclIsUndefined()) and (not self.code.code.oclIsUndefined()) and self.code.matchesValueSet('1.3.6.1.4.1.12559.11.4.4.1', self.code.code, self.code.codeSystem, self.code.codeSystemName, self.code.displayName) ERROR constraint_specialty_section_nest Laboratory Specialty Sections SHALL NOT be nested (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.4.1.1) self.component->isEmpty() or self.component->forAll(comp : POCDMT000040Component5 | comp.section.oclIsUndefined() or comp.section.templateId->select(ii : II| (not ii.root.oclIsUndefined()) and (ii.root='1.3.6.1.4.1.19376.1.3.3.2.1'))->size()=0 ) ERROR constraint_title title MAY be present (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.4.1.2) not self.title.oclIsUndefined() INFO constraint_choiceLabReport if lab report item present, this Laboratory Specialty Section SHALL contain NEITHER a top level text NOR entry elements (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.4.1.2) self.component->isEmpty() or self.component->forAll(comp : POCDMT000040Component5 | comp.section.oclIsUndefined() or comp.section.templateId->select(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.3.3.2.2')->size()=0 ) or (self.text.oclIsUndefined() and self.entry->isEmpty() ) ERROR constraint_text_notnull if text and entry specified, the text must not be blank (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.4.1.2) not ( (not self.text.oclIsUndefined()) and (self.entry->size()=1) ) or ( (not self.text.br->isEmpty()) or (not self.text.content->isEmpty()) or (not self.text.footnote->isEmpty()) or (not self.text.footnoteRef->isEmpty()) or (not self.text.linkHtml->isEmpty()) or (not self.text.list->isEmpty()) or (not self.text.paragraph->isEmpty()) or (not self.text.renderMultiMedia->isEmpty()) or (not self.text.sub->isEmpty()) or (not self.text.sup->isEmpty()) or (not self.text.table->isEmpty()) ) ERROR constraint_entry_choice2 if text and entry specified, Laboratory Report Data Processing Entry SHALL be present with attribute typeCode=DRIV (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.4.1.2) not ( (not self.text.oclIsUndefined()) and (self.entry->size()=1) ) or ( self.entry->forAll(entr : POCDMT000040Entry | entr.typeCode=XActRelationshipEntry::DRIV) ) ERROR constraint_entry_choice2_codes When section is a Specialty Section, code of section/entry/act/ is a LOINC Specialty (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.2, Table 2.3.5.2-1) not ( (not self.text.oclIsUndefined()) and (self.entry->size()=1) ) or ( self.entry->forAll(entr : POCDMT000040Entry | entr.act.oclIsUndefined() or entr.act.code.oclIsUndefined() or entr.act.code.matchesValueSet('1.3.6.1.4.1.12559.11.4.4.1', entr.act.code.code, entr.act.code.codeSystem, entr.act.code.codeSystemName, entr.act.code.displayName) ) ) ERROR constraint_entryR Laboratory Data Processing Entry template in the CDA body required on a lab report CDA (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.1, Table 2.3.1-1) self.entry->exists(entr : POCDMT000040Entry | entr.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.3.1' ) ) or self.component->exists(comp : POCDMT000040Component5 | (not comp.section.oclIsUndefined()) and comp.section.entry->exists(entr : POCDMT000040Entry | entr.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.3.1' ) ) ) ERROR ReportItemSection TemplateSpec ReportItemSection 1.3.6.1.4.1.19376.1.3.3.2.2 cdalab-POCDMT000040Section constraint_entry_number Any leaf section SHALL contain a single Laboratory Data Processing Entry (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.4) self.entry->size()=1 ERROR constraint_code code is required (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.4.2) not self.code.oclIsUndefined() ERROR constraint_codeAttr The code, codeSystem, and displayName SHALL be present (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.4.2) (not self.code.oclIsUndefined()) and (not self.code.code.oclIsUndefined()) and (not self.code.codeSystem.oclIsUndefined()) and (not self.code.displayName.oclIsUndefined()) ERROR constraint_title title MAY be present (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.4.2) not self.title.oclIsUndefined() INFO constraint_text The Laboratory Report Item Section text SHALL be present and not blank (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.4.2) (not self.text.oclIsUndefined()) and ( (not self.text.br->isEmpty()) or (not self.text.content->isEmpty()) or (not self.text.footnote->isEmpty()) or (not self.text.footnoteRef->isEmpty()) or (not self.text.linkHtml->isEmpty()) or (not self.text.list->isEmpty()) or (not self.text.paragraph->isEmpty()) or (not self.text.renderMultiMedia->isEmpty()) or (not self.text.sub->isEmpty()) or (not self.text.sup->isEmpty()) or (not self.text.table->isEmpty()) ) ERROR constraint_entry The Laboratory Report Item Section SHALL contain a Lab Report Data Processing Entry with typeCode=DRIV (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.4.2, 2.3.5.1.1) (not self.entry->isEmpty()) and self.entry->forAll(entr : POCDMT000040Entry | (not entr.typeCode.oclIsUndefined()) and entr.typeCode=XActRelationshipEntry::DRIV ) ERROR constraint_entry_template The Laboratory Report Item Section SHALL contain only one Lab Report Data Processing Entry and its root is root=1.3.6.1.4.1.19376.1.3.1 (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.4.2, 2.3.5.2) (not self.entry->isEmpty()) and (self.entry->size()=1) and self.entry->forAll(entr : POCDMT000040Entry | (not entr.typeCode.oclIsUndefined()) and entr.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.3.1' ) ) ERROR LabReportDPEntry TemplateSpec LabReportDPEntry 1.3.6.1.4.1.19376.1.3.1 cdalab-POCDMT000040Entry constraint_act The entry SHALL contain a single act sub-element (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.2) not self.act.oclIsUndefined() ERROR constraint_labobservation The Specimen Act shall contain at least one Laboratory Observation (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.2) (not self.act.oclIsUndefined()) and self.act.entryRelationship->exists(entrr : POCDMT000040EntryRelationship | (not entrr.observation.oclIsUndefined()) and entrr.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.3.1.6') ) ERROR constraint_typeCode typeCode is required and shall be DRIV (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.2, Table 2.3.5.2-1) (not self.typeCode.oclIsUndefined()) and self.typeCode=XActRelationshipEntry::DRIV ERROR constraint_templateId only one templateId is allowed (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.2, Table 2.3.5.2-1) self.templateId->size()=1 ERROR constraint_act_classCode entry/act@classCode is required and fixed to ACT (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.2, Table 2.3.5.2-1) (not self.act.oclIsUndefined()) and (not self.act.classCode.oclIsUndefined()) and self.act.classCode=XActClassDocumentEntryAct::ACT ERROR constraint_act_moodCode entry/act@moodCode is required and shall be EVN (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.2, Table 2.3.5.2-1) (not self.act.oclIsUndefined()) and (not self.act.moodCode.oclIsUndefined()) and self.act.moodCode=XDocumentActMood::EVN ERROR constraint_act_code_required act/code required and unique (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.2, Table 2.3.5.2-1) (not self.act.oclIsUndefined()) and (not self.act.code.oclIsUndefined()) and (not self.act.code.code.oclIsUndefined()) ERROR constraint_statusCode act/statusCode required and must be completed, active, or aborded (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.2, Table 2.3.5.2-1) (not self.act.oclIsUndefined()) and (not self.act.statusCode.oclIsUndefined()) and (not self.act.statusCode.code.oclIsUndefined()) and ( self.act.statusCode.code='completed' or self.act.statusCode.code='active' or self.act.statusCode.code='aborded' ) ERROR constraint_act_participant act/participant@typeCode if present must be AUTHEN or RESP or DEV (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.2, Table 2.3.5.2-1) self.act.oclIsUndefined() or self.act.participant->forAll(part : POCDMT000040Participant2 | (not part.typeCode.oclIsUndefined()) or part.typeCode=ParticipationType::AUTHEN or part.typeCode=ParticipationType::RESP or part.typeCode=ParticipationType::DEV ) ERROR constraint_entryRelationship entryRelationShip is required and must have the typeCode=COMP (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.2, Table 2.3.5.2-1) self.act.oclIsUndefined() or (self.act.entryRelationship->size()>0) and self.act.entryRelationship->forAll(entrr : POCDMT000040EntryRelationship | (not entrr.typeCode.oclIsUndefined()) and entrr.typeCode=XActRelationshipEntryRelationship::COMP ) ERROR constraint_notificationOrganizer1 notification organizer may be present in an entryRelationship under the Specimen Act of a Laboratory Data Processing Entry (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.7) (not self.act.oclIsUndefined()) and self.act.entryRelationship->exists(entrr : POCDMT000040EntryRelationship | (not entrr.organizer.oclIsUndefined()) and entrr.organizer.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.3.1.1') ) INFO constraint_notificationOrganizer2 notificationorganizer SHALL be present when any of the following Notifications are present: Notifiable Condition, Case Identification, and/or Outbreak Identification (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.7) (self.act.oclIsUndefined()) or self.act.entryRelationship->forAll(entrr : POCDMT000040EntryRelationship | entrr.organizer.oclIsUndefined() or entrr.organizer.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.3.1.1' ) or entrr.organizer.component->isEmpty() or entrr.organizer.component->select(comp : POCDMT000040Component4 | (not comp.observation.oclIsUndefined()) and comp.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ( ii.root='1.3.6.1.4.1.19376.1.3.1.1.1' or ii.root='1.3.6.1.4.1.19376.1.3.1.1.2' or ii.root='1.3.6.1.4.1.19376.1.3.1.1.3' ) ) )->size()=0 ) ERROR constraint_statusToIsolateOrganizer If the Report_Entry is completed, then the SpecimenObservationCluster_Organizer cannot be active (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.8, Note 2) self.act.oclIsUndefined() or self.act.statusCode.oclIsUndefined() or self.act.statusCode.code.oclIsUndefined() or (not (self.act.statusCode.code='completed')) or self.act.entryRelationship->forAll(entrr : POCDMT000040EntryRelationship | entrr.organizer->select(org : POCDMT000040Organizer | org.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.3.1.5') )->forAll(org2 : POCDMT000040Organizer | org2.statusCode.oclIsUndefined() or org2.statusCode.code.oclIsUndefined() or (not (org2.statusCode.code='active')) ) ) ERROR constraint_labObservation1 The document SHALL contain at least one Laboratory Observation under the Specimen Act of each Laboratory Data Processing Entry (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.10) (not self.act.oclIsUndefined()) and self.act.entryRelationship->exists(entrr : POCDMT000040EntryRelationship | entrr.observation->exists(obs : POCDMT000040Observation | obs.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.3.1.6') ) or entrr.organizer->exists(org : POCDMT000040Organizer | org.component->exists(comp : POCDMT000040Component4 | comp.observation->exists(obs : POCDMT000040Observation | obs.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.3.1.6') ) ) ) ) ERROR constraint_labObservation2 The Laboratory Observation SHALL record a single laboratory observation in the document, either standalone or as part of a battery (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.10) (not self.act.oclIsUndefined()) and self.act.entryRelationship->forAll(entrr : POCDMT000040EntryRelationship | entrr.organizer->forAll(org : POCDMT000040Organizer | org.component->select(comp : POCDMT000040Component4 | comp.observation->exists(obs : POCDMT000040Observation | obs.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.3.1.6') ) )->size()=0 or org.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.3.1.4' ) ) ) ERROR constraint_multimedia1 The embedded content SHALL be B64 encoded (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.11) self.observationMedia.oclIsUndefined() or self.observationMedia.value.oclIsUndefined() or ( (not self.observationMedia.value.representation.oclIsUndefined()) and self.observationMedia.value.representation=BinaryDataEncoding::B64 ) ERROR constraint_multimedia2 XDLAB supports only small images in gif, jpeg, png or bmp format (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.11) self.observationMedia.oclIsUndefined() or self.observationMedia.value.oclIsUndefined() or ( (not self.observationMedia.value.mediaType.oclIsUndefined()) and ( self.observationMedia.value.mediaType='image/gif' or self.observationMedia.value.mediaType='image/jpeg' or self.observationMedia.value.mediaType='image/png' or self.observationMedia.value.mediaType='image/bmp' ) ) ERROR constraint_specimenCollection_requiredIfKnown specimen collection if required if known (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.11) (not self.act.oclIsUndefined()) and self.act.entryRelationship->exists(entrr : POCDMT000040EntryRelationship | (not entrr.procedure.oclIsUndefined()) and entrr.procedure.templateId->exists( ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.3.1.2') ) WARNING constraint_notificationOrganizer_requiredIfKnown Notification Organizer template in an entry of the CDA body required if known (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.1, table 2.3.1-1) (not self.act.oclIsUndefined()) and self.act.entryRelationship->exists(entrr : POCDMT000040EntryRelationship | (not entrr.organizer.oclIsUndefined()) and entrr.organizer.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.3.1.1' ) ) WARNING constraint_labIsolateOrg_requiredIfKnown Laboratory Isolate Organizer template in an entry of the CDA body required if known (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.1, table 2.3.1-1) (not self.act.oclIsUndefined()) and self.act.entryRelationship->exists(entrr : POCDMT000040EntryRelationship | (not entrr.organizer.oclIsUndefined()) and entrr.organizer.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.3.1.5' ) ) WARNING constraint_labBatteryOrg_requiredIfKnown Laboratory Battery Organizer template in an entry of the CDA body required if known (not self.act.oclIsUndefined()) and self.act.entryRelationship->exists(entrr : POCDMT000040EntryRelationship | (not entrr.organizer.oclIsUndefined()) and entrr.organizer.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.3.1.4' ) ) WARNING NonHumanSubject TemplateSpec NonHumanSubject 1.3.6.1.4.1.19376.1.3.3.1.2.1 cda-POCDMT000040Subject constraint_templateId templateId is unique and valued to 1.3.6.1.4.1.19376.1.3.3.1.2.1 (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.3, Table 2.3.5.3-1) (not self.templateId->isEmpty()) and self.templateId->size()=1 and self.templateId->forAll(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.3.3.1.2.1' ) ERROR constraint_relatedSubject subject/relatedSubject required (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.3, Table 2.3.5.3-1) (not self.relatedSubject.oclIsUndefined()) ERROR constraint_code subject/relatedSubject/code is required and unique (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.3, Table 2.3.5.3-1) (not self.relatedSubject.oclIsUndefined()) and (not self.relatedSubject.code.oclIsUndefined()) and (not self.relatedSubject.code.code.oclIsUndefined()) ERROR constraint_addr subject/relatedSubject/addr is required and unique (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.3, Table 2.3.5.3-1) (not self.relatedSubject.oclIsUndefined()) and (self.relatedSubject.addr->size()=1) ERROR NonHumanWithHumanSubject TemplateSpec NonHumanWithHumanSubject 1.3.6.1.4.1.19376.1.3.3.1.3.1 cda-POCDMT000040Subject constraint_templateId templateId required, unique and valued to 1.3.6.1.4.1.19376.1.3.3.1.3.1 (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.4, Table 2.3.5.4-1) (self.templateId->size()=1) and self.templateId->forAll(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.3.3.1.3.1' ) ERROR constraint_relatedSubject subject/relatedSubject required (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.4, Table 2.3.5.4-1) not self.relatedSubject.oclIsUndefined() ERROR constraint_code subject/relatedSubject/code required and unique (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.4, Table 2.3.5.4-1) (not self.relatedSubject.oclIsUndefined()) and (not self.relatedSubject.code.oclIsUndefined()) and (not self.relatedSubject.code.code.oclIsUndefined()) ERROR constraint_addr subject/relatedSubject/addr is required and unique (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.4, Table 2.3.5.4-1) (not self.relatedSubject.oclIsUndefined()) and (self.relatedSubject.addr->size()=1) ERROR SpecimenCollection TemplateSpec SpecimenCollection 1.3.6.1.4.1.19376.1.3.1.2 cdalab-POCDMT000040Procedure constraint_classCode procedure@classCode fixed to PROC for specimen collection (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.5, Table 2.3.5.5-1) (not self.classCode.oclIsUndefined()) and self.classCode=ActClass::PROC ERROR constraint_moodCode procedure@moodCode fixed to EVN for specimen collection IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.5, Table 2.3.5.5-1) (not self.moodCode.oclIsUndefined()) and self.moodCode=XDocumentProcedureMood::EVN ERROR constraint_templateId templateId is unique (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.5, Table 2.3.5.5-1) self.templateId->size()=1 ERROR constraint_code if present, procedure/code@code fixed to 33882-2 (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.5, Table 2.3.5.5-1) self.code.oclIsUndefined() or ( (not self.code.code.oclIsUndefined()) and self.code.code='33882-2' ) ERROR constraint_effectiveTime effectiveTime required (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.5, Table 2.3.5.5-1) (not self.effectiveTime.oclIsUndefined()) ERROR constraint_targetSiteCode procedure specimen collection can not have more than one targetSiteCode (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.5, Table 2.3.5.5-1) self.targetSiteCode->size()<2 ERROR constraint_performer procedure specimen collection can not have more than one performer (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.5, Table 2.3.5.5-1) self.performer->size()<2 ERROR constraint_participant specimen collection shall have only one participant with a typeCode=PRD (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.5, Table 2.3.5.5-1) self.participant->size()=1 and self.participant->forAll(part : POCDMT000040Participant2 | (not part.typeCode.oclIsUndefined()) and part.typeCode=ParticipationType::PRD ) ERROR constraint_participantRole specimen collection shall have only one participantRole with classCode=SPEC (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.5, Table 2.3.5.5-1) (self.participant->size()=1) and self.participant->forAll(part : POCDMT000040Participant2 | (not part.participantRole.oclIsUndefined()) and (not part.participantRole.classCode.oclIsUndefined()) and part.participantRole.classCode=RoleClassRoot::SPEC ) ERROR constraint_participantRole_id participantRole id is required and unique (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.5, Table 2.3.5.5-1) (self.participant->size()=1) and self.participant->forAll(part : POCDMT000040Participant2 | (not part.participantRole.oclIsUndefined()) and (not part.participantRole.id->isEmpty()) and part.participantRole.id->exists(ii: II | (not ii.root.oclIsUndefined()) ) ) ERROR constraint_playingEntity_code procedure/participantRole/playingEntity/code required and unique (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.5, Table 2.3.5.5-1) (self.participant->size()=1) and self.participant->forAll(part : POCDMT000040Participant2 | (not part.participantRole.oclIsUndefined()) and (not part.participantRole.oclIsUndefined()) and (not part.participantRole.playingEntity.oclIsUndefined()) and (not part.participantRole.playingEntity.code.oclIsUndefined()) and (not part.participantRole.playingEntity.code.code.oclIsUndefined()) ) ERROR constraint_entryRelationship_card collection specimen can have less than one value of procedure/entryRelationship/act (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.5, Table 2.3.5.5-1) self.entryRelationship->size()<2 ERROR constraint_specimen_received_typeCode if act contains a specimen received, it must have entryRelationShip/typeCode=COMP (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.6, Table 2.3.5.6-1) self.entryRelationship->select(entrr : POCDMT000040EntryRelationship | (not entrr.act.oclIsUndefined()) and entrr.act.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.3.1.3' ) )->forAll(entrr : POCDMT000040EntryRelationship | (not entrr.typeCode.oclIsUndefined()) and entrr.typeCode=XActRelationshipEntryRelationship::COMP ) ERROR constraint_specimenReceived_requiredIfKnown Specimen Received template in an entry of the CDA body is required if known (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.1, Table 2.3.1-1) self.entryRelationship->exists(entrr : POCDMT000040EntryRelationship | (not entrr.act.oclIsUndefined()) and entrr.act.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.3.1.3') ) WARNING ActSpec ConstraintsSpec ActSpec cdalab-POCDMT000040Act constraint_specimenCollection the entryRelationship of act if the act containts a specimen collection must be equal to COMP (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.5, Table 2.3.5.5-1) self.entryRelationship->select(entrr : POCDMT000040EntryRelationship | (not entrr.procedure.oclIsUndefined()) and entrr.procedure.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.3.1.2' ) )->forAll(entrr : POCDMT000040EntryRelationship | (not entrr.typeCode.oclIsUndefined()) and entrr.typeCode=XActRelationshipEntryRelationship::COMP ) ERROR SpecimenReceivedAct TemplateSpec SpecimenReceivedAct 1.3.6.1.4.1.19376.1.3.1.3 cdalab-POCDMT000040Act constraint_classCode act@classCode shall be ACT (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.6, Table 2.3.5.6-1) (not self.classCode.oclIsUndefined()) and self.classCode=XActClassDocumentEntryAct::ACT ERROR constraint_moodCode act@moodCode shall be EVN (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.6, Table 2.3.5.6-1) (not self.moodCode.oclIsUndefined()) and self.moodCode=XDocumentActMood::EVN ERROR constraint_templateId templateId is unique and required and shall be 1.3.6.1.4.1.19376.1.3.1.3 (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.6, Table 2.3.5.6-1) self.templateId->size()=1 and self.templateId->forAll(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.3.1.3') ERROR constraint_code code is required and unique and must be code=SPRECEIVE, codeSystem=1.3.5.1.4.1.19376.1.5.3.2 and codeSystemName=IHEActCode (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.6, Table 2.3.5.6-1) (not self.code.oclIsUndefined()) and (not self.code.code.oclIsUndefined()) and self.code.code='SPRECEIVE' and (not self.code.codeSystem.oclIsUndefined()) and self.code.codeSystem='1.3.5.1.4.1.19376.1.5.3.2' and (not self.code.codeSystemName.oclIsUndefined()) and self.code.codeSystemName='IHEActCode' ERROR constraint_effectiveTime effectiveTime is required and unique (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.6, Table 2.3.5.6-1) (not self.effectiveTime.oclIsUndefined()) ERROR NotificationOrganizer TemplateSpec NotificationOrganizer 1.3.6.1.4.1.19376.1.3.1.1 cdalab-POCDMT000040Organizer constraint_classCode classCode must be CLUSTER (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.7, Table 2.3.5.7-1) (not self.classCode.oclIsUndefined()) and self.classCode=XActClassDocumentEntryOrganizer::CLUSTER ERROR constraint_moodCode moodCode shall be EVN (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.7, Table 2.3.5.7-1) (not self.moodCode.oclIsUndefined()) and self.moodCode=ActMood::EVN ERROR constraint_templateId templateId is required and unique, root=1.3.6.1.4.1.19376.1.3.1.1 (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.7, Table 2.3.5.7-1) self.templateId->size()=1 and self.templateId->forAll(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.3.1.1' ) ERROR constraint_statusCode statusCode is required and unique, values supported are completed and nullify (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.7, Table 2.3.5.7-1) (not self.statusCode.oclIsUndefined()) and (not self.statusCode.code.oclIsUndefined()) and (self.statusCode.code='completed' or self.statusCode.code='nullify') ERROR constraint_component1 organizer must have at least one component (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.7, Table 2.3.5.7-1) self.component->size()>0 ERROR constraint_component2 organizer/component contains one or more of the following Notifications: Notifiable Condition, Case Identification, Outbreak Identification (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.7, Table 2.3.5.7-1) self.component->forAll(comp : POCDMT000040Component4 | (not comp.observation.oclIsUndefined()) and comp.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ( ii.root='1.3.6.1.4.1.19376.1.3.1.1.1' or ii.root='1.3.6.1.4.1.19376.1.3.1.1.2' or ii.root='1.3.6.1.4.1.19376.1.3.1.1.3' ) ) ) ERROR constraint_notifialbeCondition_requiredIfKnown Notifiable Condition template in an entry of the CDA body is required if known (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3..1, Table 2.3.1-1) self.component->exists(comp : POCDMT000040Component4 | (not comp.observation.oclIsUndefined()) and comp.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.3.1.1.1') ) WARNING constraint_caseIdentifier_requiredIfKnown Case Identifier template in an entry of the CDA body (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3..1, Table 2.3.1-1) self.component->exists(comp : POCDMT000040Component4 | (not comp.observation.oclIsUndefined()) and comp.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.3.1.1.2') ) WARNING constraint_OutbreakIdentifier_requiredIfKnown Outbreak Identifier template in an entry of the CDA body required if known (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3..1, Table 2.3.1-1) self.component->exists(comp : POCDMT000040Component4 | (not comp.observation.oclIsUndefined()) and comp.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.3.1.1.3') ) WARNING NotifiableConditionObservation TemplateSpec NotifiableConditionObservation 1.3.6.1.4.1.19376.1.3.1.1.1 cdalab-POCDMT000040Observation constraint_classCode observation@classCode required and shall be COND (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.7.1, Table 2.3.5.7.1-1) (not self.classCode.oclIsUndefined()) and self.classCode=ActClassObservation::COND ERROR constraint_moodCode observation@moodCode requred and shall be EVN (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.7.1, Table 2.3.5.7.1-1) (not self.moodCode.oclIsUndefined()) and self.moodCode=XActMoodDocumentObservation::EVN ERROR constraint_templateId templateId required, unique and templateId@root=1.3.6.1.4.1.19376.1.3.1.1.1 (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.7.1, Table 2.3.5.7.1-1) self.templateId->size()=1 and self.templateId->forAll(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.3.1.1.1') ERROR constraint_code observation/code is required (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.7.1, Table 2.3.5.7.1-1) not self.code.oclIsUndefined() ERROR constraint_code_qualifier observation/code/qualifier is required and unique (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.7.1, Table 2.3.5.7.1-1) (not self.code.oclIsUndefined()) and self.code.qualifier->size()=1 ERROR constraint_code_qualifier_name code/qualifier/name required and unique (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.7.1, Table 2.3.5.7.1-1) (not self.code.oclIsUndefined()) and self.code.qualifier->size()=1 and self.code.qualifier->forAll(qq : CR | (not qq.name.oclIsUndefined())) ERROR constraint_code_qualifier_value code/qualifier/value required and unique (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.7.1, Table 2.3.5.7.1-1) (not self.code.oclIsUndefined()) and self.code.qualifier->size()=1 and self.code.qualifier->forAll(qq : CR | (not qq.value.oclIsUndefined())) ERROR constraint_statusCode observation/statusCode required and statusCode@code=completed or aborded (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.7.1, Table 2.3.5.7.1-1) (not self.statusCode.oclIsUndefined()) and (not self.statusCode.code.oclIsUndefined()) and (self.statusCode.code='completed' or self.statusCode.code='aborted' ) ERROR constraint_value observation/value required, unique and SHALL use the type CE (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.7.1, Table 2.3.5.7.1-1) self.value->size()=1 and self.value->forAll(val : ANY | val.oclIsKindOf(CE)) ERROR CaseIdentificationObservation TemplateSpec CaseIdentificationObservation 1.3.6.1.4.1.19376.1.3.1.1.2 cdalab-POCDMT000040Observation constraint_classCode classCode required and shall be CASE (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.7.2, Table 2.3.5.7.2-1) (not self.classCode.oclIsUndefined()) and self.classCode=ActClassObservation::CASE ERROR constraint_moodCode moodCode required and shall be EVN (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.7.2, Table 2.3.5.7.2-1) (not self.moodCode.oclIsUndefined()) and self.moodCode=XActMoodDocumentObservation::EVN ERROR constraint_templateId templateId required and unique, and its root=1.3.6.1.4.1.19376.1.3.1.1.2 (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.7.2, Table 2.3.5.7.2-1) self.templateId->size()=1 and self.templateId->forAll(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.3.1.1.2' ) ERROR constraint_code code required and unique (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.7.2, Table 2.3.5.7.2-1) (not self.code.oclIsUndefined()) and (not self.code.code.oclIsUndefined()) ERROR constraint_statusCode statusCode required and unique, and statusCode@code=completed or aborted (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.7.2, Table 2.3.5.7.2-1) (not self.statusCode.oclIsUndefined()) and (not self.statusCode.code.oclIsUndefined()) and ( self.statusCode.code='completed' or self.statusCode.code='aborted') ERROR constraint_value value is required, unique and must be of type CE (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.7.2, Table 2.3.5.7.2-1) self.value->size()=1 and self.value->forAll(val : ANY | val.oclIsKindOf(CE)) ERROR OutBreakIdentificationObservation TemplateSpec OutBreakIdentificationObservation 1.3.6.1.4.1.19376.1.3.1.1.3 cdalab-POCDMT000040Observation constraint_classCode observation@classCode required and shall be OUTB (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.7.3, Table 2.3.5.7.3-1) (not self.classCode.oclIsUndefined()) and self.classCode=ActClassObservation::OUTB ERROR constraint_moodCode moodCode required and shall have EVN (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.7.3, Table 2.3.5.7.3-1) (not self.moodCode.oclIsUndefined()) and self.moodCode=XActMoodDocumentObservation::EVN ERROR constraint_templateId templateId unique and required and root=1.3.6.1.4.1.19376.1.3.1.1.3 (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.7.3, Table 2.3.5.7.3-1) self.templateId->size()=1 and self.templateId->forAll(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.3.1.1.3') ERROR constraint_code code is required and unique (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.7.3, Table 2.3.5.7.3-1) (not self.code.oclIsUndefined()) and (not self.code.code.oclIsUndefined()) ERROR constraint_statusCode statusCode required and unique, and its attribute code shall be completed or aborted (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.7.3, Table 2.3.5.7.3-1) (not self.statusCode.oclIsUndefined()) and (not self.statusCode.code.oclIsUndefined()) and (self.statusCode.code='completed' or self.statusCode.code='aborted') ERROR constraint_value value is required and unique and must be type as CE (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.7.3, Table 2.3.5.7.3-1) self.value->size()=1 and self.value->forAll(val : ANY | val.oclIsKindOf(CE)) ERROR LabIsolateOrganizer TemplateSpec LabIsolateOrganizer 1.3.6.1.4.1.19376.1.3.1.5 cdalab-POCDMT000040Organizer constraint_classCode organizer@classCode requred and must be CLUSTER (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.8, Table 2.3.5.8-1) (not self.classCode.oclIsUndefined()) and self.classCode=XActClassDocumentEntryOrganizer::CLUSTER ERROR constraint_moodCode organizer@moodCode shall be EVN (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.8, Table 2.3.5.8-1) (not self.moodCode.oclIsUndefined()) and self.moodCode=ActMood::EVN ERROR constraint_id organizer can have at most one id (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.8, Table 2.3.5.8-1) self.id->size()<2 ERROR constraint_statusCode statusCode is required and unique, and its attribute code shall be completed, active, or aborted (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.8, Table 2.3.5.8-1) (not self.statusCode.oclIsUndefined()) and (not self.statusCode.code.oclIsUndefined()) and (self.statusCode.code='completed' or self.statusCode.code='active' or self.statusCode.code='aborted') ERROR constraint_subject1 if subject present, it shall be with attribute typeCode=SBJ (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.8, Table 2.3.5.8-1) self.subject.oclIsUndefined() or ( (not self.subject.typeCode.oclIsUndefined()) and self.subject.typeCode=ParticipationTargetSubject::SBJ ) ERROR constraint_subject2 organizer/subject can be present only if a non human subject attached to the isolate (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.8, Table 2.3.5.8-1) self.subject.oclIsUndefined() or self.subject.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and (ii.root='1.3.6.1.4.1.19376.1.3.3.1.2.1' or ii.root='1.3.6.1.4.1.19376.1.3.3.1.3.1') ) ERROR constraint_specimen organizer/specimen is required and unique, and its typeCode shall be SBJ (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.8, Table 2.3.5.8-1) self.specimen->size()= 1 and self.specimen->forAll(spec : POCDMT000040Specimen | (not spec.typeCode.oclIsUndefined()) and spec.typeCode=ParticipationType::SPC ) ERROR constraint_specimenRole speciment/specimentRole is required and unique, its classCode attribute shall be SPEC (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.8, Table 2.3.5.8-1) self.specimen->size()=1 and self.specimen->forAll(spec : POCDMT000040Specimen | (not spec.specimenRole.oclIsUndefined()) and (not spec.specimenRole.classCode.oclIsUndefined()) and spec.specimenRole.classCode=RoleClassSpecimen::SPEC ) ERROR constraint_specimenRole_id specimentRole can have at most one id (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.8, Table 2.3.5.8-1) self.specimen->size()=1 and self.specimen->forAll(spec : POCDMT000040Specimen | (spec.specimenRole.oclIsUndefined()) or spec.specimenRole.id->size()<2 ) ERROR constraint_specimenPlayingEntity specimen/specimentRole/specimenPlayingEntity is required and unique, and its attribute classCode shall be MIC (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.8, Table 2.3.5.8-1) self.specimen->size()=1 and self.specimen->forAll(spec : POCDMT000040Specimen | (not spec.specimenRole.oclIsUndefined()) and (not spec.specimenRole.specimenPlayingEntity.oclIsUndefined()) and (not spec.specimenRole.specimenPlayingEntity.classCode.oclIsUndefined()) and spec.specimenRole.specimenPlayingEntity.classCode=EntityClassRoot::MIC ) ERROR constraint_specimenPlayingEntity_code specimen/specimentRole/specimenPlayingEntity/code is required and unique (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.8, Table 2.3.5.8-1) self.specimen->size()=1 and self.specimen->forAll(spec : POCDMT000040Specimen | (not spec.specimenRole.oclIsUndefined()) and (not spec.specimenRole.specimenPlayingEntity.oclIsUndefined()) and (not spec.specimenRole.specimenPlayingEntity.code.oclIsUndefined()) and (not spec.specimenRole.specimenPlayingEntity.code.code.oclIsUndefined()) and (not spec.specimenRole.specimenPlayingEntity.code.codeSystem.oclIsUndefined()) and (not spec.specimenRole.specimenPlayingEntity.code.codeSystemName.oclIsUndefined()) and (not spec.specimenRole.specimenPlayingEntity.code.displayName.oclIsUndefined()) ) ERROR constraint_performer if performer present, its typeCode is required and its typeCode shall be PRF (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.8, Table 2.3.5.8-1) self.performer->isEmpty() or self.performer->forAll(perf : POCDMT000040Performer2 | (not perf.typeCode.oclIsUndefined()) and perf.typeCode=ParticipationPhysicalPerformer::PRF ) ERROR constraint_author organizer/author if presents shall have the attribute typeCode qith the value AUT (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.8, Table 2.3.5.8-1) self.author->isEmpty() or self.author->forAll(aut : POCDMT000040Author | (not aut.typeCode.oclIsUndefined()) and aut.typeCode=ParticipationType::AUT ) ERROR constraint_participant organizer/participant if present shall have the typeCode attribute valued to AUTHEN, or RESP, or DEV (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.8, Table 2.3.5.8-1) self.participant->forAll(part : POCDMT000040Participant2 | (not part.typeCode.oclIsUndefined()) and ( part.typeCode=ParticipationType::AUTHEN or part.typeCode=ParticipationType::RESP or part.typeCode=ParticipationType::DEV ) ) ERROR constraint_component1 organizer shall have at least one component, and all component shall have typeCode=COMP (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.8, Table 2.3.5.8-1) self.component->size()>0 and self.component->forAll(comp : POCDMT000040Component4 | (not comp.typeCode.oclIsUndefined()) and comp.typeCode=ActRelationshipHasComponent::COMP ) ERROR constraint_component2 component can have any number of observations, battery organizers and multimedia (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.8, Table 2.3.5.8-1) self.component->forAll(comp : POCDMT000040Component4 | comp.organizer.oclIsUndefined() or comp.organizer.classCode=XActClassDocumentEntryOrganizer::BATTERY ) ERROR LabBatteryOrganizer TemplateSpec LabBatteryOrganizer 1.3.6.1.4.1.19376.1.3.1.4 cdalab-POCDMT000040Organizer constraint_classCode classCode mandatory and fixed to BATTERY (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.9, Table 2.3.5.9-1) (not self.classCode.oclIsUndefined()) and self.classCode=XActClassDocumentEntryOrganizer::BATTERY ERROR constraint_moodCode moodCode mandatory and fixed to EVN (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.9, Table 2.3.5.9-1) (not self.moodCode.oclIsUndefined()) and self.moodCode=ActMood::EVN ERROR constraint_templateId templateId is required and unique, and has attribute root=1.3.6.1.4.1.19376.1.3.1.4 (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.9, Table 2.3.5.9-1) self.templateId->size()=1 and self.templateId->forAll(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.3.1.4') ERROR constraint_id organizer can have at most one id (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.9, Table 2.3.5.9-1) self.id->size()<2 ERROR constraint_statusCode statusCode required and its code attribute shall be completed or aborted (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.9, Table 2.3.5.9-1) (not self.statusCode.oclIsUndefined()) and (not self.statusCode.code.oclIsUndefined()) and (self.statusCode.code='completed' or self.statusCode.code='aborted') ERROR constraint_subject1 organizer/subject if present shall have typeCode equal to SBJ (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.9, Table 2.3.5.9-1) self.subject.oclIsUndefined() or ((not self.subject.typeCode.oclIsUndefined()) and self.subject.typeCode=ParticipationTargetSubject::SBJ) ERROR constraint_subject2 organizer/subject can be present only if a non human subject attached to the isolate (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.9, Table 2.3.5.9-1) self.subject.oclIsUndefined() or self.subject.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and (ii.root='1.3.6.1.4.1.19376.1.3.3.1.2.1' or ii.root='1.3.6.1.4.1.19376.1.3.3.1.3.1') ) ERROR constraint_performer if performer present, its typeCode is required and its typeCode shall be PRF (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.9, Table 2.3.5.9-1) self.performer->isEmpty() or self.performer->forAll(perf : POCDMT000040Performer2 | (not perf.typeCode.oclIsUndefined()) and perf.typeCode=ParticipationPhysicalPerformer::PRF ) ERROR constraint_author organizer/author if presents shall have the attribute typeCode qith the value AUT (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.9, Table 2.3.5.9-1) self.author->isEmpty() or self.author->forAll(aut : POCDMT000040Author | (not aut.typeCode.oclIsUndefined()) and aut.typeCode=ParticipationType::AUT ) ERROR constraint_participant organizer/participant if present shall have the typeCode attribute valued to AUTHEN, or RESP, or DEV (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.9, Table 2.3.5.9-1) self.participant->forAll(part : POCDMT000040Participant2 | (not part.typeCode.oclIsUndefined()) and ( part.typeCode=ParticipationType::AUTHEN or part.typeCode=ParticipationType::RESP or part.typeCode=ParticipationType::DEV ) ) ERROR constraint_component1 organizer shall have at least one component, and all component shall have typeCode=COMP (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.9, Table 2.3.5.9-1) self.component->size()>0 and self.component->forAll(comp : POCDMT000040Component4 | (not comp.typeCode.oclIsUndefined()) and comp.typeCode=ActRelationshipHasComponent::COMP ) ERROR constraint_component2 organizer/component can have any number of observations and or multimedia (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.9, Table 2.3.5.9-1) self.component->forAll(comp : POCDMT000040Component4 | comp.organizer->size()=0 ) ERROR constraint_component3 organizer/component shall have at least one observation, or its statusCode must be aborted (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.9, Note 3) self.component->exists(comp : POCDMT000040Component4 | (not comp.observation.oclIsUndefined()) ) or ( (not self.statusCode.oclIsUndefined()) and (not self.statusCode.code.oclIsUndefined()) and self.statusCode.code='aborted' ) ERROR LaboratoryObservation TemplateSpec LaboratoryObservation 1.3.6.1.4.1.19376.1.3.1.6 cdalab-POCDMT000040Observation constraint_classCode classCode mandatory and fixed to OBS (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.10, Table 2.3.5.10-1) (not self.classCode.oclIsUndefined()) and self.classCode=ActClassObservation::OBS ERROR constraint_moodCode moodCode mandatory and fixed to EVN (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.10, Table 2.3.5.10-1) (not self.moodCode.oclIsUndefined()) and self.moodCode=XActMoodDocumentObservation::EVN ERROR constraint_templateId templateId required, unique and fixed to 1.3.6.1.4.1.19376.1.3.1.6 (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.10, Table 2.3.5.10-1) self.templateId->size()=1 and self.templateId->forAll(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.3.1.6' ) ERROR constraint_id observation/id can have at mos one value (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.10, Table 2.3.5.10-1) self.id->size()<2 ERROR constraint_code code is required and unique (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.10, Table 2.3.5.10-1) not self.code.oclIsUndefined() ERROR constraint_statusCode statusCode required and its code attribute shall be completed or aborted (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.10, Table 2.3.5.10-1) (not self.statusCode.oclIsUndefined()) and (not self.statusCode.code.oclIsUndefined()) and (self.statusCode.code='completed' or self.statusCode.code='aborted') ERROR constraint_value1 observation can have at most one value (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.10, Table 2.3.5.10-1) self.value->size()<2 ERROR constraint_value2 observation/value has type PQ (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.10, Table 2.3.5.10-1) self.value->forAll(val : ANY | val.oclIsTypeOf(PQ)) ERROR constraint_interpretationCode1 observation can have at most one interpretationCode (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.10, Table 2.3.5.10-1) self.interpretationCode->size()<2 ERROR constraint_interpretationCode2 interpretationCodemust be from ObservationInterpretation vocabulary or ObservationInterpretationSusceptibility Microbiology vocabulary (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.10, Table 2.3.5.10-1) self.interpretationCode->forAll(inter : CE | inter.matchesValueSet('1.3.6.1.4.1.12559.11.4.4.2', inter.code, inter.codeSystem, inter.codeSystemName, inter.displayName) or inter.matchesValueSet('1.3.6.1.4.1.12559.11.4.4.3', inter.code, inter.codeSystem, inter.codeSystemName, inter.displayName) ) WARNING constraint_methodCode1 observation can have at most one methodCode (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.10, Table 2.3.5.10-1) self.methodCode->size()<2 ERROR constraint_methodCode2 methodCode must be expressed with ObservationMethod vocabulary (CWE) (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.10, Table 2.3.5.10-1) self.methodCode->forAll(mc : CE| (mc.codeSystem.oclIsUndefined()) or mc.codeSystem='2.16.840.1.113883.5.84') ERROR constraint_subject1 if present, subject must have the typeCode=SBJ (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.10, Table 2.3.5.10-1) self.subject.oclIsUndefined() or ( (not self.subject.typeCode.oclIsUndefined()) and self.subject.typeCode=ParticipationTargetSubject::SBJ ) ERROR constraint_subject2 subject can be present only if a non human subject is attached to the observation (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.10, Table 2.3.5.10-1) self.subject.oclIsUndefined() or self.subject.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and (ii.root='1.3.6.1.4.1.19376.1.3.3.1.2.1' or ii.root='1.3.6.1.4.1.19376.1.3.3.1.3.1') ) ERROR constraint_performer if present, performer must have typeCode=PRF (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.10, Table 2.3.5.10-1) self.performer->forAll(perf : POCDMT000040Performer2 | (not perf.typeCode.oclIsUndefined()) and perf.typeCode=ParticipationPhysicalPerformer::PRF ) ERROR constraint_author if author present, it must have typeCode=AUT (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.10, Table 2.3.5.10-1) self.author->forAll(auth : POCDMT000040Author | (not auth.typeCode.oclIsUndefined()) and auth.typeCode=ParticipationType::AUT) ERROR constraint_participant participants if present shall have typeCode equals to AUTHEN, or RESP, or DEV (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.10, Table 2.3.5.10-1) self.participant->forAll(part : POCDMT000040Participant2 | (not part.typeCode.oclIsUndefined()) and (part.typeCode=ParticipationType::AUTHEN or part.typeCode=ParticipationType::RESP or part.typeCode=ParticipationType::DEV) ) ERROR constraint_entryRelationship observation/entryRelationship shall be specimen collection, or annotation comment (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.10, Table 2.3.5.10-1) self.entryRelationship->forAll(entrr : POCDMT000040EntryRelationship | ( (not entrr.procedure.oclIsUndefined()) and entrr.procedure.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.3.1.2') ) or ( (not entrr.act.oclIsUndefined()) and entrr.act.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.4.2') ) ) ERROR constraint_previousObs1 if entryRelationship@typeCode=REFR, entryRelationship/observation is required, and entryRelationship/observation@classCode=OBS, entryRelationship/observation@moodCode=EVN (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.10, Table 2.3.5.10-1) self.entryRelationship->forAll(entrr : POCDMT000040EntryRelationship | entrr.typeCode.oclIsUndefined() or (not (entrr.typeCode=XActRelationshipEntryRelationship::REFR)) or ( (not entrr.observation.oclIsUndefined()) and (not entrr.observation.classCode.oclIsUndefined()) and entrr.observation.classCode=ActClassObservation::OBS and (not entrr.observation.moodCode.oclIsUndefined()) and entrr.observation.moodCode=XActMoodDocumentObservation::EVN ) ) ERROR constraint_previousObs2 if entryRelationship@typeCode=REFR, entryRelationship/observation/code is required, and have the same test code (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.10, Table 2.3.5.10-1) self.entryRelationship->forAll(entrr : POCDMT000040EntryRelationship | entrr.typeCode.oclIsUndefined() or (not (entrr.typeCode=XActRelationshipEntryRelationship::REFR)) or ( (not entrr.observation.oclIsUndefined()) and (not entrr.observation.code.oclIsUndefined()) and (not entrr.observation.code.code.oclIsUndefined()) and (not self.code.oclIsUndefined()) and (not self.code.code.oclIsUndefined()) and entrr.observation.code.code=self.code.code ) ) ERROR constraint_previousObs3 if entryRelationship@typeCode=REFR, entryRelationship/observation/statusCode is required, and have the value completed (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.10, Table 2.3.5.10-1) self.entryRelationship->forAll(entrr : POCDMT000040EntryRelationship | entrr.typeCode.oclIsUndefined() or (not (entrr.typeCode=XActRelationshipEntryRelationship::REFR)) or ( (not entrr.observation.oclIsUndefined()) and (not entrr.observation.statusCode.oclIsUndefined()) and (not entrr.observation.statusCode.code.oclIsUndefined()) and entrr.observation.statusCode.code='completed' ) ) ERROR constraint_previousObs4 if entryRelationship@typeCode=REFR, entryRelationship/observation/effectiveTime required and unique (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.10, Table 2.3.5.10-1) self.entryRelationship->forAll(entrr : POCDMT000040EntryRelationship | entrr.typeCode.oclIsUndefined() or (not (entrr.typeCode=XActRelationshipEntryRelationship::REFR)) or ( (not entrr.observation.oclIsUndefined()) and (not entrr.observation.effectiveTime.oclIsUndefined()) ) ) ERROR constraint_previousObs5 if entryRelationship@typeCode=REFR, entryRelationship/observation/value is required and unique (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.10, Table 2.3.5.10-1) self.entryRelationship->forAll(entrr : POCDMT000040EntryRelationship | entrr.typeCode.oclIsUndefined() or (not (entrr.typeCode=XActRelationshipEntryRelationship::REFR)) or ( (not entrr.observation.oclIsUndefined()) and entrr.observation.value->size()=1 ) ) ERROR constraint_referenceRange1 if observation/referenceRange is present, its typeCode shall be REFV (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.10, Table 2.3.5.10-1) self.referenceRange->forAll(rr : LabReferenceRange | (not rr.typeCode.oclIsUndefined()) and rr.typeCode=ActRelationshipType::REFV ) ERROR constraint_referenceRange2 observation can have at most one referenceRange (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.10, Table 2.3.5.10-1) self.referenceRange->size()<2 ERROR constraint_referenceRange3 if observation/referenceRange presents, observationRange is required (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.10, Table 2.3.5.10-1) self.referenceRange->forAll(rr : LabReferenceRange | (not rr.observationRange.oclIsUndefined())) ERROR constraint_referenceRange4 if observation/referenceRange presents, observationRange shall have classCode=OBS (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.10, Table 2.3.5.10-1) self.referenceRange->forAll(rr : LabReferenceRange | (not rr.observationRange.oclIsUndefined()) and (not rr.observationRange.classCode.oclIsUndefined()) and rr.observationRange.classCode=ActClassObservation::OBS ) ERROR constraint_referenceRange5 if observation/referenceRange presents, observation/referenceRange/observationRange shall have the attribute @moodCode=EVN.CRT (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.10, Table 2.3.5.10-1) self.referenceRange->forAll(rr : LabReferenceRange | (not rr.observationRange.oclIsUndefined()) and (not rr.observationRange.moodCode.oclIsUndefined()) and rr.observationRange.moodCode=ActMood::EVNCRT ) ERROR constraint_referenceRange6 if observation/referenceRange presents, observationRange can have a value, and its type is an interval IVL (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.10, Table 2.3.5.10-1) self.referenceRange->forAll(rr : LabReferenceRange | (not rr.observationRange.oclIsUndefined()) and ( rr.observationRange.value.oclIsUndefined() or rr.observationRange.value.oclIsKindOf(PIVLTS) or rr.observationRange.value.oclIsKindOf(EIVLTS) or rr.observationRange.value.oclIsKindOf(IVLPQ) or rr.observationRange.value.oclIsKindOf(PIVLPPDTS) or rr.observationRange.value.oclIsKindOf(EIVLPPDTS) or rr.observationRange.value.oclIsKindOf(IVLPPDPQ) or rr.observationRange.value.oclIsKindOf(IVLINT) or rr.observationRange.value.oclIsKindOf(IVLREAL) or rr.observationRange.value.oclIsKindOf(IVLMO) or rr.observationRange.value.oclIsKindOf(BXITIVLPQ) ) ) ERROR constraint_referenceRange7 if observation/referenceRange presents, observationRangeshall have an interpretationCode with interpretationCode@code=N (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.10, Table 2.3.5.10-1) self.referenceRange->forAll(rr : LabReferenceRange | (not rr.observationRange.oclIsUndefined()) and (not rr.observationRange.interpretationCode.oclIsUndefined()) and (not rr.observationRange.interpretationCode.code.oclIsUndefined()) and rr.observationRange.interpretationCode.code='N' ) ERROR constraint_entryRelationShip2 In case there is more than one previous result, the entryRelationship elements are numbered from 1 to n by sequenceNumber. (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.10, Table 2.3.5.10-1) self.entryRelationship->size()<2 or self.entryRelationship->forAll(entrr : POCDMT000040EntryRelationship | (not entrr.sequenceNumber.oclIsUndefined()) and (not entrr.sequenceNumber.value.oclIsUndefined())) and self.entryRelationship->forAll(entrr : POCDMT000040EntryRelationship | self.entryRelationship->one(entrr2 : POCDMT000040EntryRelationship | entrr2.sequenceNumber.value=entrr.sequenceNumber.value) ) and self.entryRelationship->forAll(entrr : POCDMT000040EntryRelationship | self.entryRelationship->select(entrr2 : POCDMT000040EntryRelationship | entrr2.sequenceNumber.value<entrr.sequenceNumber.value)->size()=(entrr.sequenceNumber.value-1) ) ERROR constraint_precondition1 if observation/referenceRange/preCondition present, its typeCode shall be PRCN (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.10, Table 2.3.5.10-1) self.referenceRange->forAll(rr : LabReferenceRange | rr.precondition->forAll(lpre :LabPrecondition | (not lpre.typeCode.oclIsUndefined()) and lpre.typeCode=ActRelationshipType::PRCN ) ) ERROR constraint_precondition2 if observation/referenceRange/preCondition present, precondition/criterion is required and shall have classCode=COND and moodCode=EVN (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.10, Table 2.3.5.10-1) self.referenceRange->forAll(rr : LabReferenceRange | rr.precondition->forAll(lp :LabPrecondition | (not lp.criterion.oclIsUndefined()) and (not lp.criterion.classCode.oclIsUndefined()) and (not lp.criterion.moodCode.oclIsUndefined()) and lp.criterion.classCode=ActClassObservation::COND and lp.criterion.moodCode=ActMood::EVN ) ) ERROR constraint_precondition3 if observation/referenceRange/preCondition present, criterion/code shall be present (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.10, Table 2.3.5.10-1) self.referenceRange->forAll(rr : LabReferenceRange | rr.precondition->forAll(lp :LabPrecondition | (not lp.criterion.oclIsUndefined()) and (not lp.criterion.code.oclIsUndefined()) ) ) ERROR constraint_precondition4 if observation/referenceRange/preCondition present, criterion/valion shall be present (IHE Laboratory Technical Framework, Volume 3 (LAB TF-3) 2.3.5.10, Table 2.3.5.10-1) self.referenceRange->forAll(rr : LabReferenceRange | rr.precondition->forAll(lp :LabPrecondition | (not lp.criterion.oclIsUndefined()) and (not lp.criterion.value.oclIsUndefined()) ) ) ERROR AnnotationComment TemplateSpec AnnotationComment 1.3.6.1.4.1.19376.1.5.3.1.4.2 cdalab-POCDMT000040Act constraint_moodCode The related statement is an event (moodCode=EVN) (PCC TF-2 6.3.4.6) (not self.moodCode.oclIsUndefined()) and self.moodCode=XDocumentActMood::EVN ERROR constraint_classCode The related statement describe an act (classCode=ACT) of making an arbitrary comment or providing instruction on the related entry (PCC TF-2 6.3.4.6) (not self.classCode.oclIsUndefined()) and self.classCode=XActClassDocumentEntryAct::ACT ERROR constraint_templateId templateId that identify this <act> as a comment are (2.16.840.1.113883.10.20.1.40, 1.3.6.1.4.1.19376.1.5.3.1.4.2) (PCC TF-2 6.3.4.6) self.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.1.40') and self.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.4.2') ERROR constraint_code code is required, and code@code=48767-8 and codeSystem=2.16.840.1.113883.6.1 (PCC TF-2 6.3.4.6) (not self.code.oclIsUndefined()) and (not self.code.code.oclIsUndefined()) and (not self.code.codeSystem.oclIsUndefined()) and self.code.code='48767-8' and self.code.codeSystem='2.16.840.1.113883.6.1' ERROR constraint_text act/text/reference shall be present (PCC TF-2 6.3.4.6) (not self.text.oclIsUndefined()) and (not self.text.reference.oclIsUndefined()) and (not self.text.reference.value.oclIsUndefined()) ERROR constraint_statusCode The code attribute of <statusCode> for all comments must be completed (PCC TF-2 6.3.4.6) (not self.statusCode.oclIsUndefined()) and (not self.statusCode.code.oclIsUndefined()) and self.statusCode.code='completed' ERROR constraint_author1 The comment may have an author (PCC TF-2 6.3.4.6) self.author->size()>0 INFO constraint_time The time of the comment creation shall be recorded in the <time> element when the <author> element is present (PCC TF-2 6.3.4.6) self.author->size()=0 or (not self.effectiveTime.oclIsUndefined()) ERROR constraint_author2 The identifier of the author, and their address and telephone number must be present inside the <id>, <addr> and <telecom> elements when the <author> element is present (PCC TF-2 6.3.4.6) self.author->forAll(auth : POCDMT000040Author | (not auth.assignedAuthor.oclIsUndefined()) and auth.assignedAuthor.id->size()>0 and auth.assignedAuthor.addr->size()>0 and auth.assignedAuthor.telecom->size()>0 ) ERROR constraint_author3 The author's and/or the organization's name must be present when the <author> element is present. (PCC TF-2 6.3.4.6) self.author->forAll(auth : POCDMT000040Author | (not auth.assignedAuthor.oclIsUndefined()) and ((not auth.assignedAuthor.assignedPerson.oclIsUndefined()) and (not auth.assignedAuthor.assignedPerson.name->isEmpty())) or ( (not auth.assignedAuthor.representedOrganization.oclIsUndefined()) and (not auth.assignedAuthor.representedOrganization.name->isEmpty()) ) ) ERROR