Consol Admission Medication SHALL contain exactly one [1..1] @classCode="ACT" Act (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:7698) OCL (not self.classCode.oclIsUndefined()) and self.classCode=XActClassDocumentEntryAct::ACT Consol Admission Medication SHALL contain exactly one [1..1] code (CONF:15518)/@code="42346-7" Medications on Admission (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:15519) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CD) and let value : CD = self.code.oclAsType(CD) in not value.codeSystem.oclIsUndefined() or not value.codeSystemName.oclIsUndefined()) Consol Admission Medication SHALL contain exactly one [1..1] code (CONF:15518)/@code="42346-7" Medications on Admission (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:15519) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Admission Medication SHALL contain at least one [1..*] entryRelationship (CONF:7701, CONF:7702, CONF:15520) Contains @typeCode="SUBJ" SUBJ, and Contains exactly one [1..1] Medication Activity (templateId: 2.16.840.1.113883.10.20.22.4.16) OCL self.entryRelationship->reject(oclIsUndefined())->one(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.substanceAdministration.oclIsUndefined() and entryRelationship.substanceAdministration.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.16') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::SUBJ) Consol Admission Medication SHALL contain exactly one [1..1] @moodCode="EVN" Event (CodeSystem: 2.16.840.1.113883.5.1001 HL7ActMood) (CONF:7699) OCL (not self.moodCode.oclIsUndefined()) and self.moodCode=XDocumentActMood::EVN Consol Advance Directive Observation SHALL contain exactly one [1..1] @classCode="OBS" Observation (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:8648) OCL (not self.classCode.oclIsUndefined()) and self.classCode=ActClassObservation::OBS Consol Advance Directive Observation SHALL contain exactly one [1..1] code, which SHOULD be selected from ValueSet Advance Directive Type Code 2.16.840.1.113883.1.11.20.2 STATIC 1 (CONF:8651) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CD) and let value : CD = self.code.oclAsType(CD) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and value.codeSystem = '2.16.840.1.113883.6.96' and (value.code = '281789004' or value.code = '89666000' or value.code = '225204009' or value.code = '52765003' or value.code = '78823007' or value.code = '304251008' or value.code = '61420007' or value.code = '71388002')) Consol Advance Directive Observation SHOULD contain exactly one [1..1] participant (CONF:8667) OCL self.participant->reject(oclIsUndefined())->select(participant : POCDMT000040Participant2 | not participant.oclIsUndefined() and participant.oclIsKindOf(POCDMT000040Participant2))->reject(oclIsUndefined())->select((not typeCode.oclIsUndefined()) and typeCode=ParticipationType::CST)->reject(oclIsUndefined())->size() = 1 Consol Advance Directive Observation SHOULD contain exactly one [1..1] participant (CONF:8667) each SHALL contain exactly one [1..1] participantRole, where (CONF:8669) advanceDirectiveObservationCustodianRole SHOULD contain exactly one [1..1] addr (CONF:8671) OCL self.participant->reject(oclIsUndefined())->select((not typeCode.oclIsUndefined()) and typeCode=ParticipationType::CST).participantRole->reject(oclIsUndefined())->reject((addr->reject(oclIsUndefined())->isEmpty() or addr->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (addr->reject(oclIsUndefined())->size() = 1))->reject(oclIsUndefined())->size()=0 Consol Advance Directive Observation SHOULD contain exactly one [1..1] participant (CONF:8667) each SHALL contain exactly one [1..1] participantRole, where (CONF:8669) advanceDirectiveObservationCustodianRole SHALL contain exactly one [1..1] @classCode="AGNT" (CONF:8670) OCL self.participant->reject(oclIsUndefined())->select((not typeCode.oclIsUndefined()) and typeCode=ParticipationType::CST).participantRole->reject(oclIsUndefined())->reject(not(classCode.oclIsUndefined()) and classCode=RoleClassRoot::AGNT)->reject(oclIsUndefined())->size()=0 Consol Advance Directive Observation SHOULD contain exactly one [1..1] participant (CONF:8667) each SHALL contain exactly one [1..1] participantRole, where (CONF:8669) each SHALL contain exactly one [1..1] playingEntity, where (ii., CONF:8824) playingEntity SHALL contain at least one [1..*] name (CONF:8673) OCL self.participant->reject(oclIsUndefined())->select((not typeCode.oclIsUndefined()) and typeCode=ParticipationType::CST).participantRole.playingEntity->reject(oclIsUndefined())->reject((name->reject(oclIsUndefined())->isEmpty() or name->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not name->reject(oclIsUndefined())->isEmpty()))->reject(oclIsUndefined())->size()=0 Consol Advance Directive Observation SHOULD contain exactly one [1..1] participant (CONF:8667) each SHALL contain exactly one [1..1] participantRole, where (CONF:8669) advanceDirectiveObservationCustodianRole SHALL contain exactly one [1..1] playingEntity, where its type is Custodian Entity (ii., CONF:8824) OCL self.participant->reject(oclIsUndefined())->select((not typeCode.oclIsUndefined()) and typeCode=ParticipationType::CST).participantRole->reject(oclIsUndefined())->reject(playingEntity->reject(oclIsUndefined())->one(playingEntity : POCDMT000040PlayingEntity | not playingEntity.oclIsUndefined() and playingEntity.oclIsKindOf(POCDMT000040PlayingEntity)))->reject(oclIsUndefined())->size()=0 Consol Advance Directive Observation SHOULD contain exactly one [1..1] participant (CONF:8667) each SHALL contain exactly one [1..1] participantRole, where (CONF:8669) advanceDirectiveObservationCustodianRole SHOULD contain exactly one [1..1] telecom (CONF:8672) OCL self.participant->reject(oclIsUndefined())->select((not typeCode.oclIsUndefined()) and typeCode=ParticipationType::CST).participantRole->reject(oclIsUndefined())->reject((telecom->reject(oclIsUndefined())->isEmpty() or telecom->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (telecom->reject(oclIsUndefined())->size() = 1))->reject(oclIsUndefined())->size()=0 Consol Advance Directive Observation SHALL contain exactly one [1..1] effectiveTime (CONF:8656) OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) Consol Advance Directive Observation SHALL contain at least one [1..*] id (CONF:8654) OCL (self.id->reject(oclIsUndefined())->isEmpty() or self.id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.id->reject(oclIsUndefined())->isEmpty()) Consol Advance Directive Observation SHALL contain exactly one [1..1] @moodCode="EVN" Event (CodeSystem: 2.16.840.1.113883.5.1001 HL7ActMood) (CONF:8649) OCL (not self.moodCode.oclIsUndefined()) and self.moodCode=XActMoodDocumentObservation::EVN Consol Advance Directive Observation SHOULD contain zero or more [0..*] reference (CONF:8692) OCL self.reference->reject(oclIsUndefined())->exists(reference : POCDMT000040Reference | not reference.oclIsUndefined() and reference.oclIsKindOf(POCDMT000040Reference)) Consol Advance Directive Observation SHOULD contain zero or more [0..*] reference (CONF:8692) reference SHALL contain exactly one [1..1] externalDocument, where its type is External Document (CONF:8693) OCL self.reference->reject(oclIsUndefined())->reject(externalDocument->reject(oclIsUndefined())->one(externalDocument : POCDMT000040ExternalDocument | not externalDocument.oclIsUndefined() and externalDocument.oclIsKindOf(POCDMT000040ExternalDocument)))->reject(oclIsUndefined())->size()=0 Consol Advance Directive Observation SHOULD contain zero or more [0..*] reference (CONF:8692) each SHALL contain exactly one [1..1] externalDocument, where (CONF:8693) externalDocument SHALL contain at least one [1..*] id (CONF:8695) OCL self.reference.externalDocument->reject(oclIsUndefined())->reject((id->reject(oclIsUndefined())->isEmpty() or id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not id->reject(oclIsUndefined())->isEmpty()))->reject(oclIsUndefined())->size()=0 Consol Advance Directive Observation SHOULD contain zero or more [0..*] reference (CONF:8692) each SHALL contain exactly one [1..1] externalDocument, where (CONF:8693) externalDocument MAY contain zero or one [0..1] text (CONF:8696) OCL self.reference.externalDocument->reject(oclIsUndefined())->reject((text.oclIsUndefined() or text.isNullFlavorUndefined()) implies (not text.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol Advance Directive Observation SHOULD contain zero or more [0..*] reference (CONF:8692) each SHALL contain exactly one [1..1] externalDocument, where (CONF:8693) externalDocument The text, if present, MAY contain zero or one [0..1] @mediaType (CONF:8703) OCL self.reference.externalDocument->reject(oclIsUndefined())->reject(not text.mediaType.oclIsUndefined())->reject(oclIsUndefined())->size()=0 Consol Advance Directive Observation SHOULD contain zero or more [0..*] reference (CONF:8692) each SHALL contain exactly one [1..1] externalDocument, where (CONF:8693) externalDocument The text, if present, MAY contain zero or one [0..1] reference. a. The URL of a referenced advance directive document MAY be present, and SHALL be represented in Observation/reference/ExternalDocument/text/reference. b. If a URL is referenced, then it SHOULD have a corresponding linkHTML element in narrative block. (CONF:8697, CONF:8698, CONF:8699) OCL self.reference.externalDocument->reject(oclIsUndefined())->reject(not text.oclIsUndefined() implies not text.reference.oclIsUndefined())->reject(oclIsUndefined())->size()=0 Consol Advance Directive Observation SHOULD contain zero or more [0..*] reference (CONF:8692) reference SHALL contain exactly one [1..1] @typeCode/@code="REFR" (CodeSystem: 2.16.840.1.113883.5.1002 HL7ActRelationshipType) (CONF:8694) OCL self.reference->reject(oclIsUndefined())->reject(not typeCode.oclIsUndefined() and typeCode.oclIsKindOf(XActRelationshipExternalReference) and let value : XActRelationshipExternalReference = typeCode.oclAsType(XActRelationshipExternalReference) in value = XActRelationshipExternalReference::REFR)->reject(oclIsUndefined())->size()=0 Consol Advance Directive Observation SHALL contain exactly one [1..1] statusCode/@code="completed" (CodeSystem: 2.16.840.1.113883.5.14 ActStatus) (CONF:8652) OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(CS) and let value : CS = self.statusCode.oclAsType(CS) in (not value.code.oclIsUndefined()) and ( value.code = 'completed')) Consol Advance Directive Observation SHOULD contain zero or more [0..*] participant (CONF:8662) OCL self.participant->reject(oclIsUndefined())->select(participant : POCDMT000040Participant2 | not participant.oclIsUndefined() and participant.oclIsKindOf(POCDMT000040Participant2))->reject(oclIsUndefined())->select((not typeCode.oclIsUndefined()) and typeCode=ParticipationType::VRF)->reject(oclIsUndefined())->notEmpty() Consol Advance Directive Observation SHOULD contain zero or more [0..*] participant (CONF:8662) verifier SHALL contain exactly one [1..1] time (CONF:8665) OCL self.participant->reject(oclIsUndefined())->select((not typeCode.oclIsUndefined()) and typeCode=ParticipationType::VRF)->reject(oclIsUndefined())->select((not typeCode.oclIsUndefined()) and typeCode=ParticipationType::VRF)->reject(oclIsUndefined())->reject((time.oclIsUndefined() or time.isNullFlavorUndefined()) implies (not time.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol Advance Directives Section SHALL contain at least one [1..*] entry (CONF:8647, CONF:8801) Contains exactly one [1..1] Advance Directive Observation (templateId: 2.16.840.1.113883.10.20.22.4.48) OCL self.entry->reject(oclIsUndefined())->exists(entry : POCDMT000040Entry | not entry.observation.oclIsUndefined() and entry.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.48')) Consol Advance Directives Section SHALL contain exactly one [1..1] code (CONF:15343)/@code="42348-3" Advance directives (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:15344) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CE) and let value : CE = self.code.oclAsType(CE) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and ( value.code = '42348-3' and value.codeSystem = '2.16.840.1.113883.6.1')) Consol Advance Directives Section SHALL contain exactly one [1..1] code (CONF:15343)/@code="42348-3" Advance directives (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:15344) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) SHALL contain exactly one [1..1] templateId ( CONF:7928, CONF:10376 ) such that it SHALL contain exactly one [1..1] @root="2.16.840.1.113883.10.20.22.2.21" OCL self.templateId->exists(id : II | (not id.root.oclIsUndefined()) and id.root = '2.16.840.1.113883.10.20.22.2.21') Consol Advance Directives Section SHALL contain exactly one [1..1] text (CONF:8646) OCL not self.text.oclIsUndefined() Consol Advance Directives Section SHALL contain exactly one [1..1] title (CONF:8645) OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) Consol Advance Directives Section Entries Optional MAY contain zero or more [0..*] entry (CONF:7957, CONF:8800) Contains exactly one [1..1] Advance Directive Observation (templateId: 2.16.840.1.113883.10.20.22.4.48) OCL self.entry->reject(oclIsUndefined())->exists(entry : POCDMT000040Entry | not entry.observation.oclIsUndefined() and entry.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.48')) Consol Advance Directives Section Entries Optional SHALL contain exactly one [1..1] code (CONF:15340)/@code="42348-3" Advance Directives (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:15342) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CE) and let value : CE = self.code.oclAsType(CE) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and ( value.code = '42348-3' and value.codeSystem = '2.16.840.1.113883.6.1')) Consol Advance Directives Section Entries Optional SHALL contain exactly one [1..1] code (CONF:15340)/@code="42348-3" Advance Directives (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:15342) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Advance Directives Section Entries Optional SHALL contain exactly one [1..1] text (CONF:7931) OCL not self.text.oclIsUndefined() Consol Advance Directives Section Entries Optional SHALL contain exactly one [1..1] title (CONF:7930) OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) Consol Age Observation SHALL contain exactly one [1..1] @classCode="OBS" Observation (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:7613) OCL (not self.classCode.oclIsUndefined()) and self.classCode=ActClassObservation::OBS Consol Age Observation SHALL contain exactly one [1..1] code (CONF:7615)/@code="445518008" Age At Onset (CodeSystem: 2.16.840.1.113883.6.96 SNOMEDCT) (CONF:16776) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CD) and let value : CD = self.code.oclAsType(CD) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and value.code = '445518008' and value.codeSystem = '2.16.840.1.113883.6.96') Consol Age Observation SHALL contain exactly one [1..1] code (CONF:7615)/@code="445518008" Age At Onset (CodeSystem: 2.16.840.1.113883.6.96 SNOMEDCT) (CONF:16776) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Age Observation SHALL contain exactly one [1..1] @moodCode="EVN" Event (CodeSystem: 2.16.840.1.113883.5.1001 HL7ActMood) (CONF:7614) OCL (not self.moodCode.oclIsUndefined()) and self.moodCode=XActMoodDocumentObservation::EVN Consol Age Observation SHALL contain exactly one [1..1] statusCode (CONF:15965)/@code="completed" Completed (CodeSystem: 2.16.840.1.113883.5.14 ActStatus) (CONF:15966) OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(CS) and let value : CS = self.statusCode.oclAsType(CS) in (not value.code.oclIsUndefined()) and ( value.code = 'completed')) Consol Age Observation SHALL contain exactly one [1..1] statusCode (CONF:15965)/@code="completed" Completed (CodeSystem: 2.16.840.1.113883.5.14 ActStatus) (CONF:15966) OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) Consol Age Observation SHALL contain exactly one [1..1] value with data type PQ (CONF:7617) OCL (self.value->reject(oclIsUndefined())->isEmpty() or self.value->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (self.value->reject(oclIsUndefined())->size() = 1 and self.value->reject(oclIsUndefined())->forAll(element | element.oclIsTypeOf(PQ))) Consol Age Observation This value SHALL contain exactly one [1..1] @unit, which SHALL be selected from ValueSet AgePQ_UCUM 2.16.840.1.113883.11.20.9.21 DYNAMIC (CONF:7618) OCL self.value.oclAsType(PQ).unit->reject(oclIsUndefined())->size() = 1 Consol Allergies Section SHALL contain at least one [1..*] entry (CONF:7531, CONF:7532) Contains exactly one [1..1] Allergy Problem Act (templateId: 2.16.840.1.113883.10.20.22.4.30) OCL self.entry->reject(oclIsUndefined())->exists(entry : POCDMT000040Entry | not entry.act.oclIsUndefined() and entry.act.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.30')) Consol Allergies Section SHALL contain exactly one [1..1] code (CONF:15349)/@code="48765-2" Allergies, adverse reactions, alerts (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:15350) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CE) and let value : CE = self.code.oclAsType(CE) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and ( value.code = '48765-2' and value.codeSystem = '2.16.840.1.113883.6.1')) Consol Allergies Section SHALL contain exactly one [1..1] code (CONF:15349)/@code="48765-2" Allergies, adverse reactions, alerts (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:15350) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) SHALL contain exactly one [1..1] templateId ( CONF:7800, CONF:10378 ) such that it SHALL contain exactly one [1..1] @root="2.16.840.1.113883.10.20.22.2.6" OCL self.templateId->exists(id : II | (not id.root.oclIsUndefined()) and id.root = '2.16.840.1.113883.10.20.22.2.6') Consol Allergies Section SHALL contain exactly one [1..1] text (CONF:7530) OCL not self.text.oclIsUndefined() Consol Allergies Section SHALL contain exactly one [1..1] title (CONF:7534) OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) Consol Allergies Section Entries Optional SHOULD contain zero or more [0..*] entry (CONF:7804, CONF:7805) Contains exactly one [1..1] Allergy Problem Act (templateId: 2.16.840.1.113883.10.20.22.4.30) OCL self.entry->reject(oclIsUndefined())->exists(entry : POCDMT000040Entry | not entry.act.oclIsUndefined() and entry.act.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.30')) Consol Allergies Section Entries Optional SHALL contain exactly one [1..1] code (CONF:15345)/@code="48765-2" Allergies, adverse reactions, alerts (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:15346) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CE) and let value : CE = self.code.oclAsType(CE) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and ( value.code = '48765-2' and value.codeSystem = '2.16.840.1.113883.6.1')) Consol Allergies Section Entries Optional SHALL contain exactly one [1..1] code (CONF:15345)/@code="48765-2" Allergies, adverse reactions, alerts (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:15346) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Allergies Section Entries Optional SHALL contain exactly one [1..1] text (CONF:7803) OCL not self.text.oclIsUndefined() Consol Allergies Section Entries Optional SHALL contain exactly one [1..1] title (CONF:7802) OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) Consol Allergy Observation SHOULD contain exactly one [1..1] participant (CONF:7402) each SHALL contain exactly one [1..1] participantRole, where (CONF:7404) each SHALL contain exactly one [1..1] playingEntity, where (CONF:7406) playingEntity SHALL contain exactly one [1..1] @classCode="MMAT" (CONF:7407) OCL self.participant->forAll(part : POCDMT000040Participant2 | (not part.participantRole.oclIsUndefined()) and (not part.participantRole.playingEntity.oclIsUndefined()) and part.participantRole.playingEntity->reject(oclIsUndefined())->reject(not(classCode.oclIsUndefined()))->reject(oclIsUndefined())->size()=0) Consol Allergy Observation SHOULD contain exactly one [1..1] participant (CONF:7402) each SHALL contain exactly one [1..1] participantRole, where (CONF:7404) each SHALL contain exactly one [1..1] playingEntity, where (CONF:7406) playingEntity SHALL contain exactly one [1..1] code (CONF:7419) OCL self.participant->forAll(part : POCDMT000040Participant2 | (not part.participantRole.oclIsUndefined()) and (not part.participantRole.playingEntity.oclIsUndefined()) and part.participantRole.playingEntity->reject(oclIsUndefined())->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined()))->reject(oclIsUndefined())->size()=0) Consol Allergy Observation SHOULD contain exactly one [1..1] participant (CONF:7402) each SHALL contain exactly one [1..1] participantRole, where (CONF:7404) each SHALL contain exactly one [1..1] playingEntity, where (CONF:7406) playingEntity code SHOULD contain zero or one [0..1] originalText (CONF:7424) OCL self.participant->forAll(part : POCDMT000040Participant2 | (not part.participantRole.oclIsUndefined()) and (not part.participantRole.playingEntity.oclIsUndefined()) and part.participantRole.playingEntity->reject(oclIsUndefined())->reject(( (not code.oclIsUndefined()) and (not code.originalText.oclIsUndefined()) ))->reject(oclIsUndefined())->size()=0) Consol Allergy Observation SHOULD contain exactly one [1..1] participant (CONF:7402) each SHALL contain exactly one [1..1] participantRole, where (CONF:7404) each SHALL contain exactly one [1..1] playingEntity, where (CONF:7406) playingEntity code MAY contain zero or more [0..*] translation (CONF:7431) OCL self.participant->forAll(part : POCDMT000040Participant2 | (not part.participantRole.oclIsUndefined()) and (not part.participantRole.playingEntity.oclIsUndefined()) and part.participantRole.playingEntity->reject(oclIsUndefined())->reject(( (not code.oclIsUndefined()) and (not code.translation->reject(oclIsUndefined())->isEmpty()) ))->reject(oclIsUndefined())->size()=0) Consol Allergy Observation SHOULD contain exactly one [1..1] participant (CONF:7402) each SHALL contain exactly one [1..1] participantRole, where (CONF:7404) each SHALL contain exactly one [1..1] playingEntity, where (CONF:7406) playingEntity originalText, if present, SHOULD contain zero or one [0..1] reference (CONF:7425) OCL self.participant->forAll(part : POCDMT000040Participant2 | (not part.participantRole.oclIsUndefined()) and (not part.participantRole.playingEntity.oclIsUndefined()) and part.participantRole.playingEntity->reject(oclIsUndefined())->reject(( (not code.oclIsUndefined()) and (not code.originalText.oclIsUndefined()) ) implies not code.originalText.reference.oclIsUndefined())->reject(oclIsUndefined())->size()=0) Consol Allergy Observation SHOULD contain exactly one [1..1] participant (CONF:7402) each SHALL contain exactly one [1..1] participantRole, where (CONF:7404) participantRole SHALL contain exactly one [1..1] @classCode/@code="MANU" Manufactured Product (CodeSystem: 2.16.840.1.113883.5.110 HL7RoleClass) (CONF:7405) OCL self.participant->forAll(part : POCDMT000040Participant2 | (not part.participantRole.oclIsUndefined()) and part.participantRole->reject(oclIsUndefined())->reject(not classCode.oclIsUndefined() and classCode.oclIsKindOf(RoleClassRoot) and let value : RoleClassRoot = classCode.oclAsType(RoleClassRoot) in value = RoleClassRoot::MANU)->reject(oclIsUndefined())->size()=0) Consol Allergy Observation SHOULD contain exactly one [1..1] participant (CONF:7402) each SHALL contain exactly one [1..1] participantRole, where (CONF:7404) participantRole SHALL contain exactly one [1..1] playingEntity, where its type is Allergy Observation Playing Entity (CONF:7406) OCL self.participant->forAll(part : POCDMT000040Participant2 | (not part.participantRole.oclIsUndefined()) and part.participantRole->reject(oclIsUndefined())->reject(playingEntity->reject(oclIsUndefined())->one(playingEntity : POCDMT000040PlayingEntity | not playingEntity.oclIsUndefined() and playingEntity.oclIsKindOf(POCDMT000040PlayingEntity)))->reject(oclIsUndefined())->size()=0) Consol Allergy Observation SHOULD contain exactly one [1..1] participant (CONF:7402) participant SHALL contain exactly one [1..1] participantRole, where its type is Allergy Observation Participant Role (CONF:7404) OCL self.participant->reject(oclIsUndefined())->reject(participantRole->reject(oclIsUndefined())->one(participantRole : POCDMT000040ParticipantRole | not participantRole.oclIsUndefined() and participantRole.oclIsKindOf(POCDMT000040ParticipantRole)))->reject(oclIsUndefined())->size()=0 Consol Allergy Observation SHOULD contain exactly one [1..1] participant (CONF:7402) participant SHALL contain exactly one [1..1] @typeCode/@code="CSM" Consumable (CodeSystem: 2.16.840.1.113883.5.90 HL7ParticipationType) (CONF:7403) OCL self.participant->reject(oclIsUndefined())->reject(not typeCode.oclIsUndefined() and typeCode.oclIsKindOf(ParticipationType) and let value : ParticipationType = typeCode.oclAsType(ParticipationType) in value = ParticipationType::CSM)->reject(oclIsUndefined())->size()=0 Consol Allergy Observation MAY contain zero or one [0..1] entryRelationship (CONF:7440, CONF:7906, CONF:15954) Contains @typeCode="SUBJ" SUBJ, and Contains exactly one [1..1] Allergy Status Observation (templateId: 2.16.840.1.113883.10.20.22.4.28) OCL self.entryRelationship->reject(oclIsUndefined())->one(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.28') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::SUBJ) Consol Allergy Observation SHALL contain exactly one [1..1] @classCode="OBS" Observation (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:7379) OCL (not self.classCode.oclIsUndefined()) and self.classCode=ActClassObservation::OBS Consol Allergy Observation SHALL contain exactly one [1..1] code (CONF:15947)/@code="ASSERTION" (CodeSystem: 2.16.840.1.113883.5.4 HL7ActCode) (CONF:15948) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CD) and let value : CD = self.code.oclAsType(CD) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and value.code = 'ASSERTION' and value.codeSystem = '2.16.840.1.113883.5.4') Consol Allergy Observation SHALL contain exactly one [1..1] code (CONF:15947)/@code="ASSERTION" (CodeSystem: 2.16.840.1.113883.5.4 HL7ActCode) (CONF:15948) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Allergy Observation SHALL contain exactly one [1..1] effectiveTime (CONF:7387) OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) Consol Allergy Observation SHALL contain at least one [1..*] id (CONF:7382) OCL (self.id->reject(oclIsUndefined())->isEmpty() or self.id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.id->reject(oclIsUndefined())->isEmpty()) Consol Allergy Observation SHALL contain exactly one [1..1] @moodCode="EVN" Event (CodeSystem: 2.16.840.1.113883.5.1001 HL7ActMood) (CONF:7380) OCL (not self.moodCode.oclIsUndefined()) and self.moodCode=XActMoodDocumentObservation::EVN Consol Allergy Observation originalText, if present, MAY contain zero or one [0..1] reference (CONF:15949) OCL self.value.oclAsType(CD).originalText->reject(oclIsUndefined())->size() = 1 implies self.value.oclAsType(CD).originalText->reject(oclIsUndefined())->one(reference->reject(oclIsUndefined())->size() = 1) Consol Allergy Observation reference, if present, SHOULD contain zero or one [0..1] reference/@value (CONF:15950) OCL self.value.oclAsType(CD).originalText.reference->reject(oclIsUndefined())->size() = 1 implies self.value.oclAsType(CD).originalText.reference.value->reject(oclIsUndefined())->size() = 1 Consol Allergy Observation SHOULD contain exactly one [1..1] participant (CONF:7402) OCL self.participant->reject(oclIsUndefined())->one(participant : POCDMT000040Participant2 | not participant.oclIsUndefined() and participant.oclIsKindOf(POCDMT000040Participant2)) Consol Allergy Observation SHOULD contain zero or more [0..*] entryRelationship (CONF:7447, CONF:7907, CONF:15955) Contains @typeCode="MFST" MFST, and Contains exactly one [1..1] Reaction Observation (templateId: 2.16.840.1.113883.10.20.22.4.9) OCL self.entryRelationship->reject(oclIsUndefined())->exists(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.9') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::MFST) Consol Allergy Observation SHOULD contain zero or one [0..1] entryRelationship (CONF:9961, CONF:9962, CONF:15956) Contains @typeCode="SUBJ" SUBJ, and Contains exactly one [1..1] Severity Observation (templateId: 2.16.840.1.113883.10.20.22.4.8) OCL self.entryRelationship->reject(oclIsUndefined())->one(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.8') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::SUBJ) Consol Allergy Observation SHALL contain exactly one [1..1] statusCode/@code="completed" (CodeSystem: 2.16.840.1.113883.5.14 ActStatus) (CONF:7386) OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(CS) and let value : CS = self.statusCode.oclAsType(CS) in (not value.code.oclIsUndefined()) and ( value.code = 'completed')) Consol Allergy Observation value SHOULD contain zero or one [0..1] originalText (CONF:7422) OCL self.value.oclAsType(CD).originalText->reject(oclIsUndefined())->size() = 1 Consol Allergy Problem Act SHALL contain at least one [1..*] entryRelationship (CONF:7509, CONF:7915, CONF:14925) Contains @typeCode="SUBJ" SUBJ, and Contains exactly one [1..1] Allergy Observation (templateId: 2.16.840.1.113883.10.20.22.4.7) OCL self.entryRelationship->reject(oclIsUndefined())->exists(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.7') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::SUBJ) Consol Allergy Problem Act SHALL contain exactly one [1..1] @classCode="ACT" Act (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:7469) OCL (not self.classCode.oclIsUndefined()) and self.classCode=XActClassDocumentEntryAct::ACT Consol Allergy Problem Act SHALL contain exactly one [1..1] code/@code="48765-2" Allergies, adverse reactions, alerts (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:7477) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CD) and let value : CD = self.code.oclAsType(CD) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and value.code = '48765-2' and value.codeSystem = '2.16.840.1.113883.6.1') Consol Allergy Problem Act SHALL contain exactly one [1..1] effectiveTime (CONF:7498) OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) Consol Allergy Problem Act If statusCode = "completed" Completed, then effectiveTime SHALL contain high [1..1] (CONF:10085). (CONF:10085) OCL ( (not self.statusCode.oclIsUndefined()) and (not self.statusCode.code.oclIsUndefined()) and self.statusCode.code='completed' ) implies ( (not self.effectiveTime.oclIsUndefined()) and (not self.effectiveTime.high.oclIsUndefined()) ) Consol Allergy Problem Act If statusCode = "active" Active, then effectiveTime SHALL contain [1..1] low (CONF:7504). (CONF:7504) OCL ( (not self.statusCode.oclIsUndefined()) and (not self.statusCode.code.oclIsUndefined()) and self.statusCode.code='active' ) implies ( (not self.effectiveTime.oclIsUndefined()) and (not self.effectiveTime.low.oclIsUndefined()) ) Consol Allergy Problem Act SHALL contain at least one [1..*] id (CONF:7472) OCL (self.id->reject(oclIsUndefined())->isEmpty() or self.id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.id->reject(oclIsUndefined())->isEmpty()) Consol Allergy Problem Act SHALL contain exactly one [1..1] @moodCode="EVN" Event (CodeSystem: 2.16.840.1.113883.5.1001 HL7ActMood) (CONF:7470) OCL (not self.moodCode.oclIsUndefined()) and self.moodCode=XDocumentActMood::EVN Consol Allergy Problem Act SHALL contain exactly one [1..1] statusCode, which SHALL be selected from ValueSet ProblemActStatusCode 2.16.840.1.113883.11.20.9.19 STATIC 2011-09-09 (CONF:7485) OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(CS) and let value : CS = self.statusCode.oclAsType(CS) in (not value.code.oclIsUndefined()) and ( value.code = 'active' or value.code = 'suspended' or value.code = 'aborted' or value.code = 'completed')) Consol Allergy Status Observation SHALL contain exactly one [1..1] @classCode="OBS" Observation (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:7318) OCL (not self.classCode.oclIsUndefined()) and self.classCode=ActClassObservation::OBS Consol Allergy Status Observation SHALL contain exactly one [1..1] code/@code="33999-4" Status (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:7320) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CD) and let value : CD = self.code.oclAsType(CD) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and value.code = '33999-4' and value.codeSystem = '2.16.840.1.113883.6.1') Consol Allergy Status Observation SHALL contain exactly one [1..1] @moodCode="EVN" Event (CodeSystem: 2.16.840.1.113883.5.1001 HL7ActMood) (CONF:7319) OCL (not self.moodCode.oclIsUndefined()) and self.moodCode=XActMoodDocumentObservation::EVN Consol Allergy Status Observation SHALL contain exactly one [1..1] statusCode/@code="completed" (CodeSystem: 2.16.840.1.113883.5.14 ActStatus) (CONF:7321) OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(CS) and let value : CS = self.statusCode.oclAsType(CS) in (not value.code.oclIsUndefined()) and ( value.code = 'completed')) Consol Allergy Status Observation SHALL contain exactly one [1..1] value with data type CE, which SHALL be selected from ValueSet HITSP Problem Status 2.16.840.1.113883.3.88.12.80.68 STATIC (CONF:7322) OCL (self.value->reject(oclIsUndefined())->isEmpty() or self.value->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (self.value->reject(oclIsUndefined())->size() = 1 and self.value->reject(oclIsUndefined())->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(CE) and let value : CE = element.oclAsType(CE) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and value.codeSystem = '2.16.840.1.113883.6.96' and (value.code = '55561003' or value.code = '73425007' or value.code = '413322009'))) Consol Anesthesia Section SHALL contain exactly one [1..1] code (CONF:15351)/@code="59774-0" (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:15352) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CE) and let value : CE = self.code.oclAsType(CE) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and ( value.code = '59774-0' and value.codeSystem = '2.16.840.1.113883.6.1')) Consol Anesthesia Section SHALL contain exactly one [1..1] code (CONF:15351)/@code="59774-0" (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:15352) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Anesthesia Section MAY contain zero or more [0..*] entry (CONF:8094) Contains exactly one [1..1] Medication Activity (templateId: 2.16.840.1.113883.10.20.22.4.16) OCL self.entry->reject(oclIsUndefined())->exists(entry : POCDMT000040Entry | not entry.substanceAdministration.oclIsUndefined() and entry.substanceAdministration.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.16')) Consol Anesthesia Section MAY contain zero or more [0..*] entry (CONF:8092) Contains exactly one [1..1] Procedure Activity Procedure (templateId: 2.16.840.1.113883.10.20.22.4.14) OCL self.entry->reject(oclIsUndefined())->exists(entry : POCDMT000040Entry | not entry.procedure.oclIsUndefined() and entry.procedure.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.14')) Consol Anesthesia Section SHALL contain exactly one [1..1] text (CONF:8069) OCL not self.text.oclIsUndefined() Consol Anesthesia Section SHALL contain exactly one [1..1] title (CONF:8068) OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) Consol Assessment And Plan Section SHALL contain exactly one [1..1] code (CONF:15353)/@code="51847-2" ASSESSMENT AND PLAN (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:15354) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CE) and let value : CE = self.code.oclAsType(CE) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and ( value.code = '51847-2' and value.codeSystem = '2.16.840.1.113883.6.1')) Consol Assessment And Plan Section SHALL contain exactly one [1..1] code (CONF:15353)/@code="51847-2" ASSESSMENT AND PLAN (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:15354) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Assessment And Plan Section MAY contain zero or more [0..*] entry (CONF:8798) Contains exactly one [1..1] Plan Of Care Activity Act (templateId: 2.16.840.1.113883.10.20.22.4.39) OCL self.entry->reject(oclIsUndefined())->exists(entry : POCDMT000040Entry | not entry.act.oclIsUndefined() and entry.act.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.39')) Consol Assessment And Plan Section SHALL contain exactly one [1..1] text (CONF:7707) OCL not self.text.oclIsUndefined() Consol Assessment Scale Observation SHOULD contain zero or more [0..*] entryRelationship (CONF:14451, CONF:16741, CONF:16742) Contains @typeCode="COMP" COMP, and Contains exactly one [1..1] Assessment Scale Supporting Observation (templateId: 2.16.840.1.113883.10.20.22.4.86) OCL self.entryRelationship->reject(oclIsUndefined())->exists(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.86') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::COMP) Consol Assessment Scale Observation SHALL contain exactly one [1..1] @classCode="OBS" Observation (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:14434) OCL (not self.classCode.oclIsUndefined()) and self.classCode=ActClassObservation::OBS Consol Assessment Scale Observation SHALL contain exactly one [1..1] code (CONF:14439) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Assessment Scale Observation SHOULD be from LOINC (CodeSystem: 2.16.840.1.113883.6.1) or SNOMED CT (CodeSystem: 2.16.840.1.113883.6.96) identifying the assessment scale (CONF:14440) OCL (not self.code.oclIsUndefined()) and (not self.code.codeSystem.oclIsUndefined()) and (self.code.codeSystem = '2.16.840.1.113883.6.1' or self.code.codeSystem = '2.16.840.1.113883.6.96') Consol Assessment Scale Observation MAY contain zero or one [0..1] derivationExpr (CONF:14637) OCL (self.derivationExpr.oclIsUndefined() or self.derivationExpr.isNullFlavorUndefined()) implies (not self.derivationExpr.oclIsUndefined()) Consol Assessment Scale Observation SHALL contain exactly one [1..1] effectiveTime (CONF:14445) OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) Consol Assessment Scale Observation SHALL contain at least one [1..*] id (CONF:14438) OCL (self.id->reject(oclIsUndefined())->isEmpty() or self.id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.id->reject(oclIsUndefined())->isEmpty()) Consol Assessment Scale Observation MAY contain zero or more [0..*] interpretationCode (CONF:14459) OCL (self.interpretationCode->reject(oclIsUndefined())->isEmpty() or self.interpretationCode->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.interpretationCode->reject(oclIsUndefined())->isEmpty()) Consol Assessment Scale Observation interpretationCode, if present, MAY contain zero or more [0..*] translation (CONF:14888) OCL self.interpretationCode->reject(oclIsUndefined())->size() > 0 implies self.interpretationCode.translation->reject(oclIsUndefined())->size() > 0 Consol Assessment Scale Observation SHALL contain exactly one [1..1] @moodCode="EVN" Event (CodeSystem: 2.16.840.1.113883.5.1001 HL7ActMood) (CONF:14435) OCL (not self.moodCode.oclIsUndefined()) and self.moodCode=XActMoodDocumentObservation::EVN Consol Assessment Scale Observation MAY contain zero or more [0..*] referenceRange (CONF:16799) OCL self.referenceRange->reject(oclIsUndefined())->exists(referenceRange : POCDMT000040ReferenceRange | not referenceRange.oclIsUndefined() and referenceRange.oclIsKindOf(POCDMT000040ReferenceRange)) Consol Assessment Scale Observation MAY contain zero or more [0..*] referenceRange (CONF:16799) referenceRange SHALL contain exactly one [1..1] observationRange, where its type is Observation Range (CONF:16800) OCL self.referenceRange->reject(oclIsUndefined())->reject(observationRange->reject(oclIsUndefined())->one(observationRange : POCDMT000040ObservationRange | not observationRange.oclIsUndefined() and observationRange.oclIsKindOf(POCDMT000040ObservationRange)))->reject(oclIsUndefined())->size()=0 Consol Assessment Scale Observation MAY contain zero or more [0..*] referenceRange (CONF:16799) each SHALL contain exactly one [1..1] observationRange, where (CONF:16800) observationRange SHOULD contain zero or one [0..1] text (CONF:16801) OCL self.referenceRange.observationRange->reject(oclIsUndefined())->reject((text.oclIsUndefined() or text.isNullFlavorUndefined()) implies (not text.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol Assessment Scale Observation MAY contain zero or more [0..*] referenceRange (CONF:16799) each SHALL contain exactly one [1..1] observationRange, where (CONF:16800) observationRange text, if present, SHOULD contain zero or one [0..1] reference (CONF:16802) OCL self.referenceRange.observationRange->reject(oclIsUndefined())->reject(not text.oclIsUndefined() implies text->reject(oclIsUndefined())->forAll(reference->reject(oclIsUndefined())->size() = 1))->reject(oclIsUndefined())->size()=0 Consol Assessment Scale Observation MAY contain zero or more [0..*] referenceRange (CONF:16799) each SHALL contain exactly one [1..1] observationRange, where (CONF:16800) observationRange reference, if present, MAY contain zero or one [0..1] @value (CONF:16803) OCL self.referenceRange.observationRange->reject(oclIsUndefined())->reject(text->reject(oclIsUndefined())->forAll(reference->reject(oclIsUndefined())->size() = 1) implies text->reject(oclIsUndefined())->forAll(reference->reject(oclIsUndefined())->one(value->reject(oclIsUndefined())->size() = 1)))->reject(oclIsUndefined())->size()=0 Consol Assessment Scale Observation SHALL contain exactly one [1..1] statusCode (CONF:14444)/@code="completed" Completed (CodeSystem: 2.16.840.1.113883.5.14 ActStatus) OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(CS) and let value : CS = self.statusCode.oclAsType(CS) in (not value.code.oclIsUndefined()) and ( value.code = 'completed')) Consol Assessment Scale Observation SHALL contain exactly one [1..1] statusCode (CONF:14444)/@code="completed" Completed (CodeSystem: 2.16.840.1.113883.5.14 ActStatus) OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) Consol Assessment Scale Observation SHALL contain exactly one [1..1] value (CONF:14450) OCL (self.value->reject(oclIsUndefined())->isEmpty() or self.value->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (self.value->reject(oclIsUndefined())->size() = 1) Consol Assessment Scale Supporting Observation SHALL contain exactly one [1..1] @classCode="OBS" Observation (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:16715) OCL (not self.classCode.oclIsUndefined()) and self.classCode=ActClassObservation::OBS Consol Assessment Scale Supporting Observation SHALL contain exactly one [1..1] code (CONF:16717) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Assessment Scale Supporting Observation observation/code SHALL be from LOINC (CodeSystem: 2.16.840.1.113883.6.1) or SNOMED CT (CodeSystem: 2.16.840.1.113883.6.96) and represents components of the scale (CONF:16738, CONF:14458, CONF:16739) OCL (not self.code.oclIsUndefined()) and (not self.code.codeSystem.oclIsUndefined()) and (self.code.codeSystem = '2.16.840.1.113883.6.1' or self.code.codeSystem = '2.16.840.1.113883.6.96') Consol Assessment Scale Supporting Observation SHALL contain at least one [1..*] id (CONF:16724) OCL (self.id->reject(oclIsUndefined())->isEmpty() or self.id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.id->reject(oclIsUndefined())->isEmpty()) Consol Assessment Scale Supporting Observation SHALL contain exactly one [1..1] @moodCode="EVN" Event (CodeSystem: 2.16.840.1.113883.5.1001 HL7ActMood) (CONF:16716) OCL (not self.moodCode.oclIsUndefined()) and self.moodCode=XActMoodDocumentObservation::EVN Consol Assessment Scale Supporting Observation SHALL contain exactly one [1..1] statusCode (CONF:16720)/@code="completed" Completed (CodeSystem: 2.16.840.1.113883.5.14 ActStatus) OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(CS) and let value : CS = self.statusCode.oclAsType(CS) in (not value.code.oclIsUndefined()) and ( value.code = 'completed')) Consol Assessment Scale Supporting Observation SHALL contain exactly one [1..1] statusCode (CONF:16720)/@code="completed" Completed (CodeSystem: 2.16.840.1.113883.5.14 ActStatus) OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) Consol Assessment Scale Supporting Observation SHALL contain at least one [1..*] value (CONF:16754) OCL (self.value->reject(oclIsUndefined())->isEmpty() or self.value->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.value->reject(oclIsUndefined())->isEmpty()) Consol Assessment Scale Supporting Observation If xsi:type="CD" , MAY have a translation code to further specify the source if the instrument has an applicable code system and valueSet for the integer (CONF:14639, CONF:16755) OCL self.value.oclAsType(CD).translation->reject(oclIsUndefined())->size() = 1 Consol Assessment Section SHALL contain exactly one [1..1] code (CONF:14757)/@code="51848-0" Assessments (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:14758) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CE) and let value : CE = self.code.oclAsType(CE) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and ( value.code = '51848-0' and value.codeSystem = '2.16.840.1.113883.6.1')) Consol Assessment Section SHALL contain exactly one [1..1] code (CONF:14757)/@code="51848-0" Assessments (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:14758) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Assessment Section SHALL contain exactly one [1..1] text (CONF:7713) OCL not self.text.oclIsUndefined() Consol Assessment Section SHALL contain exactly one [1..1] title (CONF:16774) OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) Consol Authorization Activity SHALL contain exactly one [1..1] @classCode="ACT" Act (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:8944) OCL (not self.classCode.oclIsUndefined()) and self.classCode=XActClassDocumentEntryAct::ACT Consol Authorization Activity SHALL contain exactly one [1..1] entryRelationship (CONF:8948) OCL self.entryRelationship->reject(oclIsUndefined())->select(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.oclIsUndefined() and entryRelationship.oclIsKindOf(POCDMT000040EntryRelationship))->reject(oclIsUndefined())->select((not typeCode.oclIsUndefined()) and typeCode=XActRelationshipEntryRelationship::SUBJ)->reject(oclIsUndefined())->size() = 1 Consol Authorization Activity SHALL contain exactly one [1..1] entryRelationship (CONF:8948) entryRelationship The target of an authorization activity with act/entryRelationship/@typeCode="SUBJ" SHALL be a clinical statement with moodCode="PRMS" Promise (CONF:8951). OCL self.entryRelationship->reject(oclIsUndefined())->select((not typeCode.oclIsUndefined()) and typeCode=XActRelationshipEntryRelationship::SUBJ)->reject(oclIsUndefined())->select((not typeCode.oclIsUndefined()) and typeCode=XActRelationshipEntryRelationship::SUBJ)->reject(oclIsUndefined())->reject(act->reject(oclIsUndefined())->exists(moodCode = XDocumentActMood::PRMS) or encounter->reject(oclIsUndefined())->exists(moodCode = XDocumentEncounterMood::PRMS) or observation->reject(oclIsUndefined())->exists(moodCode = XActMoodDocumentObservation::PRMS) or observationMedia->reject(oclIsUndefined())->exists(moodCode = ActMood::PRMS) or organizer->reject(oclIsUndefined())->exists(moodCode = ActMood::PRMS) or procedure->reject(oclIsUndefined())->exists(moodCode = XDocumentProcedureMood::PRMS) or regionOfInterest->reject(oclIsUndefined())->exists(moodCode = ActMood::PRMS) or substanceAdministration->reject(oclIsUndefined())->exists(moodCode = XDocumentSubstanceMood::PRMS) or supply->reject(oclIsUndefined())->exists(moodCode = XDocumentSubstanceMood::PRMS))->reject(oclIsUndefined())->size()=0 Consol Authorization Activity SHALL contain exactly one [1..1] id (CONF:8947) OCL (self.id->reject(oclIsUndefined())->isEmpty() or self.id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (self.id->reject(oclIsUndefined())->size() = 1) Consol Authorization Activity SHALL contain exactly one [1..1] @moodCode="EVN" Event (CodeSystem: 2.16.840.1.113883.5.1001 HL7ActMood) (CONF:8945) OCL (not self.moodCode.oclIsUndefined()) and self.moodCode=XDocumentActMood::EVN Consol Boundary Observation SHALL contain exactly one [1..1] @classCode="OBS" Observation (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:9282) OCL (not self.classCode.oclIsUndefined()) and self.classCode=ActClassObservation::OBS Consol Boundary Observation SHALL contain exactly one [1..1] code/@code="113036" Frames for Display (CodeSystem: 1.2.840.10008.2.16.4 DCM) (CONF:9284) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CD) and let value : CD = self.code.oclAsType(CD) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and value.code = '113036' and value.codeSystem = '1.2.840.10008.2.16.4') Consol Boundary Observation SHALL contain exactly one [1..1] @moodCode="EVN" Event (CodeSystem: 2.16.840.1.113883.5.1001 HL7ActMood) (CONF:9283) OCL (not self.moodCode.oclIsUndefined()) and self.moodCode=XActMoodDocumentObservation::EVN Consol Boundary Observation SHALL contain at least one [1..*] value with data type INT (CONF:9285) OCL (self.value->reject(oclIsUndefined())->isEmpty() or self.value->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.value->reject(oclIsUndefined())->isEmpty() and self.value->reject(oclIsUndefined())->forAll(element | element.oclIsTypeOf(INT))) Consol Caregiver Characteristics SHALL contain exactly one [1..1] @classCode="OBS" Observation (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:14219) OCL (not self.classCode.oclIsUndefined()) and self.classCode=ActClassObservation::OBS Consol Caregiver Characteristics SHALL contain exactly one [1..1] code (CONF:14230) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Caregiver Characteristics SHALL contain at least one [1..*] id (CONF:14223) OCL (self.id->reject(oclIsUndefined())->isEmpty() or self.id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.id->reject(oclIsUndefined())->isEmpty()) Consol Caregiver Characteristics SHALL contain exactly one [1..1] @moodCode="EVN" Event (CodeSystem: 2.16.840.1.113883.5.1001 HL7ActMood) (CONF:14220) OCL (not self.moodCode.oclIsUndefined()) and self.moodCode=XActMoodDocumentObservation::EVN Consol Caregiver Characteristics SHALL contain at least one [1..*] participant (CONF:14227) OCL self.participant->reject(oclIsUndefined())->exists(participant : POCDMT000040Participant2 | not participant.oclIsUndefined() and participant.oclIsKindOf(POCDMT000040Participant2)) Consol Caregiver Characteristics SHALL contain at least one [1..*] participant (CONF:14227) participant SHALL contain exactly one [1..1] participantRole, where its type is Participant Role (CONF:14228) OCL self.participant->reject(oclIsUndefined())->reject(participantRole->reject(oclIsUndefined())->one(participantRole : POCDMT000040ParticipantRole | not participantRole.oclIsUndefined() and participantRole.oclIsKindOf(POCDMT000040ParticipantRole)))->reject(oclIsUndefined())->size()=0 Consol Caregiver Characteristics SHALL contain at least one [1..*] participant (CONF:14227) each SHALL contain exactly one [1..1] participantRole, where (CONF:14228) participantRole SHALL contain exactly one [1..1] @classCode (CONF:14229) OCL self.participant->forAll(part : POCDMT000040Participant2 | (not part.participantRole.oclIsUndefined()) and part.participantRole->reject(oclIsUndefined())->reject(not(classCode.oclIsUndefined()))->reject(oclIsUndefined())->size()=0) Consol Caregiver Characteristics SHALL contain at least one [1..*] participant (CONF:14227) participant MAY contain zero or one [0..1] time (CONF:14830) OCL self.participant->reject(oclIsUndefined())->reject((time.oclIsUndefined() or time.isNullFlavorUndefined()) implies (not time.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol Caregiver Characteristics SHALL contain at least one [1..*] participant (CONF:14227) participant time, if present, MAY contain zero or one [0..1] high (CONF:14832) OCL self.participant->reject(oclIsUndefined())->reject(not time.oclIsUndefined() implies time.high->reject(oclIsUndefined())->size() = 1)->reject(oclIsUndefined())->size()=0 Consol Caregiver Characteristics SHALL contain at least one [1..*] participant (CONF:14227) participant time, if present, SHALL contain exactly one [1..1] low (CONF:14831) OCL self.participant->reject(oclIsUndefined())->reject(not time.oclIsUndefined() implies time.low->reject(oclIsUndefined())->size() = 1)->reject(oclIsUndefined())->size()=0 Consol Caregiver Characteristics SHALL contain exactly one [1..1] statusCode (CONF:14233)/@code="completed" Completed (CodeSystem: 2.16.840.1.113883.5.14 ActStatus) OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(CS) and let value : CS = self.statusCode.oclAsType(CS) in (not value.code.oclIsUndefined()) and ( value.code = 'completed')) Consol Caregiver Characteristics SHALL contain exactly one [1..1] statusCode (CONF:14233)/@code="completed" Completed (CodeSystem: 2.16.840.1.113883.5.14 ActStatus) OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) Consol Caregiver Characteristics SHALL contain exactly one [1..1] value with data type CD (CONF:14599) OCL (self.value->reject(oclIsUndefined())->isEmpty() or self.value->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (self.value->reject(oclIsUndefined())->size() = 1 and self.value->reject(oclIsUndefined())->forAll(element | element.oclIsTypeOf(CD))) Consol Caregiver Characteristics the code/@code SHALL be selected from LOINC (codeSystem: 2.16.840.1.113883.6.1) or SNOMED CT (CodeSystem: 2.16.840.1.113883.6.96 (CONF:14600) OCL self.value->reject(oclIsUndefined())->forAll(val | val.oclAsType(CD).codeSystem = '2.16.840.1.113883.6.1' or val.oclAsType(CD).codeSystem = '2.16.840.1.113883.6.96') Consol Chief Complaint And Reason For Visit Section SHALL contain exactly one [1..1] code (CONF:15449)/@code="46239-0" Chief Complaint and Reason for Visit (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:15450) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CE) and let value : CE = self.code.oclAsType(CE) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and ( value.code = '46239-0' and value.codeSystem = '2.16.840.1.113883.6.1')) Consol Chief Complaint And Reason For Visit Section SHALL contain exactly one [1..1] code (CONF:15449)/@code="46239-0" Chief Complaint and Reason for Visit (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:15450) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Chief Complaint And Reason For Visit Section SHALL contain exactly one [1..1] text (CONF:7843) OCL not self.text.oclIsUndefined() Consol Chief Complaint And Reason For Visit Section SHALL contain exactly one [1..1] title (CONF:7842) OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) Consol Chief Complaint Section SHALL contain exactly one [1..1] code (CONF:15451)/@code="10154-3" CHIEF COMPLAINT (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:15452) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CE) and let value : CE = self.code.oclAsType(CE) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and ( value.code = '10154-3' and value.codeSystem = '2.16.840.1.113883.6.1')) Consol Chief Complaint Section SHALL contain exactly one [1..1] code (CONF:15451)/@code="10154-3" CHIEF COMPLAINT (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:15452) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Chief Complaint Section SHALL contain exactly one [1..1] text (CONF:7835) OCL not self.text.oclIsUndefined() Consol Chief Complaint Section SHALL contain exactly one [1..1] title (CONF:7834) OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) Consol Code Observations SHALL contain exactly one [1..1] @classCode="OBS" Observation (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:9304) OCL (not self.classCode.oclIsUndefined()) and self.classCode=ActClassObservation::OBS Consol Code Observations SHALL contain exactly one [1..1] code (CONF:9307) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Code Observations SHOULD contain zero or one [0..1] effectiveTime (CONF:9309) OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) Consol Code Observations SHALL contain exactly one [1..1] @moodCode="EVN" Event (CodeSystem: 2.16.840.1.113883.5.1001 HL7ActMood) (CONF:9305) OCL (not self.moodCode.oclIsUndefined()) and self.moodCode=XActMoodDocumentObservation::EVN Consol Code Observations MAY contain zero or more [0..*] entryRelationship (CONF:9314, CONF:9315, CONF:9316) Contains @typeCode="SPRT" SPRT, and Contains exactly one [1..1] Quantity Measurement Observation (templateId: 2.16.840.1.113883.10.20.6.2.14) OCL self.entryRelationship->reject(oclIsUndefined())->exists(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.6.2.14') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::SPRT) Consol Code Observations MAY contain zero or more [0..*] entryRelationship (CONF:9311, CONF:9312, CONF:9313) Contains @typeCode="SPRT" SPRT, and Contains exactly one [1..1] SOP Instance Observation (templateId: 2.16.840.1.113883.10.20.6.2.8) OCL self.entryRelationship->reject(oclIsUndefined())->exists(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.6.2.8') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::SPRT) Consol Code Observations SHALL contain exactly one [1..1] value (CONF:9308) OCL (self.value->reject(oclIsUndefined())->isEmpty() or self.value->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (self.value->reject(oclIsUndefined())->size() = 1) Consol Cognitive Status Problem Observation MAY contain zero or more [0..*] entryRelationship (CONF:14467, CONF:14590, CONF:14468) Contains @typeCode="COMP" COMP, and Contains exactly one [1..1] Assessment Scale Observation (templateId: 2.16.840.1.113883.10.20.22.4.69) OCL self.entryRelationship->reject(oclIsUndefined())->exists(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.69') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::COMP) Consol Cognitive Status Problem Observation MAY contain zero or more [0..*] entryRelationship (CONF:14335, CONF:14589, CONF:14352) Contains @typeCode="REFR" REFR, and Contains exactly one [1..1] Caregiver Characteristics (templateId: 2.16.840.1.113883.10.20.22.4.72) OCL self.entryRelationship->reject(oclIsUndefined())->exists(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.72') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::REFR) Consol Cognitive Status Problem Observation SHALL contain exactly one [1..1] @classCode="OBS" Observation (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:14319) OCL (not self.classCode.oclIsUndefined()) and self.classCode=ActClassObservation::OBS Consol Cognitive Status Problem Observation SHALL contain exactly one [1..1] code (CONF:14804)/@code="373930000" Cognitive function finding (CodeSystem: 2.16.840.1.113883.6.96 SNOMEDCT) (CONF:14805) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CD) and let value : CD = self.code.oclAsType(CD) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and value.code = '373930000' and value.codeSystem = '2.16.840.1.113883.6.1') Consol Cognitive Status Problem Observation SHALL contain exactly one [1..1] code (CONF:14804)/@code="373930000" Cognitive function finding (CodeSystem: 2.16.840.1.113883.6.96 SNOMEDCT) (CONF:14805) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Cognitive Status Problem Observation SHOULD contain zero or one [0..1] effectiveTime (CONF:14324) OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) Consol Cognitive Status Problem Observation The effectiveTime element , if present, SHALL contain exactly one [1..1] low (CONF:14325) OCL not self.effectiveTime.low.oclIsUndefined() Consol Cognitive Status Problem Observation effectiveTime, if present, SHOULD contain zero or one [0..1] high (CONF:14326) OCL not self.effectiveTime.high.oclIsUndefined() Consol Cognitive Status Problem Observation The text, if present, SHOULD contain zero or one [0..1] reference/@value (CONF:14342) OCL not self.text.oclIsUndefined() implies (self.text->reject(oclIsUndefined())->forAll(reference->reject(oclIsUndefined())->size() = 1) and self.text->reject(oclIsUndefined())->forAll(reference->reject(oclIsUndefined())->one(value->reject(oclIsUndefined())->size() = 1))) Consol Cognitive Status Problem Observation SHALL contain at least one [1..*] id (CONF:14321) OCL (self.id->reject(oclIsUndefined())->isEmpty() or self.id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (self.id->reject(oclIsUndefined())->size() = 1) Consol Cognitive Status Problem Observation MAY contain zero or more [0..*] methodCode (CONF:14693) OCL (self.methodCode->reject(oclIsUndefined())->isEmpty() or self.methodCode->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.methodCode->reject(oclIsUndefined())->isEmpty()) Consol Cognitive Status Problem Observation SHALL contain exactly one [1..1] @moodCode="EVN" Event (CodeSystem: 2.16.840.1.113883.5.1001 HL7ActMood) (CONF:14320) OCL (not self.moodCode.oclIsUndefined()) and self.moodCode=XActMoodDocumentObservation::EVN Consol Cognitive Status Problem Observation MAY contain zero or one [0..1] @negationInd (CONF:14344) OCL not self.negationInd.oclIsUndefined() Consol Cognitive Status Problem Observation MAY contain zero or more [0..*] entryRelationship (CONF:14331, CONF:14588, CONF:14351) Contains @typeCode="REFR" REFR, and Contains exactly one [1..1] Non Medicinal Supply Activity (templateId: 2.16.840.1.113883.10.20.22.4.50) OCL self.entryRelationship->reject(oclIsUndefined())->exists(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.supply.oclIsUndefined() and entryRelationship.supply.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.50') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::REFR) Consol Cognitive Status Problem Observation SHALL contain exactly one [1..1] statusCode/@code="completed" Completed (CodeSystem: 2.16.840.1.113883.5.14 ActStatus) (CONF:14323) OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(CS) and let value : CS = self.statusCode.oclAsType(CS) in (not value.code.oclIsUndefined()) and ( value.code = 'completed')) Consol Cognitive Status Problem Observation SHOULD contain zero or one [0..1] text (CONF:14341) OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (not self.text.oclIsUndefined()) Consol Cognitive Status Problem Observation SHALL contain exactly one [1..1] value, which SHOULD be selected from ValueSet Problem 2.16.840.1.113883.3.88.12.3221.7.4 DYNAMIC (CONF:14349) OCL (self.value->reject(oclIsUndefined())->isEmpty() or self.value->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (self.value->reject(oclIsUndefined())->size() = 1 and self.value->reject(oclIsUndefined())->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(CD) and let value : CD = element.oclAsType(CD) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and ( value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined()))) Consol Cognitive Status Problem Observation SHALL contain exactly one [1..1] value, which SHOULD be selected from ValueSet Problem 2.16.840.1.113883.3.88.12.3221.7.4 DYNAMIC (CONF:14349) OCL (self.value->reject(oclIsUndefined())->isEmpty() or self.value->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.value->reject(oclIsUndefined())->isEmpty()) SHALL contain exactly one [1..1] templateId ( CONF:14926, CONF:14927 ) such that it SHALL contain exactly one [1..1] @root="2.16.840.1.113883.10.20.22.4.4" OCL self.templateId->exists(id : II | (not id.root.oclIsUndefined()) and id.root = '2.16.840.1.113883.10.20.22.4.4') Consol Cognitive Status Result Observation MAY contain zero or more [0..*] entryRelationship (CONF:14469, CONF:14595, CONF:14470) Contains @typeCode="COMP" COMP, and Contains exactly one [1..1] Assessment Scale Observation (templateId: 2.16.840.1.113883.10.20.22.4.69) OCL self.entryRelationship->reject(oclIsUndefined())->exists(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.69') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::COMP) Consol Cognitive Status Result Observation MAY contain zero or more [0..*] entryRelationship (CONF:14276, CONF:14594, CONF:14277) Contains @typeCode="REFR" REFR, and Contains exactly one [1..1] Caregiver Characteristics (templateId: 2.16.840.1.113883.10.20.22.4.72) OCL self.entryRelationship->reject(oclIsUndefined())->exists(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.72') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::REFR) Consol Cognitive Status Result Observation SHALL contain exactly one [1..1] @classCode="OBS" Observation (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:14249) OCL (not self.classCode.oclIsUndefined()) and self.classCode=ActClassObservation::OBS Consol Cognitive Status Result Observation SHALL contain exactly one [1..1] code (CONF:14591)/@code="373930000" Cognitive function finding (CodeSystem: 2.16.840.1.113883.6.96 SNOMEDCT) (CONF:14592) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CD) and let value : CD = self.code.oclAsType(CD) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and value.code = '373930000' and value.codeSystem = '2.16.840.1.113883.6.96') Consol Cognitive Status Result Observation SHALL contain exactly one [1..1] code (CONF:14591)/@code="373930000" Cognitive function finding (CodeSystem: 2.16.840.1.113883.6.96 SNOMEDCT) (CONF:14592) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Cognitive Status Result Observation SHALL contain exactly one [1..1] effectiveTime (CONF:14261) OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) Consol Cognitive Status Result Observation SHALL contain at least one [1..*] id (CONF:14257) OCL (self.id->reject(oclIsUndefined())->isEmpty() or self.id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.id->reject(oclIsUndefined())->isEmpty()) Consol Cognitive Status Result Observation SHOULD contain zero or more [0..*] interpretationCode (CONF:14264) OCL (self.interpretationCode->reject(oclIsUndefined())->isEmpty() or self.interpretationCode->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.interpretationCode->reject(oclIsUndefined())->isEmpty()) Consol Cognitive Status Result Observation MAY contain zero or one [0..1] methodCode (CONF:14265) OCL (self.methodCode->reject(oclIsUndefined())->isEmpty() or self.methodCode->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.methodCode->reject(oclIsUndefined())->isEmpty()) Consol Cognitive Status Result Observation SHALL contain exactly one [1..1] @moodCode="EVN" Event (CodeSystem: 2.16.840.1.113883.5.1001 HL7ActMood) (CONF:14250) OCL (not self.moodCode.oclIsUndefined()) and self.moodCode=XActMoodDocumentObservation::EVN Consol Cognitive Status Result Observation MAY contain zero or more [0..*] entryRelationship (CONF:14272, CONF:14593, CONF:14273) Contains @typeCode="REFR" REFR, and Contains exactly one [1..1] Non Medicinal Supply Activity (templateId: 2.16.840.1.113883.10.20.22.4.50) OCL self.entryRelationship->reject(oclIsUndefined())->exists(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.supply.oclIsUndefined() and entryRelationship.supply.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.50') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::REFR) Consol Cognitive Status Result Observation SHOULD contain zero or more [0..*] referenceRange (CONF:14267) OCL self.referenceRange->reject(oclIsUndefined())->exists(referenceRange : POCDMT000040ReferenceRange | not referenceRange.oclIsUndefined() and referenceRange.oclIsKindOf(POCDMT000040ReferenceRange)) Consol Cognitive Status Result Observation SHOULD contain zero or more [0..*] referenceRange (CONF:14267) referenceRange SHALL contain exactly one [1..1] observationRange, where its type is Observation Range (CONF:14268) OCL self.referenceRange->reject(oclIsUndefined())->reject(observationRange->reject(oclIsUndefined())->one(observationRange : POCDMT000040ObservationRange | not observationRange.oclIsUndefined() and observationRange.oclIsKindOf(POCDMT000040ObservationRange)))->reject(oclIsUndefined())->size()=0 Consol Cognitive Status Result Observation SHOULD contain zero or more [0..*] referenceRange (CONF:14267) each SHALL contain exactly one [1..1] observationRange, where (CONF:14268) observationRange observationRange SHALL NOT contain [0..0] code (CONF:14269) OCL self.referenceRange.observationRange->reject(oclIsUndefined())->reject(code.oclIsUndefined())->reject(oclIsUndefined())->size()=0 Consol Cognitive Status Result Observation SHALL contain exactly one [1..1] statusCode (CONF:14254)/@code="completed" Completed (CodeSystem: 2.16.840.1.113883.5.14 ActStatus) OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(CS) and let value : CS = self.statusCode.oclAsType(CS) in (not value.code.oclIsUndefined()) and ( value.code = 'completed')) Consol Cognitive Status Result Observation SHALL contain exactly one [1..1] statusCode (CONF:14254)/@code="completed" Completed (CodeSystem: 2.16.840.1.113883.5.14 ActStatus) OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) Consol Cognitive Status Result Observation MAY contain zero or one [0..1] targetSiteCode (CONF:14270) OCL (self.targetSiteCode->reject(oclIsUndefined())->isEmpty() or self.targetSiteCode->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.targetSiteCode->reject(oclIsUndefined())->isEmpty()) Consol Cognitive Status Result Observation SHOULD contain zero or one [0..1] text (CONF:14258) OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (not self.text.oclIsUndefined()) Consol Cognitive Status Result Observation text, if present, SHOULD contain zero or one [0..1] reference/@value (CONF:15924) OCL not self.text.oclIsUndefined() implies (self.text->reject(oclIsUndefined())->forAll(reference->reject(oclIsUndefined())->size() = 1) and self.text->reject(oclIsUndefined())->forAll(reference->reject(oclIsUndefined())->one(value->reject(oclIsUndefined())->size() = 1))) Consol Cognitive Status Result Observation SHALL contain exactly one [1..1] value (CONF:14263) OCL (self.value->reject(oclIsUndefined())->isEmpty() or self.value->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.value->reject(oclIsUndefined())->isEmpty()) Consol Cognitive Status Result Observation If value/@xsi:type=CD, SHOULD contain a code from SNOMED CT (CodeSystem: 2.16.840.1.113883.6.96) (CONF:14271) OCL self.value->reject(oclIsUndefined())->forAll(val | val.oclIsTypeOf(CD) implies val.oclAsType(CD).codeSystem = '2.16.840.1.113883.6.96') SHALL contain exactly one [1..1] templateId ( CONF:9138 ) such that it SHALL contain exactly one [1..1] @root="2.16.840.1.113883.10.20.22.4.2" OCL self.templateId->exists(id : II | (not id.root.oclIsUndefined()) and id.root = '2.16.840.1.113883.10.20.22.4.2') Consol Cognitive Status Result Organizer SHALL contain exactly one [1..1] @classCode="CLUSTER" (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:14369) OCL (not self.classCode.oclIsUndefined()) and self.classCode=XActClassDocumentEntryOrganizer::CLUSTER Consol Cognitive Status Result Organizer SHALL contain exactly one [1..1] code (CONF:14378) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Cognitive Status Result Organizer code SHOULD contain zero or one [0..1] @code should be selected from ICF (codeSystem 2.16.840.1.113883.6.254) or SNOMED CT (codeSystem 2.16.840.1.113883.6.96) (CONF:14697, CONF:14698) OCL (not self.code.oclIsUndefined()) and (not self.code.codeSystem.oclIsUndefined()) and (self.code.codeSystem = '2.16.840.1.113883.6.254' or self.code.codeSystem = '2.16.840.1.113883.6.96') Consol Cognitive Status Result Organizer SHALL contain at least one [1..*] component (CONF:14373, CONF:14381) Contains exactly one [1..1] Cognitive Status Result Observation (templateId: 2.16.840.1.113883.10.20.22.4.74) OCL self.component->reject(oclIsUndefined())->exists(component : POCDMT000040Component4 | not component.observation.oclIsUndefined() and component.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.74')) Consol Cognitive Status Result Organizer SHALL contain at least one [1..*] id (CONF:14377) OCL (self.id->reject(oclIsUndefined())->isEmpty() or self.id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.id->reject(oclIsUndefined())->isEmpty()) Consol Cognitive Status Result Organizer SHALL contain exactly one [1..1] @moodCode="EVN" Event (CodeSystem: 2.16.840.1.113883.5.1001 HL7ActMood) (CONF:14371) OCL (not self.moodCode.oclIsUndefined()) and self.moodCode=ActMood::EVN Consol Cognitive Status Result Organizer SHALL contain exactly one [1..1] statusCode (CONF:14372)/@code="completed" Completed (CodeSystem: 2.16.840.1.113883.5.14 ActStatus) OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(CS) and let value : CS = self.statusCode.oclAsType(CS) in (not value.code.oclIsUndefined()) and ( value.code = 'completed')) Consol Cognitive Status Result Organizer SHALL contain exactly one [1..1] statusCode (CONF:14372)/@code="completed" Completed (CodeSystem: 2.16.840.1.113883.5.14 ActStatus) OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) SHALL contain exactly one [1..1] templateId ( CONF:7126, CONF:9134 ) such that it SHALL contain exactly one [1..1] @root="2.16.840.1.113883.10.20.22.4.1" OCL self.templateId->exists(id : II | (not id.root.oclIsUndefined()) and id.root = '2.16.840.1.113883.10.20.22.4.1') Consol Comment Activity MAY contain zero or one [0..1] author (CONF:9433) OCL self.author->reject(oclIsUndefined())->one(author : POCDMT000040Author | not author.oclIsUndefined() and author.oclIsKindOf(POCDMT000040Author)) Consol Comment Activity MAY contain zero or one [0..1] author (CONF:9433) author SHALL contain exactly one [1..1] assignedAuthor, where its type is Assigned Author (CONF:9435) OCL self.author->reject(oclIsUndefined())->reject(assignedAuthor->reject(oclIsUndefined())->one(assignedAuthor : POCDMT000040AssignedAuthor | not assignedAuthor.oclIsUndefined() and assignedAuthor.oclIsKindOf(POCDMT000040AssignedAuthor)))->reject(oclIsUndefined())->size()=0 Consol Comment Activity MAY contain zero or one [0..1] author (CONF:9433) each SHALL contain exactly one [1..1] assignedAuthor, where (CONF:9435) assignedAuthor SHALL contain exactly one [1..1] addr with data type USRealmAddress (CONF:9437) OCL self.author.assignedAuthor->reject(oclIsUndefined())->reject((addr->reject(oclIsUndefined())->isEmpty() or addr->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (addr->reject(oclIsUndefined())->size() = 1))->reject(oclIsUndefined())->size()=0 Consol Comment Activity MAY contain zero or one [0..1] author (CONF:9433) each SHALL contain exactly one [1..1] assignedAuthor, where (CONF:9435) assignedAuthor SHALL satisfy: include assignedPerson/name or representedOrganization/name (CONF:9438) OCL self.author.assignedAuthor->reject(oclIsUndefined())->reject(assignedPerson->reject(oclIsUndefined())->one(element | not element.oclIsUndefined() and element.name->reject(oclIsUndefined())->size() = 1) xor representedOrganization->reject(oclIsUndefined())->one(element | not element.oclIsUndefined() and element.name->reject(oclIsUndefined())->size() = 1))->reject(oclIsUndefined())->size()=0 Consol Comment Activity MAY contain zero or one [0..1] author (CONF:9433) each SHALL contain exactly one [1..1] assignedAuthor, where (CONF:9435) assignedAuthor SHALL contain exactly one [1..1] id (CONF:9436) OCL self.author.assignedAuthor->reject(oclIsUndefined())->reject((id->reject(oclIsUndefined())->isEmpty() or id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (id->reject(oclIsUndefined())->size() = 1))->reject(oclIsUndefined())->size()=0 Consol Comment Activity MAY contain zero or one [0..1] author (CONF:9433) author SHALL contain exactly one [1..1] time (CONF:9434) OCL self.author->reject(oclIsUndefined())->reject((time.oclIsUndefined() or time.isNullFlavorUndefined()) implies (not time.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol Comment Activity SHALL contain exactly one [1..1] @classCode="ACT" Act (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:9425) OCL (not self.classCode.oclIsUndefined()) and self.classCode=XActClassDocumentEntryAct::ACT Consol Comment Activity SHALL contain exactly one [1..1] code/@code="48767-8" Annotation comment (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:9428) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CD) and let value : CD = self.code.oclAsType(CD) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and value.code = '48767-8' and value.codeSystem = '2.16.840.1.113883.6.1') Consol Comment Activity SHALL contain exactly one [1..1] @moodCode="EVN" Event (CodeSystem: 2.16.840.1.113883.5.1001 HL7ActMood) (CONF:9426) OCL (not self.moodCode.oclIsUndefined()) and self.moodCode=XDocumentActMood::EVN Consol Comment Activity SHALL contain exactly one [1..1] text (CONF:9430) OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (not self.text.oclIsUndefined()) Consol Comment Activity text SHALL contain exactly one [1..1] reference (CONF:15967) OCL not self.text.oclIsUndefined() implies self.text->reject(oclIsUndefined())->forAll(reference->reject(oclIsUndefined())->size() = 1) Consol Comment Activity reference SHALL contain exactly one [1..1] @value (CONF:15968) OCL self.text->reject(oclIsUndefined())->forAll(reference->reject(oclIsUndefined())->size() = 1) implies self.text->reject(oclIsUndefined())->forAll(reference->reject(oclIsUndefined())->one(value->reject(oclIsUndefined())->size() = 1)) Consol Complications Section SHALL contain exactly one [1..1] code (CONF:15453)/@code="55109-3" Complications (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:15454) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CE) and let value : CE = self.code.oclAsType(CE) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and ( value.code = '55109-3' and value.codeSystem = '2.16.840.1.113883.6.1')) Consol Complications Section SHALL contain exactly one [1..1] code (CONF:15453)/@code="55109-3" Complications (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:15454) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Complications Section MAY contain zero or more [0..*] entry (CONF:8795, CONF:8796) Contains exactly one [1..1] Problem Observation (templateId: 2.16.840.1.113883.10.20.22.4.4) OCL self.entry->reject(oclIsUndefined())->exists(entry : POCDMT000040Entry | not entry.observation.oclIsUndefined() and entry.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.4')) Consol Complications Section SHALL contain exactly one [1..1] text (CONF:8177) OCL not self.text.oclIsUndefined() Consol Complications Section SHALL contain exactly one [1..1] title (CONF:8176) OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) Consol Consultation Note MAY contain zero or one [0..1] component (CONF:9507) Contains exactly one [1..1] Allergies Section Entries Optional (templateId: 2.16.840.1.113883.10.20.22.2.6) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.6')) Consol Consultation Note MAY contain zero or one [0..1] component (CONF:9491) Contains exactly one [1..1] Assessment And Plan Section (templateId: 2.16.840.1.113883.10.20.22.2.9) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.9')) Consol Consultation Note MAY contain zero or one [0..1] component (CONF:9487) Contains exactly one [1..1] Assessment Section (templateId: 2.16.840.1.113883.10.20.22.2.8) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.8')) Consol Consultation Note MAY contain zero or one [0..1] component (CONF:10029) Contains exactly one [1..1] Chief Complaint And Reason For Visit Section (templateId: 2.16.840.1.113883.10.20.22.2.13) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.13')) Consol Consultation Note MAY contain zero or one [0..1] component (CONF:9509) Contains exactly one [1..1] Chief Complaint Section (templateId: 1.3.6.1.4.1.19376.1.5.3.1.1.13.2.1) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.1.13.2.1')) Consol Consultation Note SHALL contain exactly one [1..1] code (CONF:17176), which SHALL be selected from ValueSet ConsultDocumentType 2.16.840.1.113883.11.20.9.31 DYNAMIC (CONF:17177) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CE) and let value : CE = self.code.oclAsType(CE) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and ( value.codeSystem = '2.16.840.1.113883.6.1' and (value.code = '11488-4' or value.code = '34100-8' or value.code = '34104-0' or value.code = '51845-6' or value.code = '51853-0' or value.code = '51846-4' or value.code = '34101-6' or value.code = '34749-2' or value.code = '34102-4' or value.code = '34099-2' or value.code = '34756-7' or value.code = '34758-3' or value.code = '34760-9' or value.code = '34879-7' or value.code = '34761-7' or value.code = '34764-1' or value.code = '34771-6' or value.code = '34776-5' or value.code = '34777-3' or value.code = '34779-9' or value.code = '34781-5' or value.code = '34783-1' or value.code = '34785-6' or value.code = '34795-5' or value.code = '34797-1' or value.code = '34798-9' or value.code = '34800-3' or value.code = '34803-7' or value.code = '34855-7' or value.code = '34805-2' or value.code = '34807-8' or value.code = '34810-2' or value.code = '34812-8' or value.code = '34814-4' or value.code = '34816-9' or value.code = '34820-1' or value.code = '34822-7' or value.code = '34824-3' or value.code = '34826-8' or value.code = '34828-4' or value.code = '34788-0' or value.code = '34791-4' or value.code = '34103-2' or value.code = '34831-8' or value.code = '34833-4' or value.code = '34835-9' or value.code = '34837-5' or value.code = '34839-1' or value.code = '34841-7' or value.code = '34845-8' or value.code = '34847-4' or value.code = '34849-0' or value.code = '34851-6' or value.code = '34853-2'))) Consol Consultation Note SHALL contain exactly one [1..1] code (CONF:17176), which SHALL be selected from ValueSet ConsultDocumentType 2.16.840.1.113883.11.20.9.31 DYNAMIC (CONF:17177) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Consultation Note SHALL contain exactly one [1..1] componentOf (CONF:8386) OCL self.componentOf->reject(oclIsUndefined())->one(componentOf : POCDMT000040Component1 | not componentOf.oclIsUndefined() and componentOf.oclIsKindOf(POCDMT000040Component1)) Consol Consultation Note SHALL contain exactly one [1..1] componentOf (CONF:8386) componentOf SHALL contain exactly one [1..1] encompassingEncounter, where its type is Encompassing Encounter2 (CONF:8387) OCL self.componentOf->reject(oclIsUndefined())->reject(encompassingEncounter->reject(oclIsUndefined())->one(encompassingEncounter : POCDMT000040EncompassingEncounter | not encompassingEncounter.oclIsUndefined() and encompassingEncounter.oclIsKindOf(POCDMT000040EncompassingEncounter)))->reject(oclIsUndefined())->size()=0 Consol Consultation Note SHALL contain exactly one [1..1] componentOf (CONF:8386) each SHALL contain exactly one [1..1] encompassingEncounter, where (CONF:8387) encompassingEncounter SHALL contain exactly one [1..1] effectiveTime (CONF:8389) OCL self.componentOf.encompassingEncounter->reject(oclIsUndefined())->reject((effectiveTime.oclIsUndefined() or effectiveTime.isNullFlavorUndefined()) implies (not effectiveTime.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol Consultation Note SHALL contain exactly one [1..1] componentOf (CONF:8386) each SHALL contain exactly one [1..1] encompassingEncounter, where (CONF:8387) encompassingEncounter MAY contain zero or more [0..*] encounterParticipant, where its type is Encounter Participant (CONF:8392) OCL self.componentOf.encompassingEncounter->reject(oclIsUndefined())->reject(encounterParticipant->reject(oclIsUndefined())->exists(encounterParticipant : POCDMT000040EncounterParticipant | not encounterParticipant.oclIsUndefined() and encounterParticipant.oclIsKindOf(POCDMT000040EncounterParticipant)))->reject(oclIsUndefined())->size()=0 Consol Consultation Note SHALL contain exactly one [1..1] componentOf (CONF:8386) each SHALL contain exactly one [1..1] encompassingEncounter, where (CONF:8387) each MAY contain zero or more [0..*] encounterParticipant, where (CONF:8392) encounterParticipant The responsibleParty element, if present, SHALL contain an assignedEntity element which SHALL contain an assignedPerson element, a representedOrganization element, or both. (CONF:8396) OCL self.componentOf.encompassingEncounter.encounterParticipant->reject(oclIsUndefined())->reject(not assignedEntity.assignedPerson.oclIsUndefined() or not assignedEntity.representedOrganization->reject(oclIsUndefined())->isEmpty())->reject(oclIsUndefined())->size()=0 Consol Consultation Note SHALL contain exactly one [1..1] componentOf (CONF:8386) each SHALL contain exactly one [1..1] encompassingEncounter, where (CONF:8387) encompassingEncounter SHALL contain exactly one [1..1] id (CONF:8388) OCL self.componentOf.encompassingEncounter->reject(oclIsUndefined())->reject((id->reject(oclIsUndefined())->isEmpty() or id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (id->reject(oclIsUndefined())->size() = 1))->reject(oclIsUndefined())->size()=0 Consol Consultation Note SHALL contain exactly one [1..1] componentOf (CONF:8386) each SHALL contain exactly one [1..1] encompassingEncounter, where (CONF:8387) encompassingEncounter MAY contain zero or one [0..1] responsibleParty, where its type is Responsible Party (CONF:8391) OCL self.componentOf.encompassingEncounter->reject(oclIsUndefined())->reject(responsibleParty->reject(oclIsUndefined())->one(responsibleParty : POCDMT000040ResponsibleParty | not responsibleParty.oclIsUndefined() and responsibleParty.oclIsKindOf(POCDMT000040ResponsibleParty)))->reject(oclIsUndefined())->size()=0 Consol Consultation Note SHALL contain exactly one [1..1] componentOf (CONF:8386) each SHALL contain exactly one [1..1] encompassingEncounter, where (CONF:8387) each MAY contain zero or one [0..1] responsibleParty, where (CONF:8391) responsibleParty The responsibleParty element, if present, SHALL contain an assignedEntity element which SHALL contain an assignedPerson element, a representedOrganization element, or both. (CONF:8394) OCL self.componentOf.encompassingEncounter.responsibleParty->reject(oclIsUndefined())->reject(not assignedEntity.assignedPerson.oclIsUndefined() or not assignedEntity.representedOrganization->reject(oclIsUndefined())->isEmpty())->reject(oclIsUndefined())->size()=0 Consol Consultation Note SHALL NOT include a Chief Complaint and Reason for Visit Section with either a Chief Complaint Section or a Reason for Visit Section. (CONF:10055) OCL (self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.1.13.2.1')) or self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.12'))) xor self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.13')) Consol Consultation Note SHALL NOT include an Assessment/Plan Section when an Assessment Section and a Plan of Care Section are present (CONF:10028) OCL (self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.10')) or self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.8'))) xor self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.9')) Consol Consultation Note MAY contain zero or one [0..1] component (CONF:9513) Contains exactly one [1..1] Family History Section (templateId: 2.16.840.1.113883.10.20.22.2.15) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.15')) Consol Consultation Note MAY contain zero or one [0..1] component (CONF:9515) Contains exactly one [1..1] General Status Section (templateId: 2.16.840.1.113883.10.20.2.5) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.2.5')) Consol Consultation Note SHALL include an Assessment and Plan Section, or an Assessment Section and a Plan Section (CONF:9501) OCL (self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.10')) and self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.8'))) xor self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.9')) Consol Consultation Note SHALL include a Reason for Referral or Reason for Visit section (CONF:9504) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.3.1')) xor self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.12')) Consol Consultation Note MAY contain zero or one [0..1] component (CONF:9517) Contains exactly one [1..1] History Of Past Illness Section (templateId: 2.16.840.1.113883.10.20.22.2.20) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.20')) Consol Consultation Note SHALL contain exactly one [1..1] component (CONF:9493) Contains exactly one [1..1] History Of Present Illness Section (templateId: 1.3.6.1.4.1.19376.1.5.3.1.3.4) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.3.4')) Consol Consultation Note MAY contain zero or one [0..1] component (CONF:9519) Contains exactly one [1..1] Immunizations Section (templateId: 2.16.840.1.113883.10.20.22.2.2.1) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.2.1')) Consol Consultation Note SHALL contain at least one [1..*] inFulfillmentOf (CONF:8382) OCL self.inFulfillmentOf->reject(oclIsUndefined())->exists(inFulfillmentOf : POCDMT000040InFulfillmentOf | not inFulfillmentOf.oclIsUndefined() and inFulfillmentOf.oclIsKindOf(POCDMT000040InFulfillmentOf)) Consol Consultation Note SHALL contain at least one [1..*] inFulfillmentOf (CONF:8382) inFulfillmentOf SHALL contain exactly one [1..1] order, where its type is Order (CONF:8385) OCL self.inFulfillmentOf->reject(oclIsUndefined())->reject(order->reject(oclIsUndefined())->one(order : POCDMT000040Order | not order.oclIsUndefined() and order.oclIsKindOf(POCDMT000040Order)))->reject(oclIsUndefined())->size()=0 Consol Consultation Note SHALL contain at least one [1..*] inFulfillmentOf (CONF:8382) each SHALL contain exactly one [1..1] order, where (CONF:8385) order SHALL contain at least one [1..*] id (CONF:9102) OCL self.inFulfillmentOf.order->reject(oclIsUndefined())->reject((id->reject(oclIsUndefined())->isEmpty() or id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not id->reject(oclIsUndefined())->isEmpty()))->reject(oclIsUndefined())->size()=0 Consol Consultation Note MAY contain zero or one [0..1] component (CONF:9521)) Contains exactly one [1..1] Medications Section Entries Optional (templateId: 2.16.840.1.113883.10.20.22.2.1) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.1')) Consol Consultation Note SHOULD contain zero or one [0..1] component (CONF:9495) Contains exactly one [1..1] Physical Exam Section (templateId: 2.16.840.1.113883.10.20.2.10) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.2.10')) Consol Consultation Note MAY contain zero or one [0..1] component (CONF:9489) Contains exactly one [1..1] Plan Of Care Section (templateId: 2.16.840.1.113883.10.20.22.2.10) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.10')) Consol Consultation Note MAY contain zero or one [0..1] component (CONF:9523) Contains exactly one [1..1] Problem Section Entries Optional (templateId: 2.16.840.1.113883.10.20.22.2.5) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.5')) Consol Consultation Note MAY contain zero or one [0..1] component (CONF:9525) Contains exactly one [1..1] Procedures Section Entries Optional (templateId: 2.16.840.1.113883.10.20.22.2.7) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.7')) Consol Consultation Note MAY contain zero or one [0..1] component (CONF:9498) Contains exactly one [1..1] Reason For Referral Section (templateId: 1.3.6.1.4.1.19376.1.5.3.1.3.1) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.3.1')) Consol Consultation Note MAY contain zero or one [0..1] component (CONF:9500) Contains exactly one [1..1] Reason For Visit Section (templateId: 2.16.840.1.113883.10.20.22.2.12) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.12')) Consol Consultation Note MAY contain zero or one [0..1] component (CONF:9527) Contains exactly one [1..1] Results Section Entries Optional (templateId: 2.16.840.1.113883.10.20.22.2.3) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.3')) Consol Consultation Note MAY contain zero or one [0..1] component (CONF:9529) Contains exactly one [1..1] Review Of Systems Section (templateId: 1.3.6.1.4.1.19376.1.5.3.1.3.18) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.3.18')) Consol Consultation Note MAY contain zero or one [0..1] component (CONF:9531) Contains exactly one [1..1] Social History Section (templateId: 2.16.840.1.113883.10.20.22.2.17) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.17')) Consol Consultation Note MAY contain zero or one [0..1] component (CONF:9533) Contains exactly one [1..1] Vital Signs Section Entries Optional (templateId: 2.16.840.1.113883.10.20.22.2.4) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.4')) Consol Continuity Of Care Document MAY contain zero or one [0..1] component (CONF:9455) Contains exactly one [1..1] Advance Directives Section (templateId: 2.16.840.1.113883.10.20.22.2.21.1) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.21.1')) Consol Continuity Of Care Document SHALL contain exactly one [1..1] component (CONF:9445) Contains exactly one [1..1] Allergies Section (templateId: 2.16.840.1.113883.10.20.22.2.6.1) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.6.1')) Consol Continuity Of Care Document SHALL contain at least one [1..*] author (CONF:9442) OCL self.author->reject(oclIsUndefined())->exists(author : POCDMT000040Author | not author.oclIsUndefined() and author.oclIsKindOf(POCDMT000040Author)) Consol Continuity Of Care Document SHALL contain at least one [1..*] author (CONF:9442) author SHALL contain exactly one [1..1] assignedAuthor, where its type is Assigned Author (CONF:9443) OCL self.author->reject(oclIsUndefined())->reject(assignedAuthor->reject(oclIsUndefined())->one(assignedAuthor : POCDMT000040AssignedAuthor | not assignedAuthor.oclIsUndefined() and assignedAuthor.oclIsKindOf(POCDMT000040AssignedAuthor)))->reject(oclIsUndefined())->size()=0 Consol Continuity Of Care Document SHALL contain at least one [1..*] author (CONF:9442) each SHALL contain exactly one [1..1] assignedAuthor, where (CONF:9443) assignedAuthor SHALL contain exactly one [1..1] assignedPerson or exactly one [1..1] representedOrganization. (CONF:8456) OCL self.author.assignedAuthor->reject(oclIsUndefined())->reject((not assignedPerson.oclIsUndefined()) xor (not representedOrganization.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol Continuity Of Care Document SHALL contain at least one [1..*] author (CONF:9442) each SHALL contain exactly one [1..1] assignedAuthor, where (CONF:9443) assignedAuthor If assignedAuthor has an associated representedOrganization with no assignedPerson or assignedAuthoringDevice, then the value for "ClinicalDocument/author/assignedAuthor/id/@NullFlavor" SHALL be "NA" "Not applicable" 2.16.840.1.113883.5.1008 NullFlavor STATIC. (CONF:8457) OCL self.author.assignedAuthor->reject(oclIsUndefined())->reject((not representedOrganization.oclIsUndefined() and assignedPerson.oclIsUndefined() and assignedAuthoringDevice.oclIsUndefined()) implies id->reject(oclIsUndefined())->exists(id | not id.isNullFlavorUndefined() and id.nullFlavor = NullFlavor::NA))->reject(oclIsUndefined())->size()=0 Consol Continuity Of Care Document SHALL contain exactly one [1..1] code (CONF:17180)/@code="34133-9" Summarization of Episode Note (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:17181) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CE) and let value : CE = self.code.oclAsType(CE) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and ( value.code = '34133-9' and value.codeSystem = '2.16.840.1.113883.6.1')) Consol Continuity Of Care Document SHALL contain exactly one [1..1] code (CONF:17180)/@code="34133-9" Summarization of Episode Note (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:17181) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Continuity Of Care Document SHALL contain exactly one [1..1] documentationOf (CONF:8452) OCL self.documentationOf->reject(oclIsUndefined())->one(documentationOf : POCDMT000040DocumentationOf | not documentationOf.oclIsUndefined() and documentationOf.oclIsKindOf(POCDMT000040DocumentationOf)) Consol Continuity Of Care Document SHALL contain exactly one [1..1] documentationOf (CONF:8452) documentationOf SHALL contain exactly one [1..1] serviceEvent, where its type is Service Event (CONF:8480) OCL self.documentationOf->reject(oclIsUndefined())->reject(serviceEvent->reject(oclIsUndefined())->one(serviceEvent : POCDMT000040ServiceEvent | not serviceEvent.oclIsUndefined() and serviceEvent.oclIsKindOf(POCDMT000040ServiceEvent)))->reject(oclIsUndefined())->size()=0 Consol Continuity Of Care Document SHALL contain exactly one [1..1] documentationOf (CONF:8452) each SHALL contain exactly one [1..1] serviceEvent, where (CONF:8480) serviceEvent SHALL contain exactly one [1..1] @classCode="PCPR" (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:8453) OCL self.documentationOf.serviceEvent->reject(oclIsUndefined())->reject(not(classCode.oclIsUndefined()) and classCode=ActClassRoot::PCPR)->reject(oclIsUndefined())->size()=0 Consol Continuity Of Care Document SHALL contain exactly one [1..1] documentationOf (CONF:8452) each SHALL contain exactly one [1..1] serviceEvent, where (CONF:8480) serviceEvent SHALL contain exactly one [1..1] effectiveTime with data type EffectiveTime (CONF:8481) OCL self.documentationOf.serviceEvent->reject(oclIsUndefined())->reject((effectiveTime.oclIsUndefined() or effectiveTime.isNullFlavorUndefined()) implies (not effectiveTime.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol Service Event SHALL contain exactly one [1..1] effectiveTime with data type EffectiveTime (CONF:8481) Consol Continuity Of Care Document SHALL contain exactly one [1..1] documentationOf (CONF:8452) each SHALL contain exactly one [1..1] serviceEvent, where (CONF:8480) each SHALL contain exactly one [1..1] effectiveTime with data type EffectiveTime (CONF:8481) effectiveTime SHALL contain exactly one [1..1] high (CONF:8455) OCL self.documentationOf.serviceEvent.effectiveTime->reject(oclIsUndefined())->select(isNullFlavorUndefined())->reject(oclIsUndefined())->reject( ( isNullFlavorUndefined() implies ((high.oclIsUndefined() or high.isNullFlavorUndefined()) implies (not high.oclIsUndefined()) )))->reject(oclIsUndefined())->size()=0 Consol Service Event SHALL contain exactly one [1..1] effectiveTime with data type EffectiveTime (CONF:8481) Consol Continuity Of Care Document SHALL contain exactly one [1..1] documentationOf (CONF:8452) each SHALL contain exactly one [1..1] serviceEvent, where (CONF:8480) each SHALL contain exactly one [1..1] effectiveTime with data type EffectiveTime (CONF:8481) effectiveTime SHALL contain exactly one [1..1] low (CONF:8454) OCL self.documentationOf.serviceEvent.effectiveTime->reject(oclIsUndefined())->select(isNullFlavorUndefined())->reject(oclIsUndefined())->reject( ( isNullFlavorUndefined() implies ((low.oclIsUndefined() or low.isNullFlavorUndefined()) implies (not low.oclIsUndefined()) )))->reject(oclIsUndefined())->size()=0 Consol Continuity Of Care Document SHALL contain exactly one [1..1] documentationOf (CONF:8452) each SHALL contain exactly one [1..1] serviceEvent, where (CONF:8480) serviceEvent SHOULD contain zero or more [0..*] performer, where its type is Performer (CONF:8482) OCL self.documentationOf.serviceEvent->reject(oclIsUndefined())->reject(performer->reject(oclIsUndefined())->exists(performer : POCDMT000040Performer1 | not performer.oclIsUndefined() and performer.oclIsKindOf(POCDMT000040Performer1)))->reject(oclIsUndefined())->size()=0 Consol Continuity Of Care Document SHALL contain exactly one [1..1] documentationOf (CONF:8452) each SHALL contain exactly one [1..1] serviceEvent, where (CONF:8480) each SHOULD contain zero or more [0..*] performer, where (CONF:8482) performer MAY contain zero or one [0..1] assignedEntity, where its type is Assigned Entity (CONF:8459) OCL self.documentationOf.serviceEvent.performer->reject(oclIsUndefined())->reject(assignedEntity->reject(oclIsUndefined())->one(assignedEntity : POCDMT000040AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(POCDMT000040AssignedEntity)))->reject(oclIsUndefined())->size()=0 Consol Continuity Of Care Document SHALL contain exactly one [1..1] documentationOf (CONF:8452) each SHALL contain exactly one [1..1] serviceEvent, where (CONF:8480) each SHOULD contain zero or more [0..*] performer, where (CONF:8482) each MAY contain zero or one [0..1] assignedEntity, where (CONF:8459) assignedEntity MAY contain zero or one [0..1] code, which MAY be selected from (CodeSystem: 2.16.840.1.113883.6.101 NUCC Health Care Provider Taxonomy) (CONF:8461) OCL self.documentationOf.serviceEvent.performer.assignedEntity->reject(oclIsUndefined())->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(CE) and let value : CE = code.oclAsType(CE) in not value.codeSystem.oclIsUndefined() or not value.codeSystemName.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol Continuity Of Care Document SHALL contain exactly one [1..1] documentationOf (CONF:8452) each SHALL contain exactly one [1..1] serviceEvent, where (CONF:8480) each SHOULD contain zero or more [0..*] performer, where (CONF:8482) each MAY contain zero or one [0..1] assignedEntity, where (CONF:8459) assignedEntity SHOULD include zero or one [0..1] id where id/@root ="2.16.840.1.113883.4.6" National Provider Identifier (CONF:10027) OCL self.documentationOf.serviceEvent.performer.assignedEntity->reject(oclIsUndefined())->reject(id->reject(oclIsUndefined())->exists(root='2.16.840.1.113883.4.6'))->reject(oclIsUndefined())->size()=0 Consol Continuity Of Care Document SHALL contain exactly one [1..1] documentationOf (CONF:8452) each SHALL contain exactly one [1..1] serviceEvent, where (CONF:8480) each SHOULD contain zero or more [0..*] performer, where (CONF:8482) each MAY contain zero or one [0..1] assignedEntity, where (CONF:8459) assignedEntity SHALL contain at least one [1..*] id (CONF:10027) OCL self.documentationOf.serviceEvent.performer.assignedEntity->reject(oclIsUndefined())->reject((id->reject(oclIsUndefined())->isEmpty() or id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not id->reject(oclIsUndefined())->isEmpty()))->reject(oclIsUndefined())->size()=0 Consol Continuity Of Care Document SHALL contain exactly one [1..1] documentationOf (CONF:8452) each SHALL contain exactly one [1..1] serviceEvent, where (CONF:8480) each SHOULD contain zero or more [0..*] performer, where (CONF:8482) performer SHALL contain exactly one [1..1] @typeCode="PRF" (CONF:8458) OCL self.documentationOf.serviceEvent.performer->reject(oclIsUndefined())->reject((not typeCode.oclIsUndefined()) and typeCode=XServiceEventPerformer::PRF)->reject(oclIsUndefined())->size()=0 Consol Continuity Of Care Document MAY contain zero or one [0..1] component (CONF:9457) Contains exactly one [1..1] Encounters Section (templateId: 2.16.840.1.113883.10.20.22.2.22.1) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.22.1')) Consol Continuity Of Care Document MAY contain zero or one [0..1] component (CONF:9459) Contains exactly one [1..1] Family History Section (templateId: 2.16.840.1.113883.10.20.22.2.15) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.15')) Consol Continuity Of Care Document MAY contain zero or one [0..1] component (CONF:9461) Contains exactly one [1..1] Functional Status Section (templateId: 2.16.840.1.113883.10.20.22.2.14) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.14')) Consol Continuity Of Care Document MAY contain zero or one [0..1] component (CONF:9463) Contains exactly one [1..1] Immunizations Section Entries Optional (templateId: 2.16.840.1.113883.10.20.22.2.2) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.2')) Consol Continuity Of Care Document SHALL contain exactly one [1..1] languageCode (CONF-5) OCL (self.languageCode.oclIsUndefined() or self.languageCode.isNullFlavorUndefined()) implies (not self.languageCode.oclIsUndefined()) Consol Continuity Of Care Document MAY contain zero or one [0..1] component (CONF:9466) Contains exactly one [1..1] Medical Equipment Section (templateId: 2.16.840.1.113883.10.20.22.2.23) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.23')) Consol Continuity Of Care Document SHALL contain exactly one [1..1] component (CONF:9447) Contains exactly one [1..1] Medications Section (templateId: 2.16.840.1.113883.10.20.22.2.1.1) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.1.1')) Consol Continuity Of Care Document MAY contain zero or one [0..1] component (CONF:9468) Contains exactly one [1..1] Payers Section (templateId: 2.16.840.1.113883.10.20.22.2.18) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.18')) Consol Continuity Of Care Document MAY contain zero or one [0..1] component (CONF:9470) Contains exactly one [1..1] Plan Of Care Section (templateId: 2.16.840.1.113883.10.20.22.2.10) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.10')) Consol Continuity Of Care Document SHALL contain exactly one [1..1] component (CONF:9449) Contains exactly one [1..1] Problem Section (templateId: 2.16.840.1.113883.10.20.22.2.5.1) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.5.1')) Consol Continuity Of Care Document SHALL contain exactly one [1..1] component (CONF:9451) Contains exactly one [1..1] Procedures Section (templateId: 2.16.840.1.113883.10.20.22.2.7.1) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.7.1')) Consol Continuity Of Care Document SHALL contain exactly one [1..1] component (CONF:9453) Contains exactly one [1..1] Results Section (templateId: 2.16.840.1.113883.10.20.22.2.3.1) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.3.1')) Consol Continuity Of Care Document MAY contain zero or one [0..1] component (CONF:9472) Contains exactly one [1..1] Social History Section (templateId: 2.16.840.1.113883.10.20.22.2.17) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.17')) Consol Continuity Of Care Document MAY contain zero or one [0..1] component (CONF:9474) Contains exactly one [1..1] Vital Signs Section Entries Optional (templateId: 2.16.840.1.113883.10.20.22.2.4) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.4')) SHALL contain exactly one [1..1] templateId ( CONF:5252, CONF:10036 ) such that it SHALL contain exactly one [1..1] @root="2.16.840.1.113883.10.20.22.1.1" OCL self.templateId->exists(id : II | (not id.root.oclIsUndefined()) and id.root = '2.16.840.1.113883.10.20.22.1.1') Consol Coverage Activity SHALL contain exactly one [1..1] @classCode="ACT" Act (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:8872) OCL (not self.classCode.oclIsUndefined()) and self.classCode=XActClassDocumentEntryAct::ACT Consol Coverage Activity SHALL contain exactly one [1..1] code/@code="48768-6" Payment Sources (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:8876) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CD) and let value : CD = self.code.oclAsType(CD) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and value.code = '48768-6' and value.codeSystem = '2.16.840.1.113883.6.1') Consol Coverage Activity SHALL contain at least one [1..*] id (CONF:8874) OCL (self.id->reject(oclIsUndefined())->isEmpty() or self.id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.id->reject(oclIsUndefined())->isEmpty()) Consol Coverage Activity SHALL contain exactly one [1..1] @moodCode="EVN" Event (CodeSystem: 2.16.840.1.113883.5.1001 HL7ActMood) (CONF:8873) OCL (not self.moodCode.oclIsUndefined()) and self.moodCode=XDocumentActMood::EVN Consol Coverage Activity SHALL contain at least one [1..*] entryRelationship (CONF:8878, CONF:8879, CONF:15528) Contains @typeCode="COMP" COMP, and Contains exactly one [1..1] Policy Activity (templateId: 2.16.840.1.113883.10.20.22.4.61) OCL self.entryRelationship->reject(oclIsUndefined())->exists(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.61') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::COMP) Consol Coverage Activity MAY contain zero or one [0..1] sequenceNumber/@value (CONF:8973) (CONF:8973) OCL self.entryRelationship->reject(oclIsUndefined())->forAll(er : POCDMT000040EntryRelationship | not er.sequenceNumber.oclIsUndefined()) Consol Coverage Activity SHALL contain exactly one [1..1] statusCode/@code="completed" (CodeSystem: 2.16.840.1.113883.5.14 ActStatus) (CONF:8875) OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(CS) and let value : CS = self.statusCode.oclAsType(CS) in (not value.code.oclIsUndefined()) and ( value.code = 'completed')) Consol DICOM Object Catalog Section SHALL contain exactly one [1..1] code (CONF:15456)/@code="121181" Dicom Object Catalog (CodeSystem: 1.2.840.10008.2.16.4 DCM) (CONF:15457) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CE) and let value : CE = self.code.oclAsType(CE) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and ( value.code = '121181' and value.codeSystem = '1.2.840.10008.2.16.4')) Consol DICOM Object Catalog Section SHALL contain exactly one [1..1] code (CONF:15456)/@code="121181" Dicom Object Catalog (CodeSystem: 1.2.840.10008.2.16.4 DCM) (CONF:15457) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol DICOM Object Catalog Section SHALL contain at least one [1..*] entry (CONF:8530, CONF:15458) Contains exactly one [1..1] Study Act (templateId: 2.16.840.1.113883.10.20.6.2.6) OCL self.entry->reject(oclIsUndefined())->exists(entry : POCDMT000040Entry | not entry.act.oclIsUndefined() and entry.act.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.6.2.6')) Consol Deceased Observation SHALL contain exactly one [1..1] @classCode="OBS" Observation (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:14851) OCL (not self.classCode.oclIsUndefined()) and self.classCode=ActClassObservation::OBS Consol Deceased Observation SHALL contain exactly one [1..1] code (CONF:14853)/@code="ASSERTION" Assertion (CodeSystem: 2.16.840.1.113883.5.4 HL7ActCode) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CD) and let value : CD = self.code.oclAsType(CD) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and value.code = 'ASSERTION' and value.codeSystem = '2.16.840.1.113883.5.4') Consol Deceased Observation SHALL contain exactly one [1..1] code (CONF:14853)/@code="ASSERTION" Assertion (CodeSystem: 2.16.840.1.113883.5.4 HL7ActCode) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Deceased Observation SHALL contain exactly one [1..1] effectiveTime (CONF:14855) OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) Consol Deceased Observation effectiveTime SHALL contain exactly one [1..1] low (CONF:14874) OCL not self.effectiveTime.oclIsUndefined() implies self.effectiveTime.low->reject(oclIsUndefined())->size() = 1 Consol Deceased Observation SHALL contain at least one [1..*] id (CONF:14873) OCL (self.id->reject(oclIsUndefined())->isEmpty() or self.id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.id->reject(oclIsUndefined())->isEmpty()) Consol Deceased Observation SHALL contain exactly one [1..1] @moodCode="EVN" Event (CodeSystem: 2.16.840.1.113883.5.1001 HL7ActMood) (CONF:14852) OCL (not self.moodCode.oclIsUndefined()) and self.moodCode=XActMoodDocumentObservation::EVN Consol Deceased Observation SHOULD contain zero or one [0..1] entryRelationship (CONF:14868, CONF:14875, CONF:14870) Contains @typeCode="CAUS" CAUS, and Contains exactly one [1..1] Problem Observation (templateId: 2.16.840.1.113883.10.20.22.4.4) OCL self.entryRelationship->reject(oclIsUndefined())->one(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.4') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::CAUS) Consol Deceased Observation SHALL contain exactly one [1..1] statusCode (CONF:14854)/@code="completed" Completed (CodeSystem: 2.16.840.1.113883.5.14 ActStatus) OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(CS) and let value : CS = self.statusCode.oclAsType(CS) in (not value.code.oclIsUndefined()) and ( value.code = 'completed')) Consol Deceased Observation SHALL contain exactly one [1..1] statusCode (CONF:14854)/@code="completed" Completed (CodeSystem: 2.16.840.1.113883.5.14 ActStatus) OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) Consol Deceased Observation SHALL contain exactly one [1..1] value with data type CD (CONF:14857)/@code="419099009" Dead (CodeSystem: 2.16.840.1.113883.6.96 SNOMEDCT) (CONF:15142) OCL (self.value->reject(oclIsUndefined())->isEmpty() or self.value->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (self.value->reject(oclIsUndefined())->size() = 1 and self.value->reject(oclIsUndefined())->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(CD) and let value : CD = element.oclAsType(CD) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and ( value.code = '419099009' and value.codeSystem = '2.16.840.1.113883.6.96'))) Consol Deceased Observation SHALL contain exactly one [1..1] value with data type CD (CONF:14857)/@code="419099009" Dead (CodeSystem: 2.16.840.1.113883.6.96 SNOMEDCT) (CONF:15142) OCL (self.value->reject(oclIsUndefined())->isEmpty() or self.value->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (self.value->reject(oclIsUndefined())->size() = 1 and self.value->reject(oclIsUndefined())->forAll(element | element.oclIsTypeOf(CD))) Consol Diagnostic Imaging Report With the exception of the DICOM Object Catalog (templateId 2.16.840.1.113883.10.20.6.1.1), all sections within the Diagnostic Imaging Report content SHOULD contain a title element (CONF:9409) OCL self.getAllSections()->reject(oclIsUndefined())->reject(section : POCDMT000040Section | section.templateId->reject(oclIsUndefined())->exists(root = '2.16.840.1.113883.10.20.6.1.1'))->reject(oclIsUndefined())->forAll(section : POCDMT000040Section | not section.title.oclIsUndefined()) Consol Diagnostic Imaging Report SHALL contain exactly one [1..1] code (CONF:14833), which SHALL be selected from ValueSet DIRDocumentTypeCodes 2.16.840.1.113883.11.20.9.32 DYNAMIC (CONF:14834) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CE) and let value : CE = self.code.oclAsType(CE) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and ( value.codeSystem = '2.16.840.1.113883.6.1' and (value.code = '18748-4' or value.code = '18747-6' or value.code = '18755-9' or value.code = '18760-9' or value.code = '18757-5' or value.code = '18758-3' or value.code = '18745-0' or value.code = '11522-0' or value.code = '18746-8' or value.code = '18751-8' or value.code = '11525-3'))) Consol Diagnostic Imaging Report SHALL contain exactly one [1..1] code (CONF:14833), which SHALL be selected from ValueSet DIRDocumentTypeCodes 2.16.840.1.113883.11.20.9.32 DYNAMIC (CONF:14834) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Diagnostic Imaging Report MAY contain zero or one [0..1] componentOf (CONF:8434) OCL self.componentOf->reject(oclIsUndefined())->one(componentOf : POCDMT000040Component1 | not componentOf.oclIsUndefined() and componentOf.oclIsKindOf(POCDMT000040Component1)) Consol Diagnostic Imaging Report MAY contain zero or one [0..1] componentOf (CONF:8434) componentOf SHALL contain exactly one [1..1] encompassingEncounter, where its type is Encompassing Encounter7 (CONF:8449) OCL self.componentOf->reject(oclIsUndefined())->reject(encompassingEncounter->reject(oclIsUndefined())->one(encompassingEncounter : POCDMT000040EncompassingEncounter | not encompassingEncounter.oclIsUndefined() and encompassingEncounter.oclIsKindOf(POCDMT000040EncompassingEncounter)))->reject(oclIsUndefined())->size()=0 Consol Diagnostic Imaging Report MAY contain zero or one [0..1] componentOf (CONF:8434) each SHALL contain exactly one [1..1] encompassingEncounter, where (CONF:8449) encompassingEncounter SHALL contain exactly one [1..1] effectiveTime (CONF:8437) OCL self.componentOf.encompassingEncounter->reject(oclIsUndefined())->reject((effectiveTime.oclIsUndefined() or effectiveTime.isNullFlavorUndefined()) implies (not effectiveTime.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol Diagnostic Imaging Report MAY contain zero or one [0..1] componentOf (CONF:8434) each SHALL contain exactly one [1..1] encompassingEncounter, where (CONF:8449) encompassingEncounter SHALL contain at least one [1..*] id (CONF:8435) OCL self.componentOf.encompassingEncounter->reject(oclIsUndefined())->reject((id->reject(oclIsUndefined())->isEmpty() or id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not id->reject(oclIsUndefined())->isEmpty()))->reject(oclIsUndefined())->size()=0 Consol Diagnostic Imaging Report MAY contain zero or one [0..1] componentOf (CONF:8434) each SHALL contain exactly one [1..1] encompassingEncounter, where (CONF:8449) encompassingEncounter SHOULD contain zero or one [0..1] encounterParticipant, where its type is Physicianof Record Participant (CONF:8448) OCL self.componentOf.encompassingEncounter->reject(oclIsUndefined())->reject(encounterParticipant->reject(oclIsUndefined())->one(encounterParticipant : POCDMT000040EncounterParticipant | not encounterParticipant.oclIsUndefined() and encounterParticipant.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.6.2.2')))->reject(oclIsUndefined())->size()=0 Consol Diagnostic Imaging Report MAY contain zero or one [0..1] componentOf (CONF:8434) each SHALL contain exactly one [1..1] encompassingEncounter, where (CONF:8449) encompassingEncounter MAY contain zero or one [0..1] responsibleParty, where its type is Responsible Party (CONF:8438) OCL self.componentOf.encompassingEncounter->reject(oclIsUndefined())->reject(responsibleParty->reject(oclIsUndefined())->one(responsibleParty : POCDMT000040ResponsibleParty | not responsibleParty.oclIsUndefined() and responsibleParty.oclIsKindOf(POCDMT000040ResponsibleParty)))->reject(oclIsUndefined())->size()=0 Consol Diagnostic Imaging Report MAY contain zero or one [0..1] componentOf (CONF:8434) each SHALL contain exactly one [1..1] encompassingEncounter, where (CONF:8449) each MAY contain zero or one [0..1] responsibleParty, where (CONF:8438) responsibleParty SHALL contain exactly one [1..1] assignedEntity, where its type is Assigned Entity (CONF:9407) OCL self.componentOf.encompassingEncounter.responsibleParty->reject(oclIsUndefined())->reject(assignedEntity->reject(oclIsUndefined())->one(assignedEntity : POCDMT000040AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(POCDMT000040AssignedEntity)))->reject(oclIsUndefined())->size()=0 Consol Diagnostic Imaging Report MAY contain zero or one [0..1] componentOf (CONF:8434) each SHALL contain exactly one [1..1] encompassingEncounter, where (CONF:8449) each MAY contain zero or one [0..1] responsibleParty, where (CONF:8438) each SHALL contain exactly one [1..1] assignedEntity, where (CONF:9407) assignedEntity SHOULD contain zero or one [0..1] assignedPerson OR contain zero or one [0..1] representedOrganization (CONF:8439) OCL self.componentOf.encompassingEncounter.responsibleParty.assignedEntity->reject(oclIsUndefined())->reject(assignedPerson->reject(oclIsUndefined())->size() = 1 or representedOrganization->reject(oclIsUndefined())->size() = 1)->reject(oclIsUndefined())->size()=0 Consol Diagnostic Imaging Report SHOULD contain zero or one [0..1] component (CONF:15141) Contains exactly one [1..1] DICOM Object Catalog Section (templateId: 2.16.840.1.113883.10.20.6.1.1) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.6.1.1')) Consol Diagnostic Imaging Report SHALL contain exactly one [1..1] documentationOf (CONF:8416) OCL self.documentationOf->reject(oclIsUndefined())->one(documentationOf : POCDMT000040DocumentationOf | not documentationOf.oclIsUndefined() and documentationOf.oclIsKindOf(POCDMT000040DocumentationOf)) Consol Diagnostic Imaging Report SHALL contain exactly one [1..1] documentationOf (CONF:8416) documentationOf SHALL contain exactly one [1..1] serviceEvent, where its type is Service Event4 (CONF:8431) OCL self.documentationOf->reject(oclIsUndefined())->reject(serviceEvent->reject(oclIsUndefined())->one(serviceEvent : POCDMT000040ServiceEvent | not serviceEvent.oclIsUndefined() and serviceEvent.oclIsKindOf(POCDMT000040ServiceEvent)))->reject(oclIsUndefined())->size()=0 Consol Diagnostic Imaging Report SHALL contain exactly one [1..1] documentationOf (CONF:8416) each SHALL contain exactly one [1..1] serviceEvent, where (CONF:8431) serviceEvent3 SHALL contain exactly one [1..1] @classCode="ACT" Act (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:8430) OCL self.documentationOf.serviceEvent->reject(oclIsUndefined())->reject(not(classCode.oclIsUndefined()) and classCode=ActClassRoot::ACT)->reject(oclIsUndefined())->size()=0 Consol Diagnostic Imaging Report SHALL contain exactly one [1..1] documentationOf (CONF:8416) each SHALL contain exactly one [1..1] serviceEvent, where (CONF:8431) serviceEvent3 SHALL contain exactly one [1..1] code (CONF:8419) OCL self.documentationOf.serviceEvent->reject(oclIsUndefined())->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol Diagnostic Imaging Report SHALL contain exactly one [1..1] documentationOf (CONF:8416) each SHALL contain exactly one [1..1] serviceEvent, where (CONF:8431) serviceEvent3 SHOULD contain at least one [1..*] id (CONF:8418) OCL self.documentationOf.serviceEvent->reject(oclIsUndefined())->reject((id->reject(oclIsUndefined())->isEmpty() or id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not id->reject(oclIsUndefined())->isEmpty()))->reject(oclIsUndefined())->size()=0 Consol Diagnostic Imaging Report SHALL contain exactly one [1..1] documentationOf (CONF:8416) each SHALL contain exactly one [1..1] serviceEvent, where (CONF:8431) serviceEvent3 SHOULD contain zero or more [0..*] performer, where its type is Physician Reading Study Performer (CONF:8422) OCL self.documentationOf.serviceEvent->reject(oclIsUndefined())->reject(performer->reject(oclIsUndefined())->exists(performer : POCDMT000040Performer1 | not performer.oclIsUndefined() and performer.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.6.2.1')))->reject(oclIsUndefined())->size()=0 Consol Diagnostic Imaging Report SHALL contain exactly one [1..1] component (CONF:8776) Contains exactly one [1..1] Findings Section (templateId: 2.16.840.1.113883.10.20.6.1.2) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.6.1.2')) Consol Diagnostic Imaging Report SHALL contain exactly one [1..1] id (CONF:5363) OCL (self.id.oclIsUndefined() or self.id.isNullFlavorUndefined()) implies (not self.id.oclIsUndefined()) Consol Diagnostic Imaging Report MAY contain zero or one [0..1] inFulfillmentOf OCL self.inFulfillmentOf->reject(oclIsUndefined())->one(inFulfillmentOf : POCDMT000040InFulfillmentOf | not inFulfillmentOf.oclIsUndefined() and inFulfillmentOf.oclIsKindOf(POCDMT000040InFulfillmentOf)) Consol Diagnostic Imaging Report MAY contain zero or one [0..1] participant (CONF:8414) OCL self.participant->reject(oclIsUndefined())->one(participant : POCDMT000040Participant1 | not participant.oclIsUndefined() and participant.oclIsKindOf(POCDMT000040Participant1)) Consol Diagnostic Imaging Report MAY contain zero or one [0..1] participant (CONF:8414) participant1 SHALL contain exactly one [1..1] associatedEntity, where its type is Associated Entity (CONF:8415) OCL self.participant->reject(oclIsUndefined())->reject(associatedEntity->reject(oclIsUndefined())->one(associatedEntity : POCDMT000040AssociatedEntity | not associatedEntity.oclIsUndefined() and associatedEntity.oclIsKindOf(POCDMT000040AssociatedEntity)))->reject(oclIsUndefined())->size()=0 Consol Diagnostic Imaging Report MAY contain zero or one [0..1] participant (CONF:8414) each SHALL contain exactly one [1..1] associatedEntity, where (CONF:8415) associatedEntity SHALL contain exactly one [1..1] associatedPerson, where its type is Person (CONF:8415) OCL self.participant.associatedEntity->reject(oclIsUndefined())->reject(associatedPerson->reject(oclIsUndefined())->one(associatedPerson : POCDMT000040Person | not associatedPerson.oclIsUndefined() and associatedPerson.oclIsKindOf(POCDMT000040Person)))->reject(oclIsUndefined())->size()=0 Consol Diagnostic Imaging Report MAY contain zero or one [0..1] participant (CONF:8414) each SHALL contain exactly one [1..1] associatedEntity, where (CONF:8415) each SHALL contain exactly one [1..1] associatedperson, where (CONF:8415) associatedPerson SHALL contain exactly one [1..1] name (CONF:9406) OCL self.participant.associatedEntity.associatedPerson->reject(oclIsUndefined())->reject((name->reject(oclIsUndefined())->isEmpty() or name->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (name->reject(oclIsUndefined())->size() = 1))->reject(oclIsUndefined())->size()=0 Consol Diagnostic Imaging Report MAY contain zero or one [0..1] relatedDocument (CONF:8432) OCL self.relatedDocument->reject(oclIsUndefined())->one(relatedDocument : POCDMT000040RelatedDocument | not relatedDocument.oclIsUndefined() and relatedDocument.oclIsKindOf(POCDMT000040RelatedDocument)) Consol Diagnostic Imaging Report Apart from the DICOM Object Catalog (templateId 2.16.840.1.113883.10.20.6.1.1), all other instances of section SHALL contain at least one text element or one or more component elements (CONF:9413) OCL self.getAllSections()->reject(oclIsUndefined())->reject(section : POCDMT000040Section | section.templateId->reject(oclIsUndefined())->exists(root = '2.16.840.1.113883.10.20.6.1.1'))->reject(oclIsUndefined())->forAll(section : POCDMT000040Section | not section.text.oclIsUndefined()) Consol Diagnostic Imaging Report This code SHOULD contain zero or one [0..1] @code="18748-4" Diagnostic Imaging Report (CodeSystem: LOINC2.16.840.1.113883.6.1) (CONF:8409) OCL not self.code.oclIsUndefined() and self.code.code = '18748-4' Consol Discharge Diet Section SHALL contain exactly one [1..1] code (CONF:15459)/@code="42344-2" Discharge Diet (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:15460) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CE) and let value : CE = self.code.oclAsType(CE) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and ( value.code = '42344-2' and value.codeSystem = '2.16.840.1.113883.6.1')) Consol Discharge Diet Section SHALL contain exactly one [1..1] code (CONF:15459)/@code="42344-2" Discharge Diet (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:15460) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Discharge Diet Section SHALL contain exactly one [1..1] text (CONF:7978) OCL not self.text.oclIsUndefined() Consol Discharge Diet Section SHALL contain exactly one [1..1] title (CONF:7977) OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) Consol Discharge Medication SHALL contain exactly one [1..1] @classCode="ACT" Act (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:7689) OCL (not self.classCode.oclIsUndefined()) and self.classCode=XActClassDocumentEntryAct::ACT Consol Discharge Medication SHALL contain exactly one [1..1] code/@code="10183-2" Discharge Medication (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:7691) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CD) and let value : CD = self.code.oclAsType(CD) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and value.code = '10183-2' and value.codeSystem = '2.16.840.1.113883.6.1') Consol Discharge Medication SHALL contain at least one [1..*] entryRelationship (CONF:7692, CONF:7693, CONF:15525) Contains @typeCode="SUBJ" SUBJ, and Contains exactly one [1..1] Medication Activity (templateId: 2.16.840.1.113883.10.20.22.4.16) OCL self.entryRelationship->reject(oclIsUndefined())->exists(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.substanceAdministration.oclIsUndefined() and entryRelationship.substanceAdministration.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.16') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::SUBJ) Consol Discharge Medication SHALL contain exactly one [1..1] @moodCode="EVN" Event (CodeSystem: 2.16.840.1.113883.5.1001 HL7ActMood) (CONF:7690) OCL (not self.moodCode.oclIsUndefined()) and self.moodCode=XDocumentActMood::EVN Consol Discharge Summary SHALL contain exactly one [1..1] component (CONF:9542) Contains exactly one [1..1] Allergies Section Entries Optional (templateId: 2.16.840.1.113883.10.20.22.2.6) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.6')) Consol Discharge Summary MAY contain zero or one [0..1] component (CONF:9556) Contains exactly one [1..1] Chief Complaint And Reason For Visit Section (templateId: 2.16.840.1.113883.10.20.22.2.13) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.13')) Consol Discharge Summary MAY contain zero or one [0..1] component (CONF:9554) Contains exactly one [1..1] Chief Complaint Section (templateId: 1.3.6.1.4.1.19376.1.5.3.1.1.13.2.1) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.1.13.2.1')) Consol Discharge Summary SHALL contain exactly one [1..1] code (CONF:17178), which SHALL be selected from ValueSet DischargeSummaryDocumentTypeCode 2.16.840.1.113883.11.20.4.1 DYNAMIC (CONF:17179) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CE) and let value : CE = self.code.oclAsType(CE) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and ( value.codeSystem = '2.16.840.1.113883.6.1' and (value.code = '18842-5' or value.code = '11490-0' or value.code = '28655-9' or value.code = '29761-4' or value.code = '34745-0' or value.code = '34105-7' or value.code = '34106-5'))) Consol Discharge Summary SHALL contain exactly one [1..1] code (CONF:17178), which SHALL be selected from ValueSet DischargeSummaryDocumentTypeCode 2.16.840.1.113883.11.20.4.1 DYNAMIC (CONF:17179) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Discharge Summary SHALL contain exactly one [1..1] componentOf (CONF:9539) OCL self.componentOf->reject(oclIsUndefined())->one(componentOf : POCDMT000040Component1 | not componentOf.oclIsUndefined() and componentOf.oclIsKindOf(POCDMT000040Component1)) Consol Discharge Summary SHALL contain exactly one [1..1] componentOf (CONF:9539) componentOf SHALL contain exactly one [1..1] encompassingEncounter, where its type is Encompassing Encounter3 (CONF:8472) OCL self.componentOf->reject(oclIsUndefined())->reject(encompassingEncounter->reject(oclIsUndefined())->one(encompassingEncounter : POCDMT000040EncompassingEncounter | not encompassingEncounter.oclIsUndefined() and encompassingEncounter.oclIsKindOf(POCDMT000040EncompassingEncounter)))->reject(oclIsUndefined())->size()=0 Consol Discharge Summary SHALL contain exactly one [1..1] componentOf (CONF:9539) each SHALL contain exactly one [1..1] encompassingEncounter, where (CONF:8472) encompassingEncounter SHALL contain exactly one [1..1] dischargeDispositionCode, which SHOULD be selected from ValueSet NUBC UB-04 FL17-Patient Status 2.16.840.1.113883.6.301.5 STATIC (CONF:8476) OCL self.componentOf.encompassingEncounter->reject(oclIsUndefined())->reject((dischargeDispositionCode.oclIsUndefined() or dischargeDispositionCode.isNullFlavorUndefined()) implies (not dischargeDispositionCode.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol Discharge Summary SHALL contain exactly one [1..1] componentOf (CONF:9539) each SHALL contain exactly one [1..1] encompassingEncounter, where (CONF:8472) encompassingEncounter SHALL contain exactly one [1..1] effectiveTime (CONF:8473, CONF:8475) OCL self.componentOf.encompassingEncounter->reject(oclIsUndefined())->reject((effectiveTime.oclIsUndefined() or effectiveTime.isNullFlavorUndefined()) implies (not effectiveTime.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol Discharge Summary SHALL contain exactly one [1..1] componentOf (CONF:9539) each SHALL contain exactly one [1..1] encompassingEncounter, where (CONF:8472) encompassingEncounter This encompassingEncounter SHALL contain exactly one [1..1] effectiveTime/high (CONF:8475) OCL self.componentOf.encompassingEncounter->reject(oclIsUndefined())->reject(not effectiveTime.high.oclIsUndefined())->reject(oclIsUndefined())->size()=0 Consol Discharge Summary SHALL contain exactly one [1..1] componentOf (CONF:9539) each SHALL contain exactly one [1..1] encompassingEncounter, where (CONF:8472) encompassingEncounter This encompassingEncounter SHALL contain exactly one [1..1] effectiveTime/low (CONF:8473) OCL self.componentOf.encompassingEncounter->reject(oclIsUndefined())->reject(not effectiveTime.low.oclIsUndefined())->reject(oclIsUndefined())->size()=0 Consol Discharge Summary SHALL contain exactly one [1..1] componentOf (CONF:9539) each SHALL contain exactly one [1..1] encompassingEncounter, where (CONF:8472) encompassingEncounter MAY contain zero or one [0..1] encounterParticipant, where its type is Encounter Participant (CONF:8478) OCL self.componentOf.encompassingEncounter->reject(oclIsUndefined())->reject(encounterParticipant->reject(oclIsUndefined())->one(encounterParticipant : POCDMT000040EncounterParticipant | not encounterParticipant.oclIsUndefined() and encounterParticipant.oclIsKindOf(POCDMT000040EncounterParticipant)))->reject(oclIsUndefined())->size()=0 Consol Discharge Summary SHALL contain exactly one [1..1] componentOf (CONF:9539) each SHALL contain exactly one [1..1] encompassingEncounter, where (CONF:8472) each MAY contain zero or one [0..1] encounterParticipant, where (CONF:8478) encounterParticipant The responsibleParty element, if present, SHALL contain an assignedEntity element which SHALL contain an assignedPerson element, a representedOrganization element, or both. (CONF:8478) OCL self.componentOf.encompassingEncounter.encounterParticipant->reject(oclIsUndefined())->reject(not assignedEntity.assignedPerson.oclIsUndefined() or not assignedEntity.representedOrganization->reject(oclIsUndefined())->isEmpty())->reject(oclIsUndefined())->size()=0 Consol Discharge Summary SHALL contain exactly one [1..1] componentOf (CONF:9539) each SHALL contain exactly one [1..1] encompassingEncounter, where (CONF:8472) encompassingEncounter MAY contain zero or one [0..1] responsibleParty, where its type is Responsible Party (CONF:8479) OCL self.componentOf.encompassingEncounter->reject(oclIsUndefined())->reject(responsibleParty->reject(oclIsUndefined())->one(responsibleParty : POCDMT000040ResponsibleParty | not responsibleParty.oclIsUndefined() and responsibleParty.oclIsKindOf(POCDMT000040ResponsibleParty)))->reject(oclIsUndefined())->size()=0 Consol Discharge Summary SHALL contain exactly one [1..1] componentOf (CONF:9539) each SHALL contain exactly one [1..1] encompassingEncounter, where (CONF:8472) each MAY contain zero or one [0..1] responsibleParty, where (CONF:8479) responsibleParty The responsibleParty element, if present, SHALL contain an assignedEntity element which SHALL contain an assignedPerson element, a representedOrganization element, or both. (CONF:8479) OCL self.componentOf.encompassingEncounter.responsibleParty->reject(oclIsUndefined())->reject(not assignedEntity.assignedPerson.oclIsUndefined() or not assignedEntity.representedOrganization->reject(oclIsUndefined())->isEmpty())->reject(oclIsUndefined())->size()=0 Consol Discharge Summary MAY contain zero or one [0..1] component (CONF:9558) Contains exactly one [1..1] Discharge Diet Section (templateId: 1.3.6.1.4.1.19376.1.5.3.1.3.33) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.3.33')) Consol Discharge Summary SHALL NOT include a Chief Complaint and Reason for Visit Section with either a Chief Complaint Section or a Reason for Visit Section. (CONF:10055) OCL (self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.1.13.2.1')) or self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.12'))) xor self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.13')) Consol Discharge Summary MAY contain zero or one [0..1] component (CONF:9560) Contains exactly one [1..1] Family History Section (templateId: 2.16.840.1.113883.10.20.22.2.15) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.15')) Consol Discharge Summary MAY contain zero or one [0..1] component (CONF:9562) Contains exactly one [1..1] Functional Status Section (templateId: 2.16.840.1.113883.10.20.22.2.14) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.14')) Consol Discharge Summary MAY contain exactly one [1..1] component (CONF:9564) Contains exactly one [1..1] History Of Past Illness Section (templateId: 2.16.840.1.113883.10.20.22.2.20) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.20')) Consol Discharge Summary MAY contain exactly one [1..1] component (CONF:9566) Contains exactly one [1..1] History Of Present Illness Section (templateId: 1.3.6.1.4.1.19376.1.5.3.1.3.4) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.3.4')) Consol Discharge Summary SHALL contain exactly one [1..1] component (CONF:9928) Contains exactly one [1..1] Hospital Admission Diagnosis Section (templateId: 2.16.840.1.113883.10.20.22.2.43) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.43')) Consol Discharge Summary MAY contain exactly one [1..1] component (CONF:10111) Contains exactly one [1..1] Hospital Admission Medications Section Entries Optional (templateId: 2.16.840.1.113883.10.20.22.2.44) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.44')) Consol Discharge Summary MAY contain zero or one [0..1] component (CONF:9924) Contains exactly one [1..1] Hospital Consultations Section (templateId: 2.16.840.1.113883.10.20.22.2.42) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.42')) Consol Discharge Summary SHALL contain exactly one [1..1] component (CONF:9544) Contains exactly one [1..1] Hospital Course Section (templateId: 1.3.6.1.4.1.19376.1.5.3.1.3.5) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.3.5')) Consol Discharge Summary SHALL contain exactly one [1..1] component (CONF:9546) Contains exactly one [1..1] Hospital Discharge Diagnosis Section (templateId: 2.16.840.1.113883.10.20.22.2.24) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.24')) Consol Discharge Summary MAY contain zero or one [0..1] component (CONF:9926) Contains exactly one [1..1] Hospital Discharge Instructions Section (templateId: 2.16.840.1.113883.10.20.22.2.41) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.41')) Consol Discharge Summary SHALL contain exactly one [1..1] component (CONF:9548) Contains exactly one [1..1] Hospital Discharge Medications Section Entries Optional (templateId: 2.16.840.1.113883.10.20.22.2.11) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.11')) Consol Discharge Summary MAY contain zero or one [0..1] component (CONF:9568) Contains exactly one [1..1] Hospital Discharge Physical Section (templateId: 1.3.6.1.4.1.19376.1.5.3.1.3.26) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.3.26')) Consol Discharge Summary MAY contain zero or one [0..1] component (CONF:9570) Contains exactly one [1..1] Hospital Discharge Studies Summary Section (templateId: 2.16.840.1.113883.10.20.22.2.16) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.16')) Consol Discharge Summary MAY contain zero or one [0..1] component (CONF:9572) Contains exactly one [1..1] Immunizations Section Entries Optional (templateId: 2.16.840.1.113883.10.20.22.2.2) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.2')) Consol Discharge Summary SHALL contain exactly one [1..1] component (CONF:9550) Contains exactly one [1..1] Plan Of Care Section (templateId: 2.16.840.1.113883.10.20.22.2.10) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.10')) Consol Discharge Summary MAY contain zero or one [0..1] component (CONF:9574) Contains exactly one [1..1] Problem Section Entries Optional (templateId: 2.16.840.1.113883.10.20.22.2.5) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.5')) Consol Discharge Summary MAY contain zero or one [0..1] component (CONF:9576) Contains exactly one [1..1] Procedures Section Entries Optional (templateId: 2.16.840.1.113883.10.20.22.2.7) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.7')) Consol Discharge Summary MAY contain zero or one [0..1] component (CONF:9578) Contains exactly one [1..1] Reason For Visit Section (templateId: 2.16.840.1.113883.10.20.22.2.12) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.12')) Consol Discharge Summary MAY contain zero or one [0..1] component (CONF:9580) Contains exactly one [1..1] Review Of Systems Section (templateId: 1.3.6.1.4.1.19376.1.5.3.1.3.18) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='1.3.6.1.4.1.19376.1.5.3.1.3.18')) Consol Discharge Summary MAY contain zero or one [0..1] component (CONF:9582) Contains exactly one [1..1] Social History Section (templateId: 2.16.840.1.113883.10.20.22.2.17) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.17')) Consol Discharge Summary MAY contain zero or one [0..1] component (CONF:9584) Contains exactly one [1..1] Vital Signs Section Entries Optional (templateId: 2.16.840.1.113883.10.20.22.2.4) OCL self.getAllSections()->reject(oclIsUndefined())->one(section : POCDMT000040Section | not section.oclIsUndefined() and section.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.2.4')) SHALL contain exactly one [1..1] templateId ( CONF:5252, CONF:10036 ) such that it SHALL contain exactly one [1..1] @root="2.16.840.1.113883.10.20.22.1.1" OCL self.templateId->exists(id : II | (not id.root.oclIsUndefined()) and id.root = '2.16.840.1.113883.10.20.22.1.1') Consol Drug Vehicle SHALL contain exactly one [1..1] @classCode="MANU" (CONF:7490) OCL not(classCode.oclIsUndefined()) and self.classCode=RoleClassRoot::MANU Consol Drug Vehicle SHALL contain exactly one [1..1] code/@code="412307009" (CodeSystem: 2.16.840.1.113883.6.96 SNOMEDCT) (CONF:7491) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CE) and let value : CE = self.code.oclAsType(CE) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and ( value.code = '412307009' and value.codeSystem = '2.16.840.1.113883.6.96')) Consol Drug Vehicle This playingEntity SHALL contain exactly one [1..1] code (CONF:7493, CONF:10086) OCL not self.playingEntity.oclIsUndefined() implies self.playingEntity.code->reject(oclIsUndefined())->size() =1 Consol Drug Vehicle This playingEntity MAY contain zero or one [0..1] name (CONF:7494). This playingEntity/name MAY be used for the vehicle name in text, such as Normal Saline (CONF:10087) (CONF:7494, CONF:10087) OCL not self.playingEntity.oclIsUndefined() implies self.playingEntity.name->reject(oclIsUndefined())->size() =1 Consol Encounter Activities SHALL contain exactly one [1..1] @classCode="ENC" (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:8710) OCL (not self.classCode.oclIsUndefined()) and self.classCode=ActClass::ENC Consol Encounter Activities SHOULD contain zero or one [0..1] code, which SHOULD be selected from ValueSet EncounterTypeCode 2.16.840.1.113883.3.88.12.80.32 DYNAMIC (CONF:8714) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CD) and let value : CD = self.code.oclAsType(CD) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and value.codeSystem = '2.16.840.1.113883.6.12' and not value.code.oclIsUndefined()) Consol Encounter Activities code, if present, SHOULD contain zero or one [0..1] originalText (CONF:8719) OCL not code.oclIsUndefined() implies ( (not code.oclIsUndefined()) and (not code.originalText.oclIsUndefined()) ) Consol Encounter Activities originalText, if present, SHOULD contain zero or one [0..1] reference (CONF:15970) OCL not self.code.originalText.oclIsUndefined() implies not self.code.originalText.reference.value.oclIsUndefined() Consol Encounter Activities SHALL contain exactly one [1..1] effectiveTime (CONF:8715) OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) Consol Encounter Activities MAY contain zero or more [0..*] entryRelationship (CONF:15492, CONF:15973) Contains exactly one [1..1] Encounter Diagnosis (templateId: 2.16.840.1.113883.10.20.22.4.80) OCL self.entryRelationship->reject(oclIsUndefined())->exists(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.80')) Consol Encounter Activities MAY contain zero or more [0..*] performer (CONF:8725) OCL self.performer->reject(oclIsUndefined())->exists(performer : POCDMT000040Performer2 | not performer.oclIsUndefined() and performer.oclIsKindOf(POCDMT000040Performer2)) Consol Encounter Activities MAY contain zero or more [0..*] performer (CONF:8725) encounterPerformer SHALL contain exactly one [1..1] assignedEntity, where its type is Encounter Performer Assigned Entity (CONF:8726) OCL self.performer->reject(oclIsUndefined())->reject(assignedEntity->reject(oclIsUndefined())->one(assignedEntity : POCDMT000040AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(POCDMT000040AssignedEntity)))->reject(oclIsUndefined())->size()=0 Consol Encounter Activities MAY contain zero or more [0..*] performer (CONF:8725) each SHALL contain exactly one [1..1] assignedEntity, where (CONF:8726) encounterPerformerAssignedEntity MAY contain zero or one [0..1] code (CONF:8727) OCL self.performer.assignedEntity->reject(oclIsUndefined())->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol Encounter Activities SHALL contain at least one [1..*] id (CONF:8713) OCL (self.id->reject(oclIsUndefined())->isEmpty() or self.id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.id->reject(oclIsUndefined())->isEmpty()) Consol Encounter Activities MAY contain zero or more [0..*] entryRelationship (CONF:8722, CONF:8723, CONF:14899) Contains @typeCode="RSON" RSON, and Contains exactly one [1..1] Indication (templateId: 2.16.840.1.113883.10.20.22.4.19) OCL self.entryRelationship->reject(oclIsUndefined())->exists(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.19') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::RSON) Consol Encounter Activities SHALL contain exactly one [1..1] @moodCode="EVN" Event (CodeSystem: 2.16.840.1.113883.5.1001 HL7ActMood) (CONF:8711) OCL (not self.moodCode.oclIsUndefined()) and self.moodCode=XDocumentEncounterMood::EVN Consol Encounter Activities reference, if present, SHOULD contain zero or one [0..1] @value (CONF:15971) OCL not self.code.originalText.reference.oclIsUndefined() implies not self.code.originalText.reference.value.oclIsUndefined() Consol Encounter Activities MAY contain zero or more [0..*] participant (CONF:8738, CONF:14903) Contains exactly one [1..1] Service Delivery Location (templateId: 2.16.840.1.113883.10.20.22.4.32) OCL self.participant->reject(oclIsUndefined())->exists(participant : POCDMT000040Participant2 | not participant.participantRole.oclIsUndefined() and participant.participantRole.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.32')) Consol Encounter Activities EncounterActivities with target entry Service Delivery Location SHALL contain exactly one [1..1] @typeCode="LOC" Location (CodeSystem: 2.16.840.1.113883.5.1002 HL7ActRelationshipType) STATIC (CONF:8740) OCL self.participant->reject(oclIsUndefined())->select(par : POCDMT000040Participant2 | (not par.participantRole.oclIsUndefined()) and par.participantRole.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.32'))->reject(oclIsUndefined())->forAll(p : POCDMT000040Participant2 | ( (not p.typeCode.oclIsUndefined()) and p.typeCode=ParticipationType::LOC)) Consol Encounter Diagnosis SHALL contain exactly one [1..1] @classCode="ACT" Act (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:14889) OCL (not self.classCode.oclIsUndefined()) and self.classCode=XActClassDocumentEntryAct::ACT Consol Encounter Diagnosis SHALL contain exactly one [1..1] code (CONF:14891)/@code="29308-4" Diagnosis (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:14897) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CD) and let value : CD = self.code.oclAsType(CD) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and value.code = '29308-4' and value.codeSystem = '2.16.840.1.113883.6.1') Consol Encounter Diagnosis SHALL contain exactly one [1..1] code (CONF:14891)/@code="29308-4" Diagnosis (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:14897) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Encounter Diagnosis SHALL contain exactly one [1..1] @moodCode="EVN" Event (CodeSystem: 2.16.840.1.113883.5.1001 HL7ActMood) (CONF:14890) OCL (not self.moodCode.oclIsUndefined()) and self.moodCode=XDocumentActMood::EVN Consol Encounter Diagnosis SHALL contain at least one [1..*] entryRelationship (CONF:14892, CONF:14893, CONF:14898) Contains @typeCode="SUBJ" SUBJ, and Contains exactly one [1..1] Problem Observation (templateId: 2.16.840.1.113883.10.20.22.4.4) OCL self.entryRelationship->reject(oclIsUndefined())->exists(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.4') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::SUBJ) Consol Encounters Section SHALL contain exactly one [1..1] code (CONF:15466)/@code="46240-8" Encounters (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:15467) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CE) and let value : CE = self.code.oclAsType(CE) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and ( value.code = '46240-8' and value.codeSystem = '2.16.840.1.113883.6.1')) Consol Encounters Section SHALL contain exactly one [1..1] code (CONF:15466)/@code="46240-8" Encounters (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:15467) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Encounters Section SHALL contain at least one [1..*] entry (CONF:8709, CONF:8803) Contains exactly one [1..1] Encounter Activities (templateId: 2.16.840.1.113883.10.20.22.4.49) OCL self.entry->reject(oclIsUndefined())->exists(entry : POCDMT000040Entry | not entry.encounter.oclIsUndefined() and entry.encounter.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.49')) SHALL contain exactly one [1..1] templateId ( CONF:10386 ) such that it SHALL contain exactly one [1..1] @root="2.16.840.1.113883.10.20.22.2.22" OCL self.templateId->exists(id : II | (not id.root.oclIsUndefined()) and id.root = '2.16.840.1.113883.10.20.22.2.22') Consol Encounters Section SHALL contain exactly one [1..1] text (CONF:8708) OCL not self.text.oclIsUndefined() Consol Encounters Section SHALL contain exactly one [1..1] title (CONF:8707) OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) Consol Encounters Section Entries Optional SHALL contain exactly one [1..1] code (CONF:15461)/@code="46240-8" Encounters (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:15462) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CE) and let value : CE = self.code.oclAsType(CE) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and ( value.code = '46240-8' and value.codeSystem = '2.16.840.1.113883.6.1')) Consol Encounters Section Entries Optional SHALL contain exactly one [1..1] code (CONF:15461)/@code="46240-8" Encounters (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:15462) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Encounters Section Entries Optional SHOULD contain zero or more [0..*] entry (CONF:7951, CONF:8802) Contains exactly one [1..1] Encounter Activities (templateId: 2.16.840.1.113883.10.20.22.4.49) OCL self.entry->reject(oclIsUndefined())->exists(entry : POCDMT000040Entry | not entry.encounter.oclIsUndefined() and entry.encounter.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.49')) Consol Encounters Section Entries Optional SHALL contain exactly one [1..1] text (CONF:7943) OCL not self.text.oclIsUndefined() Consol Encounters Section Entries Optional SHALL contain exactly one [1..1] title (CONF:7942) OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) Consol Estimated Date Of Delivery SHALL contain exactly one [1..1] @classCode="OBS" Observation (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:444) OCL (not self.classCode.oclIsUndefined()) and self.classCode=ActClassObservation::OBS Consol Estimated Date Of Delivery SHALL contain exactly one [1..1] code/@code="11778-8" (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:446) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CD) and let value : CD = self.code.oclAsType(CD) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and value.code = '11778-8' and value.codeSystem = '2.16.840.1.113883.6.1') Consol Estimated Date Of Delivery SHALL contain exactly one [1..1] @moodCode="EVN" Event (CodeSystem: 2.16.840.1.113883.5.1001 HL7ActMood) (CONF:445) OCL (not self.moodCode.oclIsUndefined()) and self.moodCode=XActMoodDocumentObservation::EVN Consol Estimated Date Of Delivery SHALL contain exactly one [1..1] statusCode/@code="completed" (CodeSystem: 2.16.840.1.113883.5.14 ActStatus) (CONF:448) OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(CS) and let value : CS = self.statusCode.oclAsType(CS) in (not value.code.oclIsUndefined()) and ( value.code = 'completed')) Consol Estimated Date Of Delivery SHALL contain exactly one [1..1] value with data type TS (CONF:450) OCL (self.value->reject(oclIsUndefined())->isEmpty() or self.value->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (self.value->reject(oclIsUndefined())->size() = 1 and self.value->reject(oclIsUndefined())->forAll(element | element.oclIsTypeOf(TS))) Consol Family History Death Observation SHALL contain exactly one [1..1] @classCode="OBS" Observation (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:8621) OCL (not self.classCode.oclIsUndefined()) and self.classCode=ActClassObservation::OBS Consol Family History Death Observation SHALL contain exactly one [1..1] code/@code="ASSERTION" Assertion (CodeSystem: 2.16.840.1.113883.5.4 HL7ActCode) (CONF:16889) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CD) and let value : CD = self.code.oclAsType(CD) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and value.code = 'ASSERTION' and value.codeSystem = '2.16.840.1.113883.5.4') Consol Family History Death Observation SHALL contain exactly one [1..1] @moodCode="EVN" Event (CodeSystem: 2.16.840.1.113883.5.1001 HL7ActMood) (CONF:8622) OCL (not self.moodCode.oclIsUndefined()) and self.moodCode=XActMoodDocumentObservation::EVN Consol Family History Death Observation SHALL contain exactly one [1..1] statusCode/@code="completed" (CodeSystem: 2.16.840.1.113883.5.14 ActStatus) (CONF:8625) OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(CS) and let value : CS = self.statusCode.oclAsType(CS) in (not value.code.oclIsUndefined()) and ( value.code = 'completed')) Consol Family History Death Observation SHALL contain exactly one [1..1] value with data type CD/@code="419099009" Dead (CodeSystem: 2.16.840.1.113883.6.96 SNOMEDCT) (CONF:8626) OCL (self.value->reject(oclIsUndefined())->isEmpty() or self.value->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (self.value->reject(oclIsUndefined())->size() = 1 and self.value->reject(oclIsUndefined())->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(CD) and let value : CD = element.oclAsType(CD) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and ( value.code = '419099009' and value.codeSystem = '2.16.840.1.113883.6.96'))) Consol Family History Observation MAY contain zero or one [0..1] entryRelationship (CONF:8675, CONF:8676, CONF:15526) Contains @typeCode="SUBJ" SUBJ, and Contains exactly one [1..1] Age Observation (templateId: 2.16.840.1.113883.10.20.22.4.31) OCL self.entryRelationship->reject(oclIsUndefined())->one(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.31') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::SUBJ) Consol Family History Observation SHALL contain exactly one [1..1] @classCode="OBS" Observation (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:8586) OCL (not self.classCode.oclIsUndefined()) and self.classCode=ActClassObservation::OBS Consol Family History Observation SHALL contain exactly one [1..1] code, which SHOULD be selected from ValueSet Problem Type 2.16.840.1.113883.3.88.12.3221.7.2 STATIC 2008-12-18 (CONF:8589) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CD) and let value : CD = self.code.oclAsType(CD) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and value.codeSystem = '2.16.840.1.113883.6.96' and (value.code = '404684003' or value.code = '409586006' or value.code = '282291009' or value.code = '64572001' or value.code = '248536006' or value.code = '418799008' or value.code = '55607006' or value.code = '373930000')) Consol Family History Observation SHALL contain exactly one [1..1] code, which SHOULD be selected from ValueSet Problem Type 2.16.840.1.113883.3.88.12.3221.7.2 STATIC 2008-12-18 (CONF:8589) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Family History Observation SHOULD contain zero or one [0..1] effectiveTime (CONF:8593) OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) Consol Family History Observation MAY contain zero or one [0..1] entryRelationship (CONF:8678, CONF:8679, CONF:15527) Contains @typeCode="CAUS" CAUS, and Contains exactly one [1..1] Family History Death Observation (templateId: 2.16.840.1.113883.10.20.22.4.47) OCL self.entryRelationship->reject(oclIsUndefined())->one(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.47') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::CAUS) Consol Family History Observation SHALL contain at least one [1..*] id (CONF:8592) OCL (self.id->reject(oclIsUndefined())->isEmpty() or self.id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.id->reject(oclIsUndefined())->isEmpty()) Consol Family History Observation SHALL contain exactly one [1..1] @moodCode="EVN" Event (CodeSystem: 2.16.840.1.113883.5.1001 HL7ActMood) (CONF:8587) OCL (not self.moodCode.oclIsUndefined()) and self.moodCode=XActMoodDocumentObservation::EVN Consol Family History Observation SHALL contain exactly one [1..1] statusCode/@code="completed" (CodeSystem: 2.16.840.1.113883.5.14 ActStatus) (CONF:8590) OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(CS) and let value : CS = self.statusCode.oclAsType(CS) in (not value.code.oclIsUndefined()) and ( value.code = 'completed')) Consol Family History Organizer SHALL contain exactly one [1..1] @classCode="CLUSTER" (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:8600) OCL (not self.classCode.oclIsUndefined()) and self.classCode=XActClassDocumentEntryOrganizer::CLUSTER Consol Family History Organizer SHALL contain at least one [1..*] component (CONF:8607, CONF:16888) Contains exactly one [1..1] Family History Observation (templateId: 2.16.840.1.113883.10.20.22.4.46) OCL self.component->reject(oclIsUndefined())->exists(component : POCDMT000040Component4 | not component.observation.oclIsUndefined() and component.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.46')) Consol Family History Organizer SHALL contain exactly one [1..1] @moodCode="EVN" Event (CodeSystem: 2.16.840.1.113883.5.1001 HL7ActMood) (CONF:8601) OCL (not self.moodCode.oclIsUndefined()) and self.moodCode=ActMood::EVN Consol Family History Organizer SHALL contain zero or one [0..1] subject (CONF:8609) OCL self.subject->reject(oclIsUndefined())->one(subject : POCDMT000040Subject | not subject.oclIsUndefined() and subject.oclIsKindOf(POCDMT000040Subject)) Consol Family History Organizer SHALL contain zero or one [0..1] subject (CONF:8609) subject SHALL contain exactly one [1..1] relatedSubject, where its type is Related Subject (CONF:15244) OCL self.subject->reject(oclIsUndefined())->reject(relatedSubject->reject(oclIsUndefined())->one(relatedSubject : POCDMT000040RelatedSubject | not relatedSubject.oclIsUndefined() and relatedSubject.oclIsKindOf(POCDMT000040RelatedSubject)))->reject(oclIsUndefined())->size()=0 Consol Family History Organizer SHALL contain zero or one [0..1] subject (CONF:8609) each SHALL contain exactly one [1..1] relatedSubject, where (CONF:15244) relatedSubject SHALL contain zero or one [0..1] @classCode="PRS" (CONF:15245) OCL self.subject.relatedSubject->reject(oclIsUndefined())->reject((not classCode.oclIsUndefined()) and classCode=XDocumentSubject::PRS)->reject(oclIsUndefined())->size()=0 Consol Family History Organizer SHALL contain zero or one [0..1] subject (CONF:8609) each SHALL contain exactly one [1..1] relatedSubject, where (CONF:15244) relatedSubject SHALL contain exactly one [1..1] code (CONF:15246), which SHOULD be selected from ValueSet FamilyHistoryRelatedSubjectCode 2.16.840.1.113883.1.11.19579 DYNAMIC (CONF:15247) OCL self.subject.relatedSubject->reject(oclIsUndefined())->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(CE) and let value : CE = code.oclAsType(CE) in value.codeSystem = '2.16.840.1.113883.5.111' and (value.code = 'ADOPT' or value.code = 'AUNT' or value.code = 'CHILD' or value.code = 'CHLDINLAW' or value.code = 'COUSN' or value.code = 'DOMPART' or value.code = 'FAMMEMB' or value.code = 'CHLDFOST' or value.code = 'GRNDCHILD' or value.code = 'GPARNT' or value.code = 'GRPRN' or value.code = 'GGRPRN' or value.code = 'HSIB' or value.code = 'MAUNT' or value.code = 'MCOUSN' or value.code = 'MGRPRN' or value.code = 'MGGRPRN' or value.code = 'MUNCLE' or value.code = 'NCHILD' or value.code = 'NPRN' or value.code = 'NSIB' or value.code = 'NIENEPH' or value.code = 'PRN' or value.code = 'PRNINLAW' or value.code = 'PAUNT' or value.code = 'PCOUSN' or value.code = 'PGRPRN' or value.code = 'PGGRPRN' or value.code = 'PUNCLE' or value.code = 'SIB' or value.code = 'SIBINLAW' or value.code = 'SIGOTHR' or value.code = 'SPS' or value.code = 'STEP' or value.code = 'STPPRN' or value.code = 'STPSIB' or value.code = 'UNCLE')))->reject(oclIsUndefined())->size()=0 Consol Family History Organizer SHALL contain zero or one [0..1] subject (CONF:8609) each SHALL contain exactly one [1..1] relatedSubject, where (CONF:15244) relatedSubject SHALL contain exactly one [1..1] code (CONF:15246), which SHOULD be selected from ValueSet FamilyHistoryRelatedSubjectCode 2.16.840.1.113883.1.11.19579 DYNAMIC (CONF:15247) OCL self.subject.relatedSubject->reject(oclIsUndefined())->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol Family History Organizer SHALL contain zero or one [0..1] subject (CONF:8609) each SHALL contain exactly one [1..1] relatedSubject, where (CONF:15244) relatedSubject SHOULD contain zero or one [0..1] subject, where its type is Subject Person (CONF:15248) OCL self.subject.relatedSubject->reject(oclIsUndefined())->reject(subject->reject(oclIsUndefined())->one(subject : POCDMT000040SubjectPerson | not subject.oclIsUndefined() and subject.oclIsKindOf(POCDMT000040SubjectPerson)))->reject(oclIsUndefined())->size()=0 Consol Family History Organizer SHALL contain zero or one [0..1] subject (CONF:8609) each SHALL contain exactly one [1..1] relatedSubject, where (CONF:15244) each SHOULD contain zero or one [0..1] subject, where (CONF:15248) subject SHALL contain exactly one [1..1] administrativeGenderCode (CONF:15974), which SHALL be selected from ValueSet Administrative Gender (HL7 V3) 2.16.840.1.113883.1.11.1 DYNAMIC (CONF:15975) OCL (not self.subject.oclIsUndefined()) and (not self.subject.relatedSubject.oclIsUndefined()) and (not self.subject.relatedSubject.subject.oclIsUndefined()) and self.subject.relatedSubject.subject->reject(oclIsUndefined())->reject((administrativeGenderCode.oclIsUndefined() or administrativeGenderCode.isNullFlavorUndefined()) implies (not administrativeGenderCode.oclIsUndefined() and administrativeGenderCode.oclIsKindOf(CE) and let value : CE = administrativeGenderCode.oclAsType(CE) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and value.codeSystem = '2.16.840.1.113883.5.1' and (value.code = 'F' or value.code = 'M' or value.code = 'UN')))->reject(oclIsUndefined())->size()=0 Consol Family History Organizer SHALL contain zero or one [0..1] subject (CONF:8609) each SHALL contain exactly one [1..1] relatedSubject, where (CONF:15244) each SHOULD contain zero or one [0..1] subject, where (CONF:15248) subject SHALL contain exactly one [1..1] administrativeGenderCode (CONF:15974), which SHALL be selected from ValueSet Administrative Gender (HL7 V3) 2.16.840.1.113883.1.11.1 DYNAMIC (CONF:15975) OCL (not self.subject.oclIsUndefined()) and (not self.subject.relatedSubject.oclIsUndefined()) and (not self.subject.relatedSubject.subject.oclIsUndefined()) and self.subject.relatedSubject.subject->reject(oclIsUndefined())->reject((administrativeGenderCode.oclIsUndefined() or administrativeGenderCode.isNullFlavorUndefined()) implies (not administrativeGenderCode.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol Family History Organizer SHALL contain zero or one [0..1] subject (CONF:8609) each SHALL contain exactly one [1..1] relatedSubject, where (CONF:15244) each SHOULD contain zero or one [0..1] subject, where (CONF:15248) subject SHOULD contain zero or one [0..1] birthTime (CONF:15976) OCL (not self.subject.oclIsUndefined()) and (not self.subject.relatedSubject.oclIsUndefined()) and (not self.subject.relatedSubject.subject.oclIsUndefined()) and self.subject.relatedSubject.subject->reject(oclIsUndefined())->reject((birthTime.oclIsUndefined() or birthTime.isNullFlavorUndefined()) implies (not birthTime.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol Family History Section SHALL contain exactly one [1..1] code (CONF:15469)/@code="10157-6" Family History (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:15470) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CE) and let value : CE = self.code.oclAsType(CE) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and ( value.code = '10157-6' and value.codeSystem = '2.16.840.1.113883.6.1')) Consol Family History Section SHALL contain exactly one [1..1] code (CONF:15469)/@code="10157-6" Family History (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:15470) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Family History Section MAY contain zero or more [0..*] entry (CONF:7955) Contains exactly one [1..1] Family History Organizer (templateId: 2.16.840.1.113883.10.20.22.4.45) OCL self.entry->reject(oclIsUndefined())->exists(entry : POCDMT000040Entry | not entry.organizer.oclIsUndefined() and entry.organizer.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.45')) Consol Family History Section SHALL contain exactly one [1..1] text (CONF:7935) OCL not self.text.oclIsUndefined() Consol Family History Section SHALL contain exactly one [1..1] title (CONF:7934) OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) Consol Fetus Subject Context SHALL contain exactly one [1..1] code/@code="121026" (CodeSystem: 1.2.840.10008.2.16.4 DCM) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CE) and let value : CE = self.code.oclAsType(CE) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and ( value.code = '121026' and value.codeSystem = '1.2.840.10008.2.16.4')) Consol Fetus Subject Context SHALL contain exactly one [1..1] subject (CONF:9191) OCL self.subject->reject(oclIsUndefined())->one(subject : POCDMT000040SubjectPerson | not subject.oclIsUndefined() and subject.oclIsKindOf(POCDMT000040SubjectPerson)) Consol Functional Status Problem Observation MAY contain zero or more [0..*] entryRelationship (CONF:14463, CONF:14587, CONF:14464) Contains @typeCode="COMP" COMP, and Contains exactly one [1..1] Assessment Scale Observation (templateId: 2.16.840.1.113883.10.20.22.4.69) OCL self.entryRelationship->reject(oclIsUndefined())->exists(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.69') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::COMP) Consol Functional Status Problem Observation MAY contain zero or more [0..*] entryRelationship (CONF:14298, CONF:14586, CONF:14318) Contains @typeCode="REFR" REFR, and Contains exactly one [1..1] Caregiver Characteristics (templateId: 2.16.840.1.113883.10.20.22.4.72) OCL self.entryRelationship->reject(oclIsUndefined())->exists(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.72') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::REFR) Consol Functional Status Problem Observation SHALL contain exactly one [1..1] @classCode="OBS" Observation (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:14282) OCL (not self.classCode.oclIsUndefined()) and self.classCode=ActClassObservation::OBS Consol Functional Status Problem Observation SHALL contain exactly one [1..1] code (CONF:14314)/@code="248536006" finding of functional performance and activity (CodeSystem: 2.16.840.1.113883.6.96 SNOMEDCT) (CONF:14315) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CD) and let value : CD = self.code.oclAsType(CD) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and value.code = '248536006' and value.codeSystem = '2.16.840.1.113883.6.96') Consol Functional Status Problem Observation SHALL contain exactly one [1..1] code (CONF:14314)/@code="248536006" finding of functional performance and activity (CodeSystem: 2.16.840.1.113883.6.96 SNOMEDCT) (CONF:14315) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Functional Status Problem Observation SHOULD contain zero or one [0..1] effectiveTime (CONF:14287) OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) Consol Functional Status Problem Observation The effectiveTime element , if present, SHALL contain exactly one [1..1] low (CONF:14288) OCL not self.effectiveTime.low.oclIsUndefined() Consol Functional Status Problem Observation effectiveTime, if present, SHOULD contain zero or one [0..1] high (CONF:14289) OCL not self.effectiveTime.high.oclIsUndefined() Consol Functional Status Problem Observation The text, if present, SHOULD contain zero or one [0..1] reference (CONF:15552) OCL not self.text.oclIsUndefined() implies (not self.text.reference.oclIsUndefined()) Consol Functional Status Problem Observation SHALL contain at least one [1..*] id (CONF:14284) OCL (self.id->reject(oclIsUndefined())->isEmpty() or self.id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.id->reject(oclIsUndefined())->isEmpty()) Consol Functional Status Problem Observation MAY contain zero or one [0..1] methodCode (CONF:14316) OCL (self.methodCode->reject(oclIsUndefined())->isEmpty() or self.methodCode->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.methodCode->reject(oclIsUndefined())->isEmpty()) Consol Functional Status Problem Observation SHALL contain exactly one [1..1] @moodCode="EVN" Event (CodeSystem: 2.16.840.1.113883.5.1001 HL7ActMood) (CONF:14283) OCL (not self.moodCode.oclIsUndefined()) and self.moodCode=XActMoodDocumentObservation::EVN Consol Functional Status Problem Observation MAY contain zero or one [0..1] @negationInd (CONF:14307) OCL not self.negationInd.oclIsUndefined() Consol Functional Status Problem Observation MAY contain zero or more [0..*] entryRelationship (CONF:14294, CONF:14584, CONF:14317) Contains @typeCode="REFR" REFR, and Contains exactly one [1..1] Non Medicinal Supply Activity (templateId: 2.16.840.1.113883.10.20.22.4.50) OCL self.entryRelationship->reject(oclIsUndefined())->exists(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.supply.oclIsUndefined() and entryRelationship.supply.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.50') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::REFR) Consol Functional Status Problem Observation SHALL contain exactly one [1..1] statusCode/@code="completed" Completed (CodeSystem: 2.16.840.1.113883.5.14 ActStatus) (CONF:14286) OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(CS) and let value : CS = self.statusCode.oclAsType(CS) in (not value.code.oclIsUndefined()) and ( value.code = 'completed')) Consol Functional Status Problem Observation SHOULD contain zero or one [0..1] text (CONF:14304) OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (not self.text.oclIsUndefined()) Consol Functional Status Problem Observation reference, if present, SHOULD contain zero or one [0..1] @value (CONF:15553) OCL not self.text.oclIsUndefined() implies ((not self.text.reference.oclIsUndefined()) and (not self.text.reference.value.oclIsUndefined())) Consol Functional Status Problem Observation SHALL contain exactly one [1..1] value, which SHOULD be selected from ValueSet Problem 2.16.840.1.113883.3.88.12.3221.7.4 DYNAMIC (CONF:14291) OCL (self.value->reject(oclIsUndefined())->isEmpty() or self.value->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (self.value->reject(oclIsUndefined())->size() = 1 and self.value->reject(oclIsUndefined())->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(CD) and let value : CD = element.oclAsType(CD) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and ( value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined()))) Consol Functional Status Problem Observation value MAY contain zero or one [0..1] @nullFlavor (CONF:14292) OCL self.value->reject(oclIsUndefined())->forAll(val | not val.isNullFlavorUndefined()) Consol Functional Status Problem Observation SHALL contain exactly one [1..1] value, which SHOULD be selected from ValueSet Problem 2.16.840.1.113883.3.88.12.3221.7.4 DYNAMIC (CONF:14291) OCL (self.value->reject(oclIsUndefined())->isEmpty() or self.value->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.value->reject(oclIsUndefined())->isEmpty()) SHALL contain exactly one [1..1] templateId ( CONF:14926, CONF:14927 ) such that it SHALL contain exactly one [1..1] @root="2.16.840.1.113883.10.20.22.4.4" OCL self.templateId->exists(id : II | (not id.root.oclIsUndefined()) and id.root = '2.16.840.1.113883.10.20.22.4.4') Consol Functional Status Result Observation MAY contain zero or one [0..1] entryRelationship (CONF:14465, CONF:14598, CONF:14466) Contains @typeCode="COMP" COMP, and Contains exactly one [1..1] Assessment Scale Observation (templateId: 2.16.840.1.113883.10.20.22.4.69) OCL self.entryRelationship->reject(oclIsUndefined())->one(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.69') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::COMP) Consol Functional Status Result Observation MAY contain zero or one [0..1] entryRelationship (CONF:13895, CONF:14597, CONF:13897) Contains @typeCode="REFR" REFR, and Contains exactly one [1..1] Caregiver Characteristics (templateId: 2.16.840.1.113883.10.20.22.4.72) OCL self.entryRelationship->reject(oclIsUndefined())->one(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.72') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::REFR) Consol Functional Status Result Observation SHALL contain exactly one [1..1] @classCode="OBS" Observation (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:13905) OCL (not self.classCode.oclIsUndefined()) and self.classCode=ActClassObservation::OBS Consol Functional Status Result Observation SHALL contain exactly one [1..1] code (CONF:13908), which SHOULD be selected from (CodeSystem: 2.16.840.1.113883.6.1 LOINC) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CD) and let value : CD = self.code.oclAsType(CD) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and value.codeSystem = '2.16.840.1.113883.6.1') Consol Functional Status Result Observation SHALL contain exactly one [1..1] code (CONF:13908), which SHOULD be selected from (CodeSystem: 2.16.840.1.113883.6.1 LOINC) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Functional Status Result Observation SHALL contain exactly one [1..1] effectiveTime (CONF:13930) OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) Consol Functional Status Result Observation SHALL contain at least one [1..*] id (CONF:13907) OCL (self.id->reject(oclIsUndefined())->isEmpty() or self.id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.id->reject(oclIsUndefined())->isEmpty()) Consol Functional Status Result Observation SHOULD contain zero or more [0..*] interpretationCode (CONF:13933) OCL (self.interpretationCode->reject(oclIsUndefined())->isEmpty() or self.interpretationCode->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.interpretationCode->reject(oclIsUndefined())->isEmpty()) Consol Functional Status Result Observation MAY contain zero or one [0..1] methodCode (CONF:13934) OCL (self.methodCode->reject(oclIsUndefined())->isEmpty() or self.methodCode->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.methodCode->reject(oclIsUndefined())->isEmpty()) Consol Functional Status Result Observation SHALL contain exactly one [1..1] @moodCode="EVN" Event (CodeSystem: 2.16.840.1.113883.5.1001 HL7ActMood) (CONF:13906) OCL (not self.moodCode.oclIsUndefined()) and self.moodCode=XActMoodDocumentObservation::EVN Consol Functional Status Result Observation MAY contain zero or one [0..1] entryRelationship (CONF:13892, CONF:14596, CONF:14218) Contains @typeCode="REFR" REFR, and Contains exactly one [1..1] Non Medicinal Supply Activity (templateId: 2.16.840.1.113883.10.20.22.4.50) OCL self.entryRelationship->reject(oclIsUndefined())->one(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.supply.oclIsUndefined() and entryRelationship.supply.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.50') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::REFR) Consol Functional Status Result Observation SHOULD contain zero or more [0..*] referenceRange (CONF:13937) OCL self.referenceRange->reject(oclIsUndefined())->exists(referenceRange : POCDMT000040ReferenceRange | not referenceRange.oclIsUndefined() and referenceRange.oclIsKindOf(POCDMT000040ReferenceRange)) Consol Functional Status Result Observation SHOULD contain zero or more [0..*] referenceRange (CONF:13937) referenceRange SHALL contain exactly one [1..1] observationRange, where its type is Observation Range (CONF:13938) OCL self.referenceRange->reject(oclIsUndefined())->reject(observationRange->reject(oclIsUndefined())->one(observationRange : POCDMT000040ObservationRange | not observationRange.oclIsUndefined() and observationRange.oclIsKindOf(POCDMT000040ObservationRange)))->reject(oclIsUndefined())->size()=0 Consol Functional Status Result Observation SHOULD contain zero or more [0..*] referenceRange (CONF:13937) each SHALL contain exactly one [1..1] observationRange, where (CONF:13938) observationRange observationRange SHALL NOT contain [0..0] code (CONF:13939) OCL self.referenceRange.observationRange->reject(oclIsUndefined())->reject(code.oclIsUndefined())->reject(oclIsUndefined())->size()=0 Consol Functional Status Result Observation SHALL contain exactly one [1..1] statusCode (CONF:13929)/@code="completed" Completed (CodeSystem: 2.16.840.1.113883.5.14 ActStatus) OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(CS) and let value : CS = self.statusCode.oclAsType(CS) in (not value.code.oclIsUndefined()) and ( value.code = 'completed')) Consol Functional Status Result Observation SHALL contain exactly one [1..1] statusCode (CONF:13929)/@code="completed" Completed (CodeSystem: 2.16.840.1.113883.5.14 ActStatus) OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) Consol Functional Status Result Observation MAY contain zero or one [0..1] targetSiteCode (CONF:13935) OCL (self.targetSiteCode->reject(oclIsUndefined())->isEmpty() or self.targetSiteCode->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.targetSiteCode->reject(oclIsUndefined())->isEmpty()) Consol Functional Status Result Observation SHOULD contain zero or one [0..1] text (CONF:13926) OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (not self.text.oclIsUndefined()) Consol Functional Status Result Observation text, if present, SHOULD contain zero or one [0..1] reference/@value (CONF:13927) OCL not self.text.oclIsUndefined() implies (self.text->reject(oclIsUndefined())->forAll(reference->reject(oclIsUndefined())->size() = 1) and self.text->reject(oclIsUndefined())->forAll(reference->reject(oclIsUndefined())->one(value->reject(oclIsUndefined())->size() = 1))) Consol Functional Status Result Observation SHALL contain exactly one [1..1] value (CONF:13932) OCL (self.value->reject(oclIsUndefined())->isEmpty() or self.value->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.value->reject(oclIsUndefined())->isEmpty()) Consol Functional Status Result Observation If value/@xsi:type=CD, SHOULD contain a code from SNOMED CT (CodeSystem: 2.16.840.1.113883.6.96) (CONF:14234) OCL self.value->reject(oclIsUndefined())->forAll(val | val.oclIsTypeOf(CD) implies val.oclAsType(CD).codeSystem = '2.16.840.1.113883.6.96') SHALL contain exactly one [1..1] templateId ( CONF:9138 ) such that it SHALL contain exactly one [1..1] @root="2.16.840.1.113883.10.20.22.4.2" OCL self.templateId->exists(id : II | (not id.root.oclIsUndefined()) and id.root = '2.16.840.1.113883.10.20.22.4.2') Consol Functional Status Result Organizer SHALL contain exactly one [1..1] @classCode="CLUSTER" (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:14355) OCL (not self.classCode.oclIsUndefined()) and self.classCode=XActClassDocumentEntryOrganizer::CLUSTER Consol Functional Status Result Organizer SHALL contain exactly one [1..1] code (CONF:14364) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Functional Status Result Organizer code SHOULD contain zero or one [0..1] @code should be selected from ICF (codeSystem 2.16.840.1.113883.6.254) or SNOMED CT (codeSystem 2.16.840.1.113883.6.96) (CONF:14747, CONF:14748) OCL (not self.code.oclIsUndefined()) and (not self.code.codeSystem.oclIsUndefined()) and (self.code.codeSystem = '2.16.840.1.113883.6.254' or self.code.codeSystem = '2.16.840.1.113883.6.96') Consol Functional Status Result Organizer SHALL contain at least one [1..*] component (CONF:14359, CONF:14368) Contains exactly one [1..1] Functional Status Result Observation (templateId: 2.16.840.1.113883.10.20.22.4.67) OCL self.component->reject(oclIsUndefined())->exists(component : POCDMT000040Component4 | not component.observation.oclIsUndefined() and component.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.67')) Consol Functional Status Result Organizer SHALL contain at least one [1..*] id (CONF:14363) OCL (self.id->reject(oclIsUndefined())->isEmpty() or self.id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.id->reject(oclIsUndefined())->isEmpty()) Consol Functional Status Result Organizer SHALL contain exactly one [1..1] @moodCode="EVN" Event (CodeSystem: 2.16.840.1.113883.5.1001 HL7ActMood) (CONF:14357) OCL (not self.moodCode.oclIsUndefined()) and self.moodCode=ActMood::EVN Consol Functional Status Result Organizer SHALL contain exactly one [1..1] statusCode (CONF:14358)/@code="completed" Completed (CodeSystem: 2.16.840.1.113883.5.14 ActStatus) OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(CS) and let value : CS = self.statusCode.oclAsType(CS) in (not value.code.oclIsUndefined()) and ( value.code = 'completed')) Consol Functional Status Result Organizer SHALL contain exactly one [1..1] statusCode (CONF:14358)/@code="completed" Completed (CodeSystem: 2.16.840.1.113883.5.14 ActStatus) OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) SHALL contain exactly one [1..1] templateId ( CONF:7126, CONF:9134 ) such that it SHALL contain exactly one [1..1] @root="2.16.840.1.113883.10.20.22.4.1" OCL self.templateId->exists(id : II | (not id.root.oclIsUndefined()) and id.root = '2.16.840.1.113883.10.20.22.4.1') Consol Functional Status Section MAY contain zero or more [0..*] entry (CONF:14580, CONF:14581) Contains exactly one [1..1] Assessment Scale Observation (templateId: 2.16.840.1.113883.10.20.22.4.69) OCL self.entry->reject(oclIsUndefined())->exists(entry : POCDMT000040Entry | not entry.observation.oclIsUndefined() and entry.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.69')) Consol Functional Status Section MAY contain zero or more [0..*] entry (CONF:14426, CONF:14427) Contains exactly one [1..1] Caregiver Characteristics (templateId: 2.16.840.1.113883.10.20.22.4.72) OCL self.entry->reject(oclIsUndefined())->exists(entry : POCDMT000040Entry | not entry.observation.oclIsUndefined() and entry.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.72')) Consol Functional Status Section SHALL contain exactly one [1..1] code/@code="47420-5" Functional status assessment (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:7921) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CE) and let value : CE = self.code.oclAsType(CE) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and ( value.code = '47420-5' and value.codeSystem = '2.16.840.1.113883.6.1')) Consol Functional Status Section MAY contain zero or more [0..*] entry (CONF:14424, CONF:14425) Contains exactly one [1..1] Cognitive Status Problem Observation (templateId: 2.16.840.1.113883.10.20.22.4.73) OCL self.entry->reject(oclIsUndefined())->exists(entry : POCDMT000040Entry | not entry.observation.oclIsUndefined() and entry.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.73')) Consol Functional Status Section MAY contain zero or more [0..*] entry (CONF:14420, CONF:14421) Contains exactly one [1..1] Cognitive Status Result Observation (templateId: 2.16.840.1.113883.10.20.22.4.74) OCL self.entry->reject(oclIsUndefined())->exists(entry : POCDMT000040Entry | not entry.observation.oclIsUndefined() and entry.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.74')) Consol Functional Status Section MAY contain zero or more [0..*] entry (CONF:14416, CONF:14417) Contains exactly one [1..1] Cognitive Status Result Organizer (templateId: 2.16.840.1.113883.10.20.22.4.75) OCL self.entry->reject(oclIsUndefined())->exists(entry : POCDMT000040Entry | not entry.organizer.oclIsUndefined() and entry.organizer.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.75')) Consol Functional Status Section MAY contain zero or more [0..*] entry (CONF:14422, CONF:14423) Contains exactly one [1..1] Functional Status Problem Observation (templateId: 2.16.840.1.113883.10.20.22.4.68) OCL self.entry->reject(oclIsUndefined())->exists(entry : POCDMT000040Entry | not entry.observation.oclIsUndefined() and entry.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.68')) Consol Functional Status Section MAY contain zero or more [0..*] entry (CONF:14418, CONF:14419) Contains exactly one [1..1] Functional Status Result Observation (templateId: 2.16.840.1.113883.10.20.22.4.67) OCL self.entry->reject(oclIsUndefined())->exists(entry : POCDMT000040Entry | not entry.observation.oclIsUndefined() and entry.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.67')) Consol Functional Status Section MAY contain zero or more [0..*] entry (CONF:14414, CONF:14415) Contains exactly one [1..1] Functional Status Result Organizer (templateId: 2.16.840.1.113883.10.20.22.4.66) OCL self.entry->reject(oclIsUndefined())->exists(entry : POCDMT000040Entry | not entry.organizer.oclIsUndefined() and entry.organizer.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.66')) Consol Functional Status Section MAY contain zero or more [0..*] entry (CONF:16781, CONF:16782) Contains exactly one [1..1] Highest Pressure Ulcer Stage (templateId: 2.16.840.1.113883.10.20.22.4.77) OCL self.entry->reject(oclIsUndefined())->exists(entry : POCDMT000040Entry | not entry.observation.oclIsUndefined() and entry.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.77')) Consol Functional Status Section MAY contain zero or more [0..*] entry (CONF:14582, CONF:14583) Contains exactly one [1..1] Non Medicinal Supply Activity (templateId: 2.16.840.1.113883.10.20.22.4.50) OCL self.entry->reject(oclIsUndefined())->exists(entry : POCDMT000040Entry | not entry.supply.oclIsUndefined() and entry.supply.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.50')) Consol Functional Status Section MAY contain zero or more [0..*] entry (CONF:16779, CONF:16780) Contains exactly one [1..1] Number Of Pressure Ulcers Observation (templateId: 2.16.840.1.113883.10.20.22.4.76) OCL self.entry->reject(oclIsUndefined())->exists(entry : POCDMT000040Entry | not entry.observation.oclIsUndefined() and entry.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.76')) Consol Functional Status Section MAY contain zero or more [0..*] entry (CONF:16777, CONF:16778) Contains exactly one [1..1] Pressure Ulcer Observation (templateId: 2.16.840.1.113883.10.20.22.4.70) OCL self.entry->reject(oclIsUndefined())->exists(entry : POCDMT000040Entry | not entry.observation.oclIsUndefined() and entry.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.70')) Consol Functional Status Section SHALL contain exactly one [1..1] text (CONF:7923) OCL not self.text.oclIsUndefined() Consol Functional Status Section SHALL contain exactly one [1..1] title (CONF:7922) OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) Consol General Header Constraints MAY contain zero or more [0..*] authenticator (CONF:5607) OCL self.authenticator->reject(oclIsUndefined())->exists(authenticator : POCDMT000040Authenticator | not authenticator.oclIsUndefined() and authenticator.oclIsKindOf(POCDMT000040Authenticator)) Consol General Header Constraints MAY contain zero or more [0..*] authenticator (CONF:5607) authenticator SHALL contain exactly one [1..1] assignedEntity, where its type is Assigned Entity (CONF:5612) OCL self.authenticator->reject(oclIsUndefined())->reject(assignedEntity->reject(oclIsUndefined())->one(assignedEntity : POCDMT000040AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(POCDMT000040AssignedEntity)))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or more [0..*] authenticator (CONF:5607) each SHALL contain exactly one [1..1] assignedEntity, where (CONF:5612) assignedEntity SHALL contain at least one [1..*] addr with data type USRealmAddress (CONF:5616) OCL self.authenticator.assignedEntity->reject(oclIsUndefined())->reject((addr->reject(oclIsUndefined())->isEmpty() or addr->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not addr->reject(oclIsUndefined())->isEmpty()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or more [0..*] authenticator (CONF:5607) each SHALL contain exactly one [1..1] assignedEntity, where (CONF:5612) assignedEntity SHALL contain exactly one [1..1] assignedPerson, where its type is Person (CONF:5624) OCL self.authenticator.assignedEntity->reject(oclIsUndefined())->reject(assignedPerson->reject(oclIsUndefined())->one(assignedPerson : POCDMT000040Person | not assignedPerson.oclIsUndefined() and assignedPerson.oclIsKindOf(POCDMT000040Person)))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or more [0..*] authenticator (CONF:5607) each SHALL contain exactly one [1..1] assignedEntity, where (CONF:5612) assignedEntity MAY contain zero or one [0..1] code (CONF:16825), which SHOULD be selected from ValueSet Healthcare Provider Taxonomy (NUCC - HIPAA) 2.16.840.1.114222.4.11.1066 DYNAMIC (CONF:16826) OCL self.authenticator.assignedEntity->reject(oclIsUndefined())->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(CE) and let value : CE = code.oclAsType(CE) in value.codeSystem = '2.16.840.1.113883.6.101' and not value.code.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or more [0..*] authenticator (CONF:5607) each SHALL contain exactly one [1..1] assignedEntity, where (CONF:5612) assignedEntity MAY contain zero or one [0..1] code (CONF:16825), which SHOULD be selected from ValueSet Healthcare Provider Taxonomy (NUCC - HIPAA) 2.16.840.1.114222.4.11.1066 DYNAMIC (CONF:16826) OCL self.authenticator.assignedEntity->reject(oclIsUndefined())->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or more [0..*] authenticator (CONF:5607) each SHALL contain exactly one [1..1] assignedEntity, where (CONF:5612) assignedEntity The id SHOULD include zero or one [0..1] root ="2.16.840.1.113883.4.6" National Provider Identifier (CONF:9996) OCL self.authenticator.assignedEntity->reject(oclIsUndefined())->reject(id->reject(oclIsUndefined())->exists( root='2.16.840.1.113883.4.6' ))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or more [0..*] authenticator (CONF:5607) each SHALL contain exactly one [1..1] assignedEntity, where (CONF:5612) assignedEntity SHALL contain at least one [1..*] id (CONF:5613) OCL self.authenticator.assignedEntity->reject(oclIsUndefined())->reject((id->reject(oclIsUndefined())->isEmpty() or id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not id->reject(oclIsUndefined())->isEmpty()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or more [0..*] authenticator (CONF:5607) each SHALL contain exactly one [1..1] assignedEntity, where (CONF:5612) each SHALL contain exactly one [1..1] assignedperson, where (CONF:5624) assignedPerson SHALL contain at least one [1..*] name (CONF:5625) OCL self.authenticator.assignedEntity.assignedPerson->reject(oclIsUndefined())->reject((name->reject(oclIsUndefined())->isEmpty() or name->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not name->reject(oclIsUndefined())->isEmpty()))->reject(oclIsUndefined())->size()=0 Consol Assigned Entity SHALL contain at least one [1..*] telecom with data type TEL (CONF:5622) Consol General Header Constraints MAY contain zero or more [0..*] authenticator (CONF:5607) each SHALL contain exactly one [1..1] assignedEntity, where (CONF:5612) each SHALL contain at least one [1..*] telecom with data type tel (CONF:5622) telecom SHOULD contain zero or one [0..1] @use (CONF:8000) OCL self.authenticator.assignedEntity.telecom->reject(oclIsUndefined())->select(isNullFlavorUndefined())->reject(oclIsUndefined())->reject( ( isNullFlavorUndefined() implies (not use->reject(oclIsUndefined())->isEmpty() )))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or more [0..*] authenticator (CONF:5607) each SHALL contain exactly one [1..1] assignedEntity, where (CONF:5612) assignedEntity SHALL contain at least one [1..*] telecom with data type TEL (CONF:5622) OCL self.authenticator.assignedEntity->reject(oclIsUndefined())->reject((telecom->reject(oclIsUndefined())->isEmpty() or telecom->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not telecom->reject(oclIsUndefined())->isEmpty()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or more [0..*] authenticator (CONF:5607) authenticator SHALL contain exactly one [1..1] signatureCode/@code="S" (CodeSystem: 2.16.840.1.113883.5.89 Participationsignature) (CONF:5610) OCL self.authenticator->reject(oclIsUndefined())->reject((signatureCode.oclIsUndefined() or signatureCode.isNullFlavorUndefined()) implies (not signatureCode.oclIsUndefined() and signatureCode.oclIsKindOf(CS) and let value : CS = signatureCode.oclAsType(CS) in value.code = 'S'))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or more [0..*] authenticator (CONF:5607) authenticator SHALL contain exactly one [1..1] time (CONF:5608) OCL self.authenticator->reject(oclIsUndefined())->reject((time.oclIsUndefined() or time.isNullFlavorUndefined()) implies (not time.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain at least one [1..*] author (CONF:5444) OCL self.author->reject(oclIsUndefined())->exists(author : POCDMT000040Author | not author.oclIsUndefined() and author.oclIsKindOf(POCDMT000040Author)) Consol General Header Constraints SHALL contain at least one [1..*] author (CONF:5444) author SHALL contain exactly one [1..1] assignedAuthor, where its type is Assigned Author (CONF:5448) OCL self.author->reject(oclIsUndefined())->reject(assignedAuthor->reject(oclIsUndefined())->one(assignedAuthor : POCDMT000040AssignedAuthor | not assignedAuthor.oclIsUndefined() and assignedAuthor.oclIsKindOf(POCDMT000040AssignedAuthor)))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain at least one [1..*] author (CONF:5444) each SHALL contain exactly one [1..1] assignedAuthor, where (CONF:5448) assignedAuthor SHALL contain at least one [1..*] addr with data type USRealmAddress (CONF:5452) OCL self.author.assignedAuthor->reject(oclIsUndefined())->reject((addr->reject(oclIsUndefined())->isEmpty() or addr->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not addr->reject(oclIsUndefined())->isEmpty()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain at least one [1..*] author (CONF:5444) each SHALL contain exactly one [1..1] assignedAuthor, where (CONF:5448) each Contains zero or one [0..1] assignedAuthoringDevice, where assignedAuthoringDevice SHALL contain exactly one [1..1] manufacturerModelName (CONF:16784) OCL self.author.assignedAuthor.assignedAuthoringDevice->reject(oclIsUndefined())->reject((manufacturerModelName.oclIsUndefined() or manufacturerModelName.isNullFlavorUndefined()) implies (not manufacturerModelName.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain at least one [1..*] author (CONF:5444) each SHALL contain exactly one [1..1] assignedAuthor, where (CONF:5448) each Contains zero or one [0..1] assignedAuthoringDevice, where assignedAuthoringDevice SHALL contain exactly one [1..1] softwareName (CONF:16785) OCL self.author.assignedAuthor.assignedAuthoringDevice->reject(oclIsUndefined())->reject((softwareName.oclIsUndefined() or softwareName.isNullFlavorUndefined()) implies (not softwareName.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain at least one [1..*] author (CONF:5444) each SHALL contain exactly one [1..1] assignedAuthor, where (CONF:5448) assignedAuthor SHOULD contain zero or one [0..1] code (CONF:16787), which SHOULD be selected from ValueSet Healthcare Provider Taxonomy (NUCC - HIPAA) 2.16.840.1.114222.4.11.1066 DYNAMIC (CONF:16788) OCL self.author.assignedAuthor->reject(oclIsUndefined())->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(CE) and let value : CE = code.oclAsType(CE) in value.codeSystem = '2.16.840.1.113883.6.101' and not value.code.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain at least one [1..*] author (CONF:5444) each SHALL contain exactly one [1..1] assignedAuthor, where (CONF:5448) assignedAuthor SHOULD contain zero or one [0..1] code (CONF:16787), which SHOULD be selected from ValueSet Healthcare Provider Taxonomy (NUCC - HIPAA) 2.16.840.1.114222.4.11.1066 DYNAMIC (CONF:16788) OCL self.author.assignedAuthor->reject(oclIsUndefined())->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain at least one [1..*] author (CONF:5444) each SHALL contain exactly one [1..1] assignedAuthor, where (CONF:5448) assignedAuthor The id SHALL contain exactly one root ="2.16.840.1.113883.4.6" National Provider Identifier (CONF:9996) (CONF:16786) OCL self.author.assignedAuthor->reject(oclIsUndefined())->reject(not assignedPerson.oclIsUndefined() implies id->reject(oclIsUndefined())->exists(id| id.isNullFlavorDefined() or id.root='2.16.840.1.113883.4.6' ))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain at least one [1..*] author (CONF:5444) each SHALL contain exactly one [1..1] assignedAuthor, where (CONF:5448) assignedAuthor SHALL contain at least one [1..*] id (CONF:5449) OCL self.author.assignedAuthor->reject(oclIsUndefined())->reject((id->reject(oclIsUndefined())->isEmpty() or id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not id->reject(oclIsUndefined())->isEmpty()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain at least one [1..*] author (CONF:5444) each SHALL contain exactly one [1..1] assignedAuthor, where (CONF:5448) each Contains zero or one [0..1] assignedperson, where assignedPerson SHALL contain at least one [1..*] name (CONF:16789) OCL self.author.assignedAuthor.assignedPerson->reject(oclIsUndefined())->reject((name->reject(oclIsUndefined())->isEmpty() or name->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not name->reject(oclIsUndefined())->isEmpty()))->reject(oclIsUndefined())->size()=0 Consol Assigned Author SHALL contain at least one [1..*] telecom with data type TEL (CONF:5428) Consol General Header Constraints SHALL contain at least one [1..*] author (CONF:5444) each SHALL contain exactly one [1..1] assignedAuthor, where (CONF:5448) each SHALL contain at least one [1..*] telecom with data type tel (CONF:5428) telecom SHOULD contain zero or one [0..1] @use (CONF:7995) OCL self.author.assignedAuthor.telecom->reject(oclIsUndefined())->select(isNullFlavorUndefined())->reject(oclIsUndefined())->reject( ( isNullFlavorUndefined() implies (not use->reject(oclIsUndefined())->isEmpty() )))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain at least one [1..*] author (CONF:5444) each SHALL contain exactly one [1..1] assignedAuthor, where (CONF:5448) assignedAuthor SHALL contain at least one [1..*] telecom with data type TEL (CONF:5428) OCL self.author.assignedAuthor->reject(oclIsUndefined())->reject((telecom->reject(oclIsUndefined())->isEmpty() or telecom->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not telecom->reject(oclIsUndefined())->isEmpty()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain at least one [1..*] author (CONF:5444) author SHALL contain exactly one [1..1] time (CONF:5445) OCL self.author->reject(oclIsUndefined())->reject((time.oclIsUndefined() or time.isNullFlavorUndefined()) implies (not time.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or more [0..*] authorization (CONF:16792) OCL self.authorization->reject(oclIsUndefined())->exists(authorization : POCDMT000040Authorization | not authorization.oclIsUndefined() and authorization.oclIsKindOf(POCDMT000040Authorization)) Consol General Header Constraints MAY contain zero or more [0..*] authorization (CONF:16792) authorization SHALL contain exactly one [1..1] consent, where its type is Consent (CONF:16793) OCL self.authorization->reject(oclIsUndefined())->reject(consent->reject(oclIsUndefined())->one(consent : POCDMT000040Consent | not consent.oclIsUndefined() and consent.oclIsKindOf(POCDMT000040Consent)))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or more [0..*] authorization (CONF:16792) each SHALL contain exactly one [1..1] consent, where (CONF:16793) consent MAY contain zero or one [0..1] code (CONF:16795) OCL self.authorization.consent->reject(oclIsUndefined())->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or more [0..*] authorization (CONF:16792) each SHALL contain exactly one [1..1] consent, where (CONF:16793) consent MAY contain zero or more [0..*] id (CONF:16794) OCL self.authorization.consent->reject(oclIsUndefined())->reject((id->reject(oclIsUndefined())->isEmpty() or id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not id->reject(oclIsUndefined())->isEmpty()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or more [0..*] authorization (CONF:16792) each SHALL contain exactly one [1..1] consent, where (CONF:16793) consent SHALL contain exactly one [1..1] statusCode (CONF:16797)/@code="completed" Completed (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:16798) OCL self.authorization.consent->reject(oclIsUndefined())->reject((statusCode.oclIsUndefined() or statusCode.isNullFlavorUndefined()) implies (not statusCode.oclIsUndefined() and statusCode.oclIsKindOf(CS) and let value : CS = statusCode.oclAsType(CS) in value.code = 'completed'))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or more [0..*] authorization (CONF:16792) each SHALL contain exactly one [1..1] consent, where (CONF:16793) consent SHALL contain exactly one [1..1] statusCode (CONF:16797)/@code="completed" Completed (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:16798) OCL self.authorization.consent->reject(oclIsUndefined())->reject((statusCode.oclIsUndefined() or statusCode.isNullFlavorUndefined()) implies (not statusCode.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain exactly one [1..1] code (CONF:5253) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol General Header Constraints MAY contain exactly one [1..1] componentOf (CONF:9955) OCL self.componentOf->reject(oclIsUndefined())->one(componentOf : POCDMT000040Component1 | not componentOf.oclIsUndefined() and componentOf.oclIsKindOf(POCDMT000040Component1)) Consol General Header Constraints MAY contain exactly one [1..1] componentOf (CONF:9955) componentOf SHALL contain exactly one [1..1] encompassingEncounter, where its type is Encompassing Encounter (CONF:9956) OCL self.componentOf->reject(oclIsUndefined())->reject(encompassingEncounter->reject(oclIsUndefined())->one(encompassingEncounter : POCDMT000040EncompassingEncounter | not encompassingEncounter.oclIsUndefined() and encompassingEncounter.oclIsKindOf(POCDMT000040EncompassingEncounter)))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain exactly one [1..1] componentOf (CONF:9955) each SHALL contain exactly one [1..1] encompassingEncounter, where (CONF:9956) encompassingEncounter SHALL contain exactly one [1..1] effectiveTime (CONF:9958) OCL self.componentOf.encompassingEncounter->reject(oclIsUndefined())->reject((effectiveTime.oclIsUndefined() or effectiveTime.isNullFlavorUndefined()) implies (not effectiveTime.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain exactly one [1..1] componentOf (CONF:9955) each SHALL contain exactly one [1..1] encompassingEncounter, where (CONF:9956) encompassingEncounter SHALL contain at least one [1..*] id (CONF:9959) OCL self.componentOf.encompassingEncounter->reject(oclIsUndefined())->reject((id->reject(oclIsUndefined())->isEmpty() or id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not id->reject(oclIsUndefined())->isEmpty()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain exactly one [1..1] confidentialityCode, which SHOULD be selected from ValueSet HL7 BasicConfidentialityKind 2.16.840.1.113883.1.11.16926 STATIC (CONF:5259) OCL (self.confidentialityCode.oclIsUndefined() or self.confidentialityCode.isNullFlavorUndefined()) implies (not self.confidentialityCode.oclIsUndefined() and self.confidentialityCode.oclIsKindOf(CE) and let value : CE = self.confidentialityCode.oclAsType(CE) in value.codeSystem = '2.16.840.1.113883.5.25' and (value.code = 'N' or value.code = 'R' or value.code = 'V')) Consol General Header Constraints SHALL contain exactly one [1..1] custodian (iv., CONF:5519) OCL self.custodian->reject(oclIsUndefined())->one(custodian : POCDMT000040Custodian | not custodian.oclIsUndefined() and custodian.oclIsKindOf(POCDMT000040Custodian)) Consol General Header Constraints SHALL contain exactly one [1..1] custodian (iv., CONF:5519) custodian SHALL contain exactly one [1..1] assignedCustodian, where its type is Assigned Custodian (CONF:5520) OCL self.custodian->reject(oclIsUndefined())->reject(assignedCustodian->reject(oclIsUndefined())->one(assignedCustodian : POCDMT000040AssignedCustodian | not assignedCustodian.oclIsUndefined() and assignedCustodian.oclIsKindOf(POCDMT000040AssignedCustodian)))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain exactly one [1..1] custodian (iv., CONF:5519) each SHALL contain exactly one [1..1] assignedCustodian, where (CONF:5520) each SHALL contain zero or one [0..1] representedCustodianOrganization, where (CONF:5521) representedCustodianOrganization SHALL contain at least one [1..*] addr with data type USRealmAddress (CONF:5559) OCL self.custodian.assignedCustodian.representedCustodianOrganization->reject(oclIsUndefined())->reject((addr.oclIsUndefined() or addr.isNullFlavorUndefined()) implies (not addr.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain exactly one [1..1] custodian (iv., CONF:5519) each SHALL contain exactly one [1..1] assignedCustodian, where (CONF:5520) each SHALL contain zero or one [0..1] representedCustodianOrganization, where (CONF:5521) representedCustodianOrganization The id SHOULD include zero or one [0..1] @root ="2.16.840.1.113883.4.6" National Provider Identifier (CONF:9996) OCL self.custodian.assignedCustodian.representedCustodianOrganization->reject(oclIsUndefined())->reject(id->reject(oclIsUndefined())->exists( root='2.16.840.1.113883.4.6' ))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain exactly one [1..1] custodian (iv., CONF:5519) each SHALL contain exactly one [1..1] assignedCustodian, where (CONF:5520) each SHALL contain zero or one [0..1] representedCustodianOrganization, where (CONF:5521) representedCustodianOrganization SHALL contain at least one [1..*] id (CONF:5522) OCL self.custodian.assignedCustodian.representedCustodianOrganization->reject(oclIsUndefined())->reject((id->reject(oclIsUndefined())->isEmpty() or id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not id->reject(oclIsUndefined())->isEmpty()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain exactly one [1..1] custodian (iv., CONF:5519) each SHALL contain exactly one [1..1] assignedCustodian, where (CONF:5520) each SHALL contain zero or one [0..1] representedCustodianOrganization, where (CONF:5521) representedCustodianOrganization SHALL contain exactly one [1..1] name (CONF:5524) OCL self.custodian.assignedCustodian.representedCustodianOrganization->reject(oclIsUndefined())->reject((name.oclIsUndefined() or name.isNullFlavorUndefined()) implies (not name.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol Custodian Organization SHALL contain exactly one [1..1] telecom with data type TEL (CONF:5525) Consol General Header Constraints SHALL contain exactly one [1..1] custodian (iv., CONF:5519) each SHALL contain exactly one [1..1] assignedCustodian, where (CONF:5520) each SHALL contain zero or one [0..1] representedCustodianOrganization, where (CONF:5521) each SHALL contain exactly one [1..1] telecom with data type tel (CONF:5525) telecom SHOULD contain zero or one [0..1] @use OCL self.custodian.assignedCustodian.representedCustodianOrganization.telecom->reject(oclIsUndefined())->select(isNullFlavorUndefined())->reject(oclIsUndefined())->reject( ( isNullFlavorUndefined() implies (not use->reject(oclIsUndefined())->isEmpty() )))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain exactly one [1..1] custodian (iv., CONF:5519) each SHALL contain exactly one [1..1] assignedCustodian, where (CONF:5520) each SHALL contain zero or one [0..1] representedCustodianOrganization, where (CONF:5521) representedCustodianOrganization SHALL contain exactly one [1..1] telecom with data type TEL (CONF:5525) OCL self.custodian.assignedCustodian.representedCustodianOrganization->reject(oclIsUndefined())->reject((telecom.oclIsUndefined() or telecom.isNullFlavorUndefined()) implies (not telecom.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain exactly one [1..1] custodian (iv., CONF:5519) each SHALL contain exactly one [1..1] assignedCustodian, where (CONF:5520) assignedCustodian SHALL contain zero or one [0..1] representedCustodianOrganization, where its type is Custodian Organization (CONF:5521) OCL self.custodian.assignedCustodian->reject(oclIsUndefined())->reject(representedCustodianOrganization->reject(oclIsUndefined())->one(representedCustodianOrganization : POCDMT000040CustodianOrganization | not representedCustodianOrganization.oclIsUndefined() and representedCustodianOrganization.oclIsKindOf(POCDMT000040CustodianOrganization)))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or one [0..1] dataEnterer (CONF:5441) OCL self.dataEnterer->reject(oclIsUndefined())->one(dataEnterer : POCDMT000040DataEnterer | not dataEnterer.oclIsUndefined() and dataEnterer.oclIsKindOf(POCDMT000040DataEnterer)) Consol General Header Constraints MAY contain zero or one [0..1] dataEnterer (CONF:5441) dataEnterer SHALL contain exactly one [1..1] assignedEntity, where its type is Assigned Entity (CONF:5442) OCL self.dataEnterer->reject(oclIsUndefined())->reject(assignedEntity->reject(oclIsUndefined())->one(assignedEntity : POCDMT000040AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(POCDMT000040AssignedEntity)))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or one [0..1] dataEnterer (CONF:5441) each SHALL contain exactly one [1..1] assignedEntity, where (CONF:5442) assignedEntity SHALL contain at least one [1..*] addr with data type USRealmAddress (CONF:5460) OCL self.dataEnterer.assignedEntity->reject(oclIsUndefined())->reject((addr->reject(oclIsUndefined())->isEmpty() or addr->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not addr->reject(oclIsUndefined())->isEmpty()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or one [0..1] dataEnterer (CONF:5441) each SHALL contain exactly one [1..1] assignedEntity, where (CONF:5442) assignedEntity SHALL contain exactly one [1..1] assignedPerson, where its type is Person (CONF:5469) OCL self.dataEnterer.assignedEntity->reject(oclIsUndefined())->reject(assignedPerson->reject(oclIsUndefined())->one(assignedPerson : POCDMT000040Person | not assignedPerson.oclIsUndefined() and assignedPerson.oclIsKindOf(POCDMT000040Person)))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or one [0..1] dataEnterer (CONF:5441) each SHALL contain exactly one [1..1] assignedEntity, where (CONF:5442) assignedEntity MAY contain zero or one [0..1] code, which SHOULD be selected from (CodeSystem: 2.16.840.1.113883.6.101 NUCC Health Care Provider Taxonomy) (CONF:9944) OCL self.dataEnterer.assignedEntity->reject(oclIsUndefined())->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(CE) and let value : CE = code.oclAsType(CE) in value.codeSystem = '2.16.840.1.113883.6.101'))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or one [0..1] dataEnterer (CONF:5441) each SHALL contain exactly one [1..1] assignedEntity, where (CONF:5442) assignedEntity MAY contain zero or one [0..1] code, which SHOULD be selected from (CodeSystem: 2.16.840.1.113883.6.101 NUCC Health Care Provider Taxonomy) (CONF:9944) OCL self.dataEnterer.assignedEntity->reject(oclIsUndefined())->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or one [0..1] dataEnterer (CONF:5441) each SHALL contain exactly one [1..1] assignedEntity, where (CONF:5442) assignedEntity id SHOULD include zero or one [0..1] @root ="2.16.840.1.113883.4.6" National Provider Identifier (CONF:16821) OCL self.dataEnterer.assignedEntity->reject(oclIsUndefined())->reject(id->reject(oclIsUndefined())->exists( root='2.16.840.1.113883.4.6' ))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or one [0..1] dataEnterer (CONF:5441) each SHALL contain exactly one [1..1] assignedEntity, where (CONF:5442) assignedEntity SHALL contain at least one [1..*] id (CONF:5443) OCL self.dataEnterer.assignedEntity->reject(oclIsUndefined())->reject((id->reject(oclIsUndefined())->isEmpty() or id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not id->reject(oclIsUndefined())->isEmpty()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or one [0..1] dataEnterer (CONF:5441) each SHALL contain exactly one [1..1] assignedEntity, where (CONF:5442) each SHALL contain exactly one [1..1] assignedperson, where (CONF:5469) assignedPerson SHALL contain at least one [1..*] name OCL self.dataEnterer.assignedEntity.assignedPerson->reject(oclIsUndefined())->reject((name->reject(oclIsUndefined())->isEmpty() or name->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not name->reject(oclIsUndefined())->isEmpty()))->reject(oclIsUndefined())->size()=0 Consol Assigned Entity SHALL contain at least one [1..*] telecom with data type TEL (CONF:5466) Consol General Header Constraints MAY contain zero or one [0..1] dataEnterer (CONF:5441) each SHALL contain exactly one [1..1] assignedEntity, where (CONF:5442) each SHALL contain at least one [1..*] telecom with data type tel (CONF:5466) telecom SHOULD contain zero or one [0..1] @use (CONF:7996) OCL self.dataEnterer.assignedEntity.telecom->reject(oclIsUndefined())->select(isNullFlavorUndefined())->reject(oclIsUndefined())->reject( ( isNullFlavorUndefined() implies (not use->reject(oclIsUndefined())->isEmpty() )))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or one [0..1] dataEnterer (CONF:5441) each SHALL contain exactly one [1..1] assignedEntity, where (CONF:5442) assignedEntity SHALL contain at least one [1..*] telecom with data type TEL (CONF:5466) OCL self.dataEnterer.assignedEntity->reject(oclIsUndefined())->reject((telecom->reject(oclIsUndefined())->isEmpty() or telecom->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not telecom->reject(oclIsUndefined())->isEmpty()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or more [0..*] documentationOf (CONF:14835) OCL self.documentationOf->reject(oclIsUndefined())->exists(documentationOf : POCDMT000040DocumentationOf | not documentationOf.oclIsUndefined() and documentationOf.oclIsKindOf(POCDMT000040DocumentationOf)) Consol General Header Constraints MAY contain zero or more [0..*] documentationOf (CONF:14835) documentationOf SHALL contain exactly one [1..1] serviceEvent, where its type is Service Event (CONF:14836) OCL self.documentationOf->reject(oclIsUndefined())->reject(serviceEvent->reject(oclIsUndefined())->one(serviceEvent : POCDMT000040ServiceEvent | not serviceEvent.oclIsUndefined() and serviceEvent.oclIsKindOf(POCDMT000040ServiceEvent)))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or more [0..*] documentationOf (CONF:14835) each SHALL contain exactly one [1..1] serviceEvent, where (CONF:14836) serviceEvent SHALL contain exactly one [1..1] effectiveTime (CONF:14837) OCL self.documentationOf.serviceEvent->reject(oclIsUndefined())->reject((effectiveTime.oclIsUndefined() or effectiveTime.isNullFlavorUndefined()) implies (not effectiveTime.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or more [0..*] documentationOf (CONF:14835) each SHALL contain exactly one [1..1] serviceEvent, where (CONF:14836) serviceEvent effectiveTime SHALL contain exactly one [1..1] low (CONF:14838) OCL self.documentationOf.serviceEvent->reject(oclIsUndefined())->reject(effectiveTime->reject(oclIsUndefined())->forAll(not low.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or more [0..*] documentationOf (CONF:14835) each SHALL contain exactly one [1..1] serviceEvent, where (CONF:14836) serviceEvent SHOULD contain zero or more [0..*] performer, where its type is Performer1 (CONF:14839) OCL self.documentationOf.serviceEvent->reject(oclIsUndefined())->reject(performer->reject(oclIsUndefined())->exists(performer : POCDMT000040Performer1 | not performer.oclIsUndefined() and performer.oclIsKindOf(POCDMT000040Performer1)))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or more [0..*] documentationOf (CONF:14835) each SHALL contain exactly one [1..1] serviceEvent, where (CONF:14836) each SHOULD contain zero or more [0..*] performer, where (CONF:14839) performer SHALL contain exactly one [1..1] assignedEntity, where its type is Assigned Entity (CONF:14841) OCL self.documentationOf.serviceEvent.performer->reject(oclIsUndefined())->reject(assignedEntity->reject(oclIsUndefined())->one(assignedEntity : POCDMT000040AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(POCDMT000040AssignedEntity)))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or more [0..*] documentationOf (CONF:14835) each SHALL contain exactly one [1..1] serviceEvent, where (CONF:14836) each SHOULD contain zero or more [0..*] performer, where (CONF:14839) each SHALL contain exactly one [1..1] assignedEntity, where (CONF:14841) assignedEntity SHOULD contain zero or one [0..1] code (CONF:14842), which SHOULD be selected from (CodeSystem: 2.16.840.1.113883.6.101 NUCC Health Care Provider Taxonomy) (CONF:14843) OCL self.documentationOf.serviceEvent.performer.assignedEntity->reject(oclIsUndefined())->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(CE) and let value : CE = code.oclAsType(CE) in value.codeSystem = '2.16.840.1.113883.6.101'))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or more [0..*] documentationOf (CONF:14835) each SHALL contain exactly one [1..1] serviceEvent, where (CONF:14836) each SHOULD contain zero or more [0..*] performer, where (CONF:14839) each SHALL contain exactly one [1..1] assignedEntity, where (CONF:14841) assignedEntity SHOULD contain zero or one [0..1] code (CONF:14842), which SHOULD be selected from (CodeSystem: 2.16.840.1.113883.6.101 NUCC Health Care Provider Taxonomy) (CONF:14843) OCL self.documentationOf.serviceEvent.performer.assignedEntity->reject(oclIsUndefined())->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or more [0..*] documentationOf (CONF:14835) each SHALL contain exactly one [1..1] serviceEvent, where (CONF:14836) each SHOULD contain zero or more [0..*] performer, where (CONF:14839) each SHALL contain exactly one [1..1] assignedEntity, where (CONF:14841) assignedEntity The id SHOULD include zero or one [0..1]root ="2.16.840.1.113883.4.6" National Provider Identifier (CONF:9996) (CONF:14847) OCL self.documentationOf.serviceEvent.performer.assignedEntity->reject(oclIsUndefined())->reject(id->reject(oclIsUndefined())->exists( root='2.16.840.1.113883.4.6' ))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or more [0..*] documentationOf (CONF:14835) each SHALL contain exactly one [1..1] serviceEvent, where (CONF:14836) each SHOULD contain zero or more [0..*] performer, where (CONF:14839) each SHALL contain exactly one [1..1] assignedEntity, where (CONF:14841) assignedEntity SHALL contain at least one [1..*] id (CONF:14846) OCL self.documentationOf.serviceEvent.performer.assignedEntity->reject(oclIsUndefined())->reject((id->reject(oclIsUndefined())->isEmpty() or id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not id->reject(oclIsUndefined())->isEmpty()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or more [0..*] documentationOf (CONF:14835) each SHALL contain exactly one [1..1] serviceEvent, where (CONF:14836) each SHOULD contain zero or more [0..*] performer, where (CONF:14839) performer MAY contain zero or one [0..1] functionCode (CONF:16818), which SHOULD be selected from (CodeSystem: 2.16.840.1.113883.5.88 ParticipationFunction) (CONF:16819) OCL self.documentationOf.serviceEvent.performer->reject(oclIsUndefined())->reject((functionCode.oclIsUndefined() or functionCode.isNullFlavorUndefined()) implies (not functionCode.oclIsUndefined() and functionCode.oclIsKindOf(CE) and let value : CE = functionCode.oclAsType(CE) in value.codeSystem = '2.16.840.1.113883.5.88'))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or more [0..*] documentationOf (CONF:14835) each SHALL contain exactly one [1..1] serviceEvent, where (CONF:14836) each SHOULD contain zero or more [0..*] performer, where (CONF:14839) performer MAY contain zero or one [0..1] functionCode (CONF:16818), which SHOULD be selected from (CodeSystem: 2.16.840.1.113883.5.88 ParticipationFunction) (CONF:16819) OCL self.documentationOf.serviceEvent.performer->reject(oclIsUndefined())->reject((functionCode.oclIsUndefined() or functionCode.isNullFlavorUndefined()) implies (not functionCode.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain exactly one [1..1] effectiveTime (CONF:5256) OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) Consol General Header Constraints SHALL contain exactly one [1..1] id (CONF:5363) OCL (self.id.oclIsUndefined() or self.id.isNullFlavorUndefined()) implies (not self.id.oclIsUndefined()) Consol General Header Constraints MAY contain zero or more [0..*] inFulfillmentOf (CONF:9952) OCL self.inFulfillmentOf->reject(oclIsUndefined())->exists(inFulfillmentOf : POCDMT000040InFulfillmentOf | not inFulfillmentOf.oclIsUndefined() and inFulfillmentOf.oclIsKindOf(POCDMT000040InFulfillmentOf)) Consol General Header Constraints MAY contain zero or more [0..*] inFulfillmentOf (CONF:9952) inFulfillmentOf SHALL contain exactly one [1..1] order, where its type is Order (CONF:9953) OCL self.inFulfillmentOf->reject(oclIsUndefined())->reject(order->reject(oclIsUndefined())->one(order : POCDMT000040Order | not order.oclIsUndefined() and order.oclIsKindOf(POCDMT000040Order)))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or more [0..*] inFulfillmentOf (CONF:9952) each SHALL contain exactly one [1..1] order, where (CONF:9953) order SHALL contain at least one [1..*] id (CONF:9954) OCL self.inFulfillmentOf.order->reject(oclIsUndefined())->reject((id->reject(oclIsUndefined())->isEmpty() or id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not id->reject(oclIsUndefined())->isEmpty()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or one [0..1] informant (CONF:8001) OCL self.informant->reject(oclIsUndefined())->one(informant : POCDMT000040Informant12 | not informant.oclIsUndefined() and informant.oclIsKindOf(POCDMT000040Informant12)) Consol General Header Constraints MAY contain zero or one [0..1] informant (CONF:8001) informant MAY contain zero or one [0..1] assignedEntity, where its type is Assigned Entity OCL self.informant->reject(oclIsUndefined())->reject(assignedEntity->reject(oclIsUndefined())->one(assignedEntity : POCDMT000040AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(POCDMT000040AssignedEntity)))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or one [0..1] informant (CONF:8001) each MAY contain zero or one [0..1] assignedEntity, where assignedEntity SHOULD contain zero or more [0..*] addr with data type USRealmAddress (CONF:8220) OCL self.informant.assignedEntity->reject(oclIsUndefined())->reject((addr->reject(oclIsUndefined())->isEmpty() or addr->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not addr->reject(oclIsUndefined())->isEmpty()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or one [0..1] informant (CONF:8001) each MAY contain zero or one [0..1] assignedEntity, where assignedEntity SHALL contain exactly one [1..1] assignedPerson, where its type is Person (CONF:8221) OCL self.informant.assignedEntity->reject(oclIsUndefined())->reject(assignedPerson->reject(oclIsUndefined())->one(assignedPerson : POCDMT000040Person | not assignedPerson.oclIsUndefined() and assignedPerson.oclIsKindOf(POCDMT000040Person)))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or one [0..1] informant (CONF:8001) each MAY contain zero or one [0..1] assignedEntity, where assignedEntity MAY contain zero or one [0..1] code, which SHOULD be selected from (CodeSystem: 2.16.840.1.113883.6.101 NUCC Health Care Provider Taxonomy) (CONF:9947) OCL self.informant.assignedEntity->reject(oclIsUndefined())->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(CE) and let value : CE = code.oclAsType(CE) in value.codeSystem = '2.16.840.1.113883.6.101'))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or one [0..1] informant (CONF:8001) each MAY contain zero or one [0..1] assignedEntity, where assignedEntity MAY contain zero or one [0..1] code, which SHOULD be selected from (CodeSystem: 2.16.840.1.113883.6.101 NUCC Health Care Provider Taxonomy) (CONF:9947) OCL self.informant.assignedEntity->reject(oclIsUndefined())->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or one [0..1] informant (CONF:8001) each MAY contain zero or one [0..1] assignedEntity, where assignedEntity The id SHOULD include zero or one [0..1] id where id/@root ="2.16.840.1.113883.4.6" National Provider Identifier OCL self.informant.assignedEntity->reject(oclIsUndefined())->reject(id->reject(oclIsUndefined())->exists( root='2.16.840.1.113883.4.6' ))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or one [0..1] informant (CONF:8001) each MAY contain zero or one [0..1] assignedEntity, where assignedEntity SHALL contain at least one [1..*] id (CONF:9945) OCL self.informant.assignedEntity->reject(oclIsUndefined())->reject((id->reject(oclIsUndefined())->isEmpty() or id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not id->reject(oclIsUndefined())->isEmpty()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or one [0..1] informant (CONF:8001) each MAY contain zero or one [0..1] assignedEntity, where each SHALL contain exactly one [1..1] assignedperson, where (CONF:8221) assignedPerson SHALL contain at least one [1..*] name OCL self.informant.assignedEntity.assignedPerson->reject(oclIsUndefined())->reject((name->reject(oclIsUndefined())->isEmpty() or name->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not name->reject(oclIsUndefined())->isEmpty()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or one [0..1] informant (CONF:8001) informant SHALL satisfy: contain exactly one [1..1] assignedEntity OR exactly one [1..1] relatedEntity (CONF:8002) OCL self.informant->reject(oclIsUndefined())->reject(assignedEntity.oclIsUndefined() xor relatedEntity.oclIsUndefined())->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or one [0..1] informant (CONF:8001) informant MAY contain zero or one [0..1] relatedEntity, where its type is Related Entity OCL self.informant->reject(oclIsUndefined())->reject(relatedEntity->reject(oclIsUndefined())->one(relatedEntity : POCDMT000040RelatedEntity | not relatedEntity.oclIsUndefined() and relatedEntity.oclIsKindOf(POCDMT000040RelatedEntity)))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or one [0..1] informant (CONF:8001) each MAY contain zero or one [0..1] relatedEntity, where relatedEntity SHOULD contain zero or more [0..*] addr with data type USRealmAddress (CONF:8220) OCL self.informant.relatedEntity->reject(oclIsUndefined())->reject((addr->reject(oclIsUndefined())->isEmpty() or addr->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not addr->reject(oclIsUndefined())->isEmpty()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or one [0..1] informant (CONF:8001) each MAY contain zero or one [0..1] relatedEntity, where relatedEntity SHALL contain zero or one [0..1] relatedPerson, where its type is Person (CONF:8221) OCL self.informant.relatedEntity->reject(oclIsUndefined())->reject(relatedPerson->reject(oclIsUndefined())->one(relatedPerson : POCDMT000040Person | not relatedPerson.oclIsUndefined() and relatedPerson.oclIsKindOf(POCDMT000040Person)))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or more [0..*] informationRecipient (CONF:5565) OCL self.informationRecipient->reject(oclIsUndefined())->exists(informationRecipient : POCDMT000040InformationRecipient | not informationRecipient.oclIsUndefined() and informationRecipient.oclIsKindOf(POCDMT000040InformationRecipient)) Consol General Header Constraints MAY contain zero or more [0..*] informationRecipient (CONF:5565) informationRecipient SHALL contain exactly one [1..1] intendedRecipient, where its type is Intended Recipient (CONF:5566) OCL self.informationRecipient->reject(oclIsUndefined())->reject(intendedRecipient->reject(oclIsUndefined())->one(intendedRecipient : POCDMT000040IntendedRecipient | not intendedRecipient.oclIsUndefined() and intendedRecipient.oclIsKindOf(POCDMT000040IntendedRecipient)))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or more [0..*] informationRecipient (CONF:5565) each SHALL contain exactly one [1..1] intendedRecipient, where (CONF:5566) intendedRecipient MAY contain zero or one [0..1] informationRecipient, where its type is Person (CONF:5568) OCL self.informationRecipient.intendedRecipient->reject(oclIsUndefined())->reject(informationRecipient->reject(oclIsUndefined())->one(informationRecipient : POCDMT000040Person | not informationRecipient.oclIsUndefined() and informationRecipient.oclIsKindOf(POCDMT000040Person)))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or more [0..*] informationRecipient (CONF:5565) each SHALL contain exactly one [1..1] intendedRecipient, where (CONF:5566) each MAY contain zero or one [0..1] receivedorganization, where (CONF:5577) recievedOrganization SHALL contain exactly one [1..1] name (CONF:5578) OCL self.informationRecipient.intendedRecipient.receivedOrganization->reject(oclIsUndefined())->reject((name->reject(oclIsUndefined())->isEmpty() or name->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (name->reject(oclIsUndefined())->size() = 1))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or more [0..*] informationRecipient (CONF:5565) each SHALL contain exactly one [1..1] intendedRecipient, where (CONF:5566) each MAY contain zero or one [0..1] informationRecipient, where (CONF:5568) informationRecipient SHALL contain at least one [1..*] name (CONF:5470) OCL self.informationRecipient.intendedRecipient.informationRecipient->reject(oclIsUndefined())->reject((name->reject(oclIsUndefined())->isEmpty() or name->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not name->reject(oclIsUndefined())->isEmpty()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or more [0..*] informationRecipient (CONF:5565) each SHALL contain exactly one [1..1] intendedRecipient, where (CONF:5566) intendedRecipient MAY contain zero or one [0..1] receivedOrganization, where its type is Organization (CONF:5577) OCL self.informationRecipient.intendedRecipient->reject(oclIsUndefined())->reject(receivedOrganization->reject(oclIsUndefined())->one(receivedOrganization : POCDMT000040Organization | not receivedOrganization.oclIsUndefined() and receivedOrganization.oclIsKindOf(POCDMT000040Organization)))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain exactly one [1..1] languageCode, which SHALL be selected from ValueSet Language 2.16.840.1.113883.1.11.11526 DYNAMIC (CONF:5372) OCL (self.languageCode.oclIsUndefined() or self.languageCode.isNullFlavorUndefined()) implies (not self.languageCode.oclIsUndefined() and self.languageCode.oclIsKindOf(CS) and let value : CS = self.languageCode.oclAsType(CS) in not value.code.oclIsUndefined()) Consol General Header Constraints SHOULD contain zero or one [0..1] legalAuthenticator (CONF:5579) OCL self.legalAuthenticator->reject(oclIsUndefined())->one(legalAuthenticator : POCDMT000040LegalAuthenticator | not legalAuthenticator.oclIsUndefined() and legalAuthenticator.oclIsKindOf(POCDMT000040LegalAuthenticator)) Consol General Header Constraints SHOULD contain zero or one [0..1] legalAuthenticator (CONF:5579) each Contains zero or one [0..1] assignedEntity, where assignedEntity SHALL contain at least one [1..*] addr with data type USRealmAddress (CONF:5589) OCL self.legalAuthenticator.assignedEntity->reject(oclIsUndefined())->reject((addr->reject(oclIsUndefined())->isEmpty() or addr->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not addr->reject(oclIsUndefined())->isEmpty()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHOULD contain zero or one [0..1] legalAuthenticator (CONF:5579) each Contains zero or one [0..1] assignedEntity, where assignedEntity SHALL contain exactly one [1..1] assignedPerson, where its type is Person (CONF:5597) OCL self.legalAuthenticator.assignedEntity->reject(oclIsUndefined())->reject(assignedPerson->reject(oclIsUndefined())->one(assignedPerson : POCDMT000040Person | not assignedPerson.oclIsUndefined() and assignedPerson.oclIsKindOf(POCDMT000040Person)))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHOULD contain zero or one [0..1] legalAuthenticator (CONF:5579) each Contains zero or one [0..1] assignedEntity, where assignedEntity MAY contain zero or one [0..1] code (CONF:17000), which SHOULD be selected from ValueSet Healthcare Provider Taxonomy (NUCC - HIPAA) 2.16.840.1.114222.4.11.1066 DYNAMIC OCL self.legalAuthenticator.assignedEntity->reject(oclIsUndefined())->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(CE) and let value : CE = code.oclAsType(CE) in value.codeSystem = '2.16.840.1.113883.6.101' and not value.code.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHOULD contain zero or one [0..1] legalAuthenticator (CONF:5579) each Contains zero or one [0..1] assignedEntity, where assignedEntity MAY contain zero or one [0..1] code (CONF:17000), which SHOULD be selected from ValueSet Healthcare Provider Taxonomy (NUCC - HIPAA) 2.16.840.1.114222.4.11.1066 DYNAMIC OCL self.legalAuthenticator.assignedEntity->reject(oclIsUndefined())->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHOULD contain zero or one [0..1] legalAuthenticator (CONF:5579) each Contains zero or one [0..1] assignedEntity, where assignedEntity The id MAY include zero or one [0..1] root ="2.16.840.1.113883.4.6" National Provider Identifier (CONF:9996) (CONF:16823) OCL self.legalAuthenticator.assignedEntity->reject(oclIsUndefined())->reject(id->reject(oclIsUndefined())->exists( root='2.16.840.1.113883.4.6' ))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHOULD contain zero or one [0..1] legalAuthenticator (CONF:5579) each Contains zero or one [0..1] assignedEntity, where assignedEntity SHALL contain at least one [1..*] id (CONF:5586) OCL self.legalAuthenticator.assignedEntity->reject(oclIsUndefined())->reject((id->reject(oclIsUndefined())->isEmpty() or id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not id->reject(oclIsUndefined())->isEmpty()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHOULD contain zero or one [0..1] legalAuthenticator (CONF:5579) each Contains zero or one [0..1] assignedEntity, where each SHALL contain exactly one [1..1] assignedperson, where (CONF:5597) assignedPerson SHALL contain at least one [1..*] name (CONF:5598) OCL self.legalAuthenticator.assignedEntity.assignedPerson->reject(oclIsUndefined())->reject((name->reject(oclIsUndefined())->isEmpty() or name->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not name->reject(oclIsUndefined())->isEmpty()))->reject(oclIsUndefined())->size()=0 Consol Assigned Entity SHALL contain at least one [1..*] telecom with data type TEL (CONF:5595) Consol General Header Constraints SHOULD contain zero or one [0..1] legalAuthenticator (CONF:5579) each Contains zero or one [0..1] assignedEntity, where each SHALL contain at least one [1..*] telecom with data type tel (CONF:5595) telecom SHOULD contain zero or one [0..1] @use (CONF:7999) OCL self.legalAuthenticator.assignedEntity.telecom->reject(oclIsUndefined())->select(isNullFlavorUndefined())->reject(oclIsUndefined())->reject( ( isNullFlavorUndefined() implies (not use->reject(oclIsUndefined())->isEmpty() )))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHOULD contain zero or one [0..1] legalAuthenticator (CONF:5579) each Contains zero or one [0..1] assignedEntity, where assignedEntity SHALL contain at least one [1..*] telecom with data type TEL (CONF:5595) OCL self.legalAuthenticator.assignedEntity->reject(oclIsUndefined())->reject((telecom->reject(oclIsUndefined())->isEmpty() or telecom->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not telecom->reject(oclIsUndefined())->isEmpty()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHOULD contain zero or one [0..1] legalAuthenticator (CONF:5579) legalAuthenticator SHALL contain exactly one [1..1] signatureCode/@code="S" (CodeSystem: 2.16.840.1.113883.5.89 Participationsignature) (CONF:5583, CONF:5584) OCL self.legalAuthenticator->reject(oclIsUndefined())->reject((signatureCode.oclIsUndefined() or signatureCode.isNullFlavorUndefined()) implies (not signatureCode.oclIsUndefined() and signatureCode.oclIsKindOf(CS) and let value : CS = signatureCode.oclAsType(CS) in value.code = 'S'))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHOULD contain zero or one [0..1] legalAuthenticator (CONF:5579) legalAuthenticator SHALL contain exactly one [1..1] signatureCode/@code="S" (CodeSystem: 2.16.840.1.113883.5.89 Participationsignature) (CONF:5583, CONF:5584) OCL self.legalAuthenticator->reject(oclIsUndefined())->reject((signatureCode.oclIsUndefined() or signatureCode.isNullFlavorUndefined()) implies (not signatureCode.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHOULD contain zero or one [0..1] legalAuthenticator (CONF:5579) legalAuthenticator SHALL contain exactly one [1..1] time (CONF:5580) OCL self.legalAuthenticator->reject(oclIsUndefined())->reject((time.oclIsUndefined() or time.isNullFlavorUndefined()) implies (not time.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or more [0..*] participant (CONF:10003) supportParticipant Such participants, if present, SHALL have an associatedPerson or scopingOrganization element under participant/associatedEntity. (CONF:10006) OCL self.participant->reject(oclIsUndefined())->reject(associatedEntity.associatedPerson.oclIsUndefined() xor associatedEntity.scopingOrganization.oclIsUndefined())->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or more [0..*] participant (CONF:10003) supportParticipant MAY contain zero or one [0..1] time (CONF:10004) OCL self.participant->reject(oclIsUndefined())->reject((time.oclIsUndefined() or time.isNullFlavorUndefined()) implies (not time.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain exactly one [1..1] realmCode/@code="US" (CONF:16791) OCL (self.realmCode->reject(oclIsUndefined())->isEmpty() or self.realmCode->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (self.realmCode->reject(oclIsUndefined())->size() = 1 and self.realmCode->reject(oclIsUndefined())->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(CS) and let value : CS = element.oclAsType(CS) in value.code = 'US')) Consol General Header Constraints SHALL contain at least one [1..*] recordTarget (CONF:5266) OCL self.recordTarget->reject(oclIsUndefined())->exists(recordTarget : POCDMT000040RecordTarget | not recordTarget.oclIsUndefined() and recordTarget.oclIsKindOf(POCDMT000040RecordTarget)) Consol General Header Constraints SHALL contain at least one [1..*] recordTarget (CONF:5266) recordTarget SHALL contain exactly one [1..1] patientRole, where its type is Patient Role (CONF:5268) OCL self.recordTarget->reject(oclIsUndefined())->reject(patientRole->reject(oclIsUndefined())->one(patientRole : POCDMT000040PatientRole | not patientRole.oclIsUndefined() and patientRole.oclIsKindOf(POCDMT000040PatientRole)))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain at least one [1..*] recordTarget (CONF:5266) each SHALL contain exactly one [1..1] patientRole, where (CONF:5268) patientRole SHALL contain at least one [1..*] addr with data type USRealmAddress (CONF:5271) OCL self.recordTarget.patientRole->reject(oclIsUndefined())->reject((addr->reject(oclIsUndefined())->isEmpty() or addr->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not addr->reject(oclIsUndefined())->isEmpty()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain at least one [1..*] recordTarget (CONF:5266) each SHALL contain exactly one [1..1] patientRole, where (CONF:5268) patientRole SHALL contain at least one [1..*] id (CONF:5268) OCL self.recordTarget.patientRole->reject(oclIsUndefined())->reject((id->reject(oclIsUndefined())->isEmpty() or id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not id->reject(oclIsUndefined())->isEmpty()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain at least one [1..*] recordTarget (CONF:5266) each SHALL contain exactly one [1..1] patientRole, where (CONF:5268) patientRole SHALL contain exactly one [1..1] patient, where its type is Patient (CONF:5283) OCL self.recordTarget.patientRole->reject(oclIsUndefined())->reject(patient->reject(oclIsUndefined())->one(patient : POCDMT000040Patient | not patient.oclIsUndefined() and patient.oclIsKindOf(POCDMT000040Patient)))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain at least one [1..*] recordTarget (CONF:5266) each SHALL contain exactly one [1..1] patientRole, where (CONF:5268) patient Role SHALL contain exactly one [1..1] patient, where (CONF:5283) patient SHALL contain exactly one [1..1] administrativeGenderCode, which SHALL be selected from ValueSet Administrative Gender (HL7 V3) 2.16.840.1.113883.1.11.1 DYNAMIC (CONF:6394) OCL self.recordTarget.patientRole.patient->reject(oclIsUndefined())->reject((administrativeGenderCode.oclIsUndefined() or administrativeGenderCode.isNullFlavorUndefined()) implies (not administrativeGenderCode.oclIsUndefined() and administrativeGenderCode.oclIsKindOf(CE) and let value : CE = administrativeGenderCode.oclAsType(CE) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and value.codeSystem = '2.16.840.1.113883.5.1' and (value.code = 'F' or value.code = 'M' or value.code = 'UN')))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain at least one [1..*] recordTarget (CONF:5266) each SHALL contain exactly one [1..1] patientRole, where (CONF:5268) patient Role SHALL contain exactly one [1..1] patient, where (CONF:5283) patient SHALL contain exactly one [1..1] birthTime with data type TS (CONF:5298) OCL self.recordTarget.patientRole.patient->reject(oclIsUndefined())->reject((birthTime.oclIsUndefined() or birthTime.isNullFlavorUndefined()) implies (not birthTime.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain at least one [1..*] recordTarget (CONF:5266) each SHALL contain exactly one [1..1] patientRole, where (CONF:5268) patient Role SHALL contain exactly one [1..1] patient, where (CONF:5283) patient MAY contain zero or one [0..1] birthplace, where its type is Birthplace (CONF:5395) OCL self.recordTarget.patientRole.patient->reject(oclIsUndefined())->reject(birthplace->reject(oclIsUndefined())->one(birthplace : POCDMT000040Birthplace | not birthplace.oclIsUndefined() and birthplace.oclIsKindOf(POCDMT000040Birthplace)))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain at least one [1..*] recordTarget (CONF:5266) each SHALL contain exactly one [1..1] patientRole, where (CONF:5268) patient Role SHALL contain exactly one [1..1] patient, where (CONF:5283) each MAY contain zero or one [0..1] birthplace, where (CONF:5395) birthplace SHALL contain exactly one [1..1] place, where its type is Place (CONF:5396) OCL self.recordTarget.patientRole.patient.birthplace->reject(oclIsUndefined())->reject(place->reject(oclIsUndefined())->one(place : POCDMT000040Place | not place.oclIsUndefined() and place.oclIsKindOf(POCDMT000040Place)))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain at least one [1..*] recordTarget (CONF:5266) each SHALL contain exactly one [1..1] patientRole, where (CONF:5268) patient Role SHALL contain exactly one [1..1] patient, where (CONF:5283) each MAY contain zero or one [0..1] birthplace, where (CONF:5395) each SHALL contain exactly one [1..1] place, where (CONF:5396) place SHALL contain exactly one [1..1] addr (CONF:5397) OCL self.recordTarget.patientRole.patient.birthplace.place->reject(oclIsUndefined())->reject((addr.oclIsUndefined() or addr.isNullFlavorUndefined()) implies (not addr.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain at least one [1..*] recordTarget (CONF:5266) each SHALL contain exactly one [1..1] patientRole, where (CONF:5268) patient Role SHALL contain exactly one [1..1] patient, where (CONF:5283) patient MAY contain zero or one [0..1] ethnicGroupCode, which SHALL be selected from ValueSet Ethnicity Value Set 2.16.840.1.114222.4.11.837 STATIC (CONF:5323) OCL self.recordTarget.patientRole.patient->reject(oclIsUndefined())->reject((ethnicGroupCode.oclIsUndefined() or ethnicGroupCode.isNullFlavorUndefined()) implies (not ethnicGroupCode.oclIsUndefined() and ethnicGroupCode.oclIsKindOf(CE) and let value : CE = ethnicGroupCode.oclAsType(CE) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and value.codeSystem = '2.16.840.1.113883.6.238' and (value.code = '2135-2' or value.code = '2186-5')))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain at least one [1..*] recordTarget (CONF:5266) each SHALL contain exactly one [1..1] patientRole, where (CONF:5268) patient Role SHALL contain exactly one [1..1] patient, where (CONF:5283) patient MAY contain zero or one [0..1] ethnicGroupCode, which SHALL be selected from ValueSet Ethnicity Value Set 2.16.840.1.114222.4.11.837 STATIC (CONF:5323) OCL self.recordTarget.patientRole.patient->reject(oclIsUndefined())->reject((ethnicGroupCode.oclIsUndefined() or ethnicGroupCode.isNullFlavorUndefined()) implies (not ethnicGroupCode.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain at least one [1..*] recordTarget (CONF:5266) each SHALL contain exactly one [1..1] patientRole, where (CONF:5268) patient Role SHALL contain exactly one [1..1] patient, where (CONF:5283) patient MAY contain zero or more [0..*] guardian, where its type is Guardian (CONF:5325) OCL self.recordTarget.patientRole.patient->reject(oclIsUndefined())->reject(guardian->reject(oclIsUndefined())->exists(guardian : POCDMT000040Guardian | not guardian.oclIsUndefined() and guardian.oclIsKindOf(POCDMT000040Guardian)))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain at least one [1..*] recordTarget (CONF:5266) each SHALL contain exactly one [1..1] patientRole, where (CONF:5268) patient Role SHALL contain exactly one [1..1] patient, where (CONF:5283) each MAY contain zero or more [0..*] guardian, where (CONF:5325) guardian SHOULD contain zero or more [0..*] addr with data type USRealmAddress OCL self.recordTarget.patientRole.patient.guardian->reject(oclIsUndefined())->reject((addr->reject(oclIsUndefined())->isEmpty() or addr->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not addr->reject(oclIsUndefined())->isEmpty()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain at least one [1..*] recordTarget (CONF:5266) each SHALL contain exactly one [1..1] patientRole, where (CONF:5268) patient Role SHALL contain exactly one [1..1] patient, where (CONF:5283) each MAY contain zero or more [0..*] guardian, where (CONF:5325) guardian SHOULD contain zero or one [0..1] code, which SHALL be selected from ValueSet Personal Relationship Role Type 2.16.840.1.113883.1.11.19563 STATIC 1 (CONF:5326) OCL self.recordTarget.patientRole.patient.guardian->reject(oclIsUndefined())->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(CE) and let value : CE = code.oclAsType(CE) in value.codeSystem = '2.16.840.1.113883.5.111' and (value.code = 'ADOPT' or value.code = 'AUNT' or value.code = 'CHILD' or value.code = 'CHLDINLAW' or value.code = 'COUSN' or value.code = 'DOMPART' or value.code = 'FAMMEMB' or value.code = 'CHLDFOST' or value.code = 'GRNDCHILD' or value.code = 'GPARNT' or value.code = 'GRPRN' or value.code = 'GGRPRN' or value.code = 'HSIB' or value.code = 'MAUNT' or value.code = 'MCOUSN' or value.code = 'MGRPRN' or value.code = 'MGGRPRN' or value.code = 'MUNCLE' or value.code = 'NCHILD' or value.code = 'NPRN' or value.code = 'NSIB' or value.code = 'NBOR' or value.code = 'NIENEPH' or value.code = 'PRN' or value.code = 'PRNINLAW' or value.code = 'PAUNT' or value.code = 'PCOUSN' or value.code = 'PGRPRN' or value.code = 'PGGRPRN' or value.code = 'PUNCLE' or value.code = 'ROOM' or value.code = 'SIB' or value.code = 'SIBINLAW' or value.code = 'SIGOTHR' or value.code = 'SPS' or value.code = 'STEP' or value.code = 'STPPRN' or value.code = 'STPSIB' or value.code = 'UNCLE' or value.code = 'FRND')))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain at least one [1..*] recordTarget (CONF:5266) each SHALL contain exactly one [1..1] patientRole, where (CONF:5268) patient Role SHALL contain exactly one [1..1] patient, where (CONF:5283) each MAY contain zero or more [0..*] guardian, where (CONF:5325) guardian SHOULD contain zero or one [0..1] code, which SHALL be selected from ValueSet Personal Relationship Role Type 2.16.840.1.113883.1.11.19563 STATIC 1 (CONF:5326) OCL self.recordTarget.patientRole.patient.guardian->reject(oclIsUndefined())->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain at least one [1..*] recordTarget (CONF:5266) each SHALL contain exactly one [1..1] patientRole, where (CONF:5268) patient Role SHALL contain exactly one [1..1] patient, where (CONF:5283) each MAY contain zero or more [0..*] guardian, where (CONF:5325) guardian SHALL contain exactly one [1..1] guardianPerson, where its type is Person OCL self.recordTarget.patientRole.patient.guardian->reject(oclIsUndefined())->reject(guardianPerson->reject(oclIsUndefined())->one(guardianPerson : POCDMT000040Person | not guardianPerson.oclIsUndefined() and guardianPerson.oclIsKindOf(POCDMT000040Person)))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain at least one [1..*] recordTarget (CONF:5266) each SHALL contain exactly one [1..1] patientRole, where (CONF:5268) patient Role SHALL contain exactly one [1..1] patient, where (CONF:5283) each MAY contain zero or more [0..*] guardian, where (CONF:5325) each SHALL contain exactly one [1..1] guardianperson, where guardianPerson SHALL contain at least one [1..*] name OCL self.recordTarget.patientRole.patient.guardian.guardianPerson->reject(oclIsUndefined())->reject((name->reject(oclIsUndefined())->isEmpty() or name->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not name->reject(oclIsUndefined())->isEmpty()))->reject(oclIsUndefined())->size()=0 Consol Guardian MAY contain zero or more [0..*] telecom with data type TEL Consol General Header Constraints SHALL contain at least one [1..*] recordTarget (CONF:5266) each SHALL contain exactly one [1..1] patientRole, where (CONF:5268) patient Role SHALL contain exactly one [1..1] patient, where (CONF:5283) each MAY contain zero or more [0..*] guardian, where (CONF:5325) each MAY contain zero or more [0..*] telecom with data type tel telecom SHOULD contain zero or one [0..1] @use (CONF:7993) OCL self.recordTarget.patientRole.patient.guardian.telecom->reject(oclIsUndefined())->select(isNullFlavorUndefined())->reject(oclIsUndefined())->reject( ( isNullFlavorUndefined() implies (not use->reject(oclIsUndefined())->isEmpty() )))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain at least one [1..*] recordTarget (CONF:5266) each SHALL contain exactly one [1..1] patientRole, where (CONF:5268) patient Role SHALL contain exactly one [1..1] patient, where (CONF:5283) each MAY contain zero or more [0..*] guardian, where (CONF:5325) guardian MAY contain zero or more [0..*] telecom with data type TEL OCL self.recordTarget.patientRole.patient.guardian->reject(oclIsUndefined())->reject((telecom->reject(oclIsUndefined())->isEmpty() or telecom->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not telecom->reject(oclIsUndefined())->isEmpty()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain at least one [1..*] recordTarget (CONF:5266) each SHALL contain exactly one [1..1] patientRole, where (CONF:5268) patient Role SHALL contain exactly one [1..1] patient, where (CONF:5283) patient SHOULD contain zero or more [0..*] languageCommunication, where its type is Language Communication (CONF:5406) OCL self.recordTarget.patientRole.patient->reject(oclIsUndefined())->reject(languageCommunication->reject(oclIsUndefined())->exists(languageCommunication : POCDMT000040LanguageCommunication | not languageCommunication.oclIsUndefined() and languageCommunication.oclIsKindOf(POCDMT000040LanguageCommunication)))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain at least one [1..*] recordTarget (CONF:5266) each SHALL contain exactly one [1..1] patientRole, where (CONF:5268) patient Role SHALL contain exactly one [1..1] patient, where (CONF:5283) each SHOULD contain zero or more [0..*] languageCommunication, where (CONF:5406) languageCommunication SHALL contain exactly one [1..1] languageCode, which SHALL be selected from ValueSet Language 2.16.840.1.113883.1.11.11526 DYNAMIC (CONF:5407) OCL self.recordTarget.patientRole.patient.languageCommunication->reject(oclIsUndefined())->reject((languageCode.oclIsUndefined() or languageCode.isNullFlavorUndefined()) implies (not languageCode.oclIsUndefined() and languageCode.oclIsKindOf(CS) and let value : CS = languageCode.oclAsType(CS) in not value.code.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain at least one [1..*] recordTarget (CONF:5266) each SHALL contain exactly one [1..1] patientRole, where (CONF:5268) patient Role SHALL contain exactly one [1..1] patient, where (CONF:5283) each SHOULD contain zero or more [0..*] languageCommunication, where (CONF:5406) languageCommunication SHALL contain exactly one [1..1] languageCode, which SHALL be selected from ValueSet Language 2.16.840.1.113883.1.11.11526 DYNAMIC (CONF:5407) OCL self.recordTarget.patientRole.patient.languageCommunication->reject(oclIsUndefined())->reject((languageCode.oclIsUndefined() or languageCode.isNullFlavorUndefined()) implies (not languageCode.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain at least one [1..*] recordTarget (CONF:5266) each SHALL contain exactly one [1..1] patientRole, where (CONF:5268) patient Role SHALL contain exactly one [1..1] patient, where (CONF:5283) each SHOULD contain zero or more [0..*] languageCommunication, where (CONF:5406) languageCommunication MAY contain zero or one [0..1] modeCode, which SHALL be selected from ValueSet HL7 LanguageAbilityMode 2.16.840.1.113883.1.11.12249 STATIC 1 (CONF:5409) OCL self.recordTarget.patientRole.patient.languageCommunication->reject(oclIsUndefined())->reject((modeCode.oclIsUndefined() or modeCode.isNullFlavorUndefined()) implies (not modeCode.oclIsUndefined() and modeCode.oclIsKindOf(CE) and let value : CE = modeCode.oclAsType(CE) in value.codeSystem = '2.16.840.1.113883.5.60' and (value.code = 'ESGN' or value.code = 'ESP' or value.code = 'EWR' or value.code = 'RSGN' or value.code = 'RSP' or value.code = 'RWR')))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain at least one [1..*] recordTarget (CONF:5266) each SHALL contain exactly one [1..1] patientRole, where (CONF:5268) patient Role SHALL contain exactly one [1..1] patient, where (CONF:5283) each SHOULD contain zero or more [0..*] languageCommunication, where (CONF:5406) languageCommunication MAY contain zero or one [0..1] modeCode, which SHALL be selected from ValueSet HL7 LanguageAbilityMode 2.16.840.1.113883.1.11.12249 STATIC 1 (CONF:5409) OCL self.recordTarget.patientRole.patient.languageCommunication->reject(oclIsUndefined())->reject((modeCode.oclIsUndefined() or modeCode.isNullFlavorUndefined()) implies (not modeCode.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain at least one [1..*] recordTarget (CONF:5266) each SHALL contain exactly one [1..1] patientRole, where (CONF:5268) patient Role SHALL contain exactly one [1..1] patient, where (CONF:5283) each SHOULD contain zero or more [0..*] languageCommunication, where (CONF:5406) languageCommunication MAY contain zero or one [0..1] preferenceInd (CONF:5414) OCL self.recordTarget.patientRole.patient.languageCommunication->reject(oclIsUndefined())->reject((preferenceInd.oclIsUndefined() or preferenceInd.isNullFlavorUndefined()) implies (not preferenceInd.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain at least one [1..*] recordTarget (CONF:5266) each SHALL contain exactly one [1..1] patientRole, where (CONF:5268) patient Role SHALL contain exactly one [1..1] patient, where (CONF:5283) each SHOULD contain zero or more [0..*] languageCommunication, where (CONF:5406) languageCommunication SHOULD contain zero or one [0..1] proficiencyLevelCode, which SHALL be selected from ValueSet LanguageAbilityProficiency 2.16.840.1.113883.1.11.12199 STATIC (CONF:9965) OCL self.recordTarget.patientRole.patient.languageCommunication->reject(oclIsUndefined())->reject((proficiencyLevelCode.oclIsUndefined() or proficiencyLevelCode.isNullFlavorUndefined()) implies (not proficiencyLevelCode.oclIsUndefined() and proficiencyLevelCode.oclIsKindOf(CE) and let value : CE = proficiencyLevelCode.oclAsType(CE) in value.codeSystem = '2.16.840.1.113883.5.61' and (value.code = 'E' or value.code = 'F' or value.code = 'G' or value.code = 'P')))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain at least one [1..*] recordTarget (CONF:5266) each SHALL contain exactly one [1..1] patientRole, where (CONF:5268) patient Role SHALL contain exactly one [1..1] patient, where (CONF:5283) each SHOULD contain zero or more [0..*] languageCommunication, where (CONF:5406) languageCommunication SHOULD contain zero or one [0..1] proficiencyLevelCode, which SHALL be selected from ValueSet LanguageAbilityProficiency 2.16.840.1.113883.1.11.12199 STATIC (CONF:9965) OCL self.recordTarget.patientRole.patient.languageCommunication->reject(oclIsUndefined())->reject((proficiencyLevelCode.oclIsUndefined() or proficiencyLevelCode.isNullFlavorUndefined()) implies (not proficiencyLevelCode.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain at least one [1..*] recordTarget (CONF:5266) each SHALL contain exactly one [1..1] patientRole, where (CONF:5268) patient Role SHALL contain exactly one [1..1] patient, where (CONF:5283) patient SHOULD contain zero or one [0..1] maritalStatusCode (CONF:5303), which SHALL be selected from ValueSet HL7 Marital Status 2.16.840.1.113883.1.11.12212 STATIC 1 OCL self.recordTarget.patientRole.patient->reject(oclIsUndefined())->reject((maritalStatusCode.oclIsUndefined() or maritalStatusCode.isNullFlavorUndefined()) implies (not maritalStatusCode.oclIsUndefined() and maritalStatusCode.oclIsKindOf(CE) and let value : CE = maritalStatusCode.oclAsType(CE) in value.codeSystem = '2.16.840.1.113883.5.2' and (value.code = 'A' or value.code = 'D' or value.code = 'I' or value.code = 'L' or value.code = 'M' or value.code = 'P' or value.code = 'S' or value.code = 'T' or value.code = 'W')))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain at least one [1..*] recordTarget (CONF:5266) each SHALL contain exactly one [1..1] patientRole, where (CONF:5268) patient Role SHALL contain exactly one [1..1] patient, where (CONF:5283) patient SHOULD contain zero or one [0..1] maritalStatusCode (CONF:5303), which SHALL be selected from ValueSet HL7 Marital Status 2.16.840.1.113883.1.11.12212 STATIC 1 OCL self.recordTarget.patientRole.patient->reject(oclIsUndefined())->reject((maritalStatusCode.oclIsUndefined() or maritalStatusCode.isNullFlavorUndefined()) implies (not maritalStatusCode.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain at least one [1..*] recordTarget (CONF:5266) each SHALL contain exactly one [1..1] patientRole, where (CONF:5268) patient Role SHALL contain exactly one [1..1] patient, where (CONF:5283) patient SHALL contain at least one [1..*] name with data type USRealmPatientName (CONF:5284, CONF:10411) OCL self.recordTarget.patientRole.patient->reject(oclIsUndefined())->reject((name->reject(oclIsUndefined())->isEmpty() or name->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (name->reject(oclIsUndefined())->size() = 1))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain at least one [1..*] recordTarget (CONF:5266) each SHALL contain exactly one [1..1] patientRole, where (CONF:5268) patient Role SHALL contain exactly one [1..1] patient, where (CONF:5283) patient MAY contain zero or one [0..1] raceCode, which SHALL be selected from ValueSet Race 2.16.840.1.113883.1.11.14914 STATIC 1 (CONF:5322) OCL self.recordTarget.patientRole.patient->reject(oclIsUndefined())->reject((raceCode.oclIsUndefined() or raceCode.isNullFlavorUndefined()) implies (not raceCode.oclIsUndefined() and raceCode.oclIsKindOf(CE) and let value : CE = raceCode.oclAsType(CE) in value.codeSystem = '2.16.840.1.113883.6.238' and not value.code.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain at least one [1..*] recordTarget (CONF:5266) each SHALL contain exactly one [1..1] patientRole, where (CONF:5268) patient Role SHALL contain exactly one [1..1] patient, where (CONF:5283) patient MAY contain zero or one [0..1] raceCode, which SHALL be selected from ValueSet Race 2.16.840.1.113883.1.11.14914 STATIC 1 (CONF:5322) OCL self.recordTarget.patientRole.patient->reject(oclIsUndefined())->reject((raceCode.oclIsUndefined() or raceCode.isNullFlavorUndefined()) implies (not raceCode.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain at least one [1..*] recordTarget (CONF:5266) each SHALL contain exactly one [1..1] patientRole, where (CONF:5268) patient Role SHALL contain exactly one [1..1] patient, where (CONF:5283) patient MAY contain zero or one [0..1] religiousAffiliationCode (CONF:5317), which SHALL be selected from ValueSet HL7 Religious Affiliation 2.16.840.1.113883.1.11.19185 STATIC 1 OCL self.recordTarget.patientRole.patient->reject(oclIsUndefined())->reject((religiousAffiliationCode.oclIsUndefined() or religiousAffiliationCode.isNullFlavorUndefined()) implies (not religiousAffiliationCode.oclIsUndefined() and religiousAffiliationCode.oclIsKindOf(CE) and let value : CE = religiousAffiliationCode.oclAsType(CE) in value.codeSystem = '2.16.840.1.113883.5.1076' and not value.code.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain at least one [1..*] recordTarget (CONF:5266) each SHALL contain exactly one [1..1] patientRole, where (CONF:5268) patient Role SHALL contain exactly one [1..1] patient, where (CONF:5283) patient MAY contain zero or one [0..1] religiousAffiliationCode (CONF:5317), which SHALL be selected from ValueSet HL7 Religious Affiliation 2.16.840.1.113883.1.11.19185 STATIC 1 OCL self.recordTarget.patientRole.patient->reject(oclIsUndefined())->reject((religiousAffiliationCode.oclIsUndefined() or religiousAffiliationCode.isNullFlavorUndefined()) implies (not religiousAffiliationCode.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain at least one [1..*] recordTarget (CONF:5266) each SHALL contain exactly one [1..1] patientRole, where (CONF:5268) patientRole MAY contain zero or one [0..1] providerOrganization, where its type is Provider Organization (CONF:5416) OCL self.recordTarget.patientRole->reject(oclIsUndefined())->reject(providerOrganization->reject(oclIsUndefined())->one(providerOrganization : POCDMT000040Organization | not providerOrganization.oclIsUndefined() and providerOrganization.oclIsKindOf(POCDMT000040Organization)))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain at least one [1..*] recordTarget (CONF:5266) each SHALL contain exactly one [1..1] patientRole, where (CONF:5268) each MAY contain zero or one [0..1] providerOrganization, where (CONF:5416) providerOrganization SHALL contain at least one [1..*] addr with data type USRealmAddress (CONF:5422) OCL self.recordTarget.patientRole.providerOrganization->reject(oclIsUndefined())->reject((addr->reject(oclIsUndefined())->isEmpty() or addr->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not addr->reject(oclIsUndefined())->isEmpty()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain at least one [1..*] recordTarget (CONF:5266) each SHALL contain exactly one [1..1] patientRole, where (CONF:5268) each MAY contain zero or one [0..1] providerOrganization, where (CONF:5416) providerOrganization The id SHOULD include zero or one [0..1] id where id/@root ="2.16.840.1.113883.4.6" National Provider Identifier (CONF:9996) (CONF:9996) OCL self.recordTarget.patientRole.providerOrganization->reject(oclIsUndefined())->reject(id->reject(oclIsUndefined())->exists( root='2.16.840.1.113883.4.6' ))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain at least one [1..*] recordTarget (CONF:5266) each SHALL contain exactly one [1..1] patientRole, where (CONF:5268) each MAY contain zero or one [0..1] providerOrganization, where (CONF:5416) providerOrganization SHALL contain at least one [1..*] id (CONF:5417) OCL self.recordTarget.patientRole.providerOrganization->reject(oclIsUndefined())->reject((id->reject(oclIsUndefined())->isEmpty() or id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not id->reject(oclIsUndefined())->isEmpty()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain at least one [1..*] recordTarget (CONF:5266) each SHALL contain exactly one [1..1] patientRole, where (CONF:5268) each MAY contain zero or one [0..1] providerOrganization, where (CONF:5416) providerOrganization SHALL contain at least one [1..*] name (CONF:5419) OCL self.recordTarget.patientRole.providerOrganization->reject(oclIsUndefined())->reject((name->reject(oclIsUndefined())->isEmpty() or name->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not name->reject(oclIsUndefined())->isEmpty()))->reject(oclIsUndefined())->size()=0 Consol Provider Organization SHALL contain at least one [1..*] telecom with data type TEL (CONF:5420) Consol General Header Constraints SHALL contain at least one [1..*] recordTarget (CONF:5266) each SHALL contain exactly one [1..1] patientRole, where (CONF:5268) each MAY contain zero or one [0..1] providerOrganization, where (CONF:5416) each SHALL contain at least one [1..*] telecom with data type tel (CONF:5420) telecom SHOULD contain exactly one [1..1] @use (CONF:7994) OCL self.recordTarget.patientRole.providerOrganization.telecom->reject(oclIsUndefined())->select(isNullFlavorUndefined())->reject(oclIsUndefined())->reject( ( isNullFlavorUndefined() implies (use->reject(oclIsUndefined())->size() = 1 )))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain at least one [1..*] recordTarget (CONF:5266) each SHALL contain exactly one [1..1] patientRole, where (CONF:5268) each MAY contain zero or one [0..1] providerOrganization, where (CONF:5416) providerOrganization SHALL contain at least one [1..*] telecom with data type TEL (CONF:5420) OCL self.recordTarget.patientRole.providerOrganization->reject(oclIsUndefined())->reject((telecom->reject(oclIsUndefined())->isEmpty() or telecom->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not telecom->reject(oclIsUndefined())->isEmpty()))->reject(oclIsUndefined())->size()=0 Consol Patient Role SHALL contain at least one [1..*] telecom with data type TEL (CONF:5280) Consol General Header Constraints SHALL contain at least one [1..*] recordTarget (CONF:5266) each SHALL contain exactly one [1..1] patientRole, where (CONF:5268) each SHALL contain at least one [1..*] telecom with data type tel (CONF:5280) telecom SHOULD contain zero or one [0..1] @use OCL self.recordTarget.patientRole.telecom->reject(oclIsUndefined())->select(isNullFlavorUndefined())->reject(oclIsUndefined())->reject( ( isNullFlavorUndefined() implies (not use->reject(oclIsUndefined())->isEmpty() )))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints SHALL contain at least one [1..*] recordTarget (CONF:5266) each SHALL contain exactly one [1..1] patientRole, where (CONF:5268) patientRole SHALL contain at least one [1..*] telecom with data type TEL (CONF:5280) OCL self.recordTarget.patientRole->reject(oclIsUndefined())->reject((telecom->reject(oclIsUndefined())->isEmpty() or telecom->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not telecom->reject(oclIsUndefined())->isEmpty()))->reject(oclIsUndefined())->size()=0 Consol General Header Constraints MAY contain zero or one [0..1] setId (CONF:5261) OCL (self.setId.oclIsUndefined() or self.setId.isNullFlavorUndefined()) implies (not self.setId.oclIsUndefined()) Consol General Header Constraints If setId is present versionNumber SHALL be present (CONF:6380) OCL not self.setId.oclIsUndefined() implies not self.versionNumber.oclIsUndefined() Consol General Header Constraints MAY contain zero or more [0..*] participant (CONF:10003) OCL self.participant->reject(oclIsUndefined())->exists(participant : POCDMT000040Participant1 | not participant.oclIsUndefined() and participant.oclIsKindOf(POCDMT000040Participant1)) Consol General Header Constraints SHALL contain exactly one [1..1] title (CONF:5254) OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) Consol General Header Constraints SHALL contain exactly one [1..1] typeId (CONF:5361) OCL (self.typeId.oclIsUndefined() or self.typeId.isNullFlavorUndefined()) implies (not self.typeId.oclIsUndefined()) Consol General Header Constraints typeId SHALL contain exactly one [1..1] @extension="POCD_HD000040" (CONF:5251) OCL not self.typeId.oclIsUndefined() and self.typeId.extension = 'POCD_HD000040' Consol General Header Constraints typeId SHALL contain exactly one [1..1] @root="2.16.840.1.113883.1.3" (CONF:5250) OCL not self.typeId.oclIsUndefined() and self.typeId.root = '2.16.840.1.113883.1.3' Consol General Header Constraints MAY contain zero or one [0..1] versionNumber (CONF:5264) OCL (self.versionNumber.oclIsUndefined() or self.versionNumber.isNullFlavorUndefined()) implies (not self.versionNumber.oclIsUndefined()) Consol General Header Constraints If versionNumber is present setId SHALL be present (CONF:6387) OCL not self.versionNumber.oclIsUndefined() implies not self.setId.oclIsUndefined() Consol General Status Section SHALL contain exactly one [1..1] code (CONF:15472)/@code="10210-3" GENERAL STATUS (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:15473) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CE) and let value : CE = self.code.oclAsType(CE) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and ( value.code = '10210-3' and value.codeSystem = '2.16.840.1.113883.6.1')) Consol General Status Section SHALL contain exactly one [1..1] code (CONF:15472)/@code="10210-3" GENERAL STATUS (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:15473) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol General Status Section SHALL contain exactly one [1..1] text (CONF:7988) OCL not self.text.oclIsUndefined() Consol General Status Section SHALL contain exactly one [1..1] title (CONF:7987) OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) Consol Health Status Observation SHALL contain exactly one [1..1] @classCode="OBS" Observation (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:9057) OCL (not self.classCode.oclIsUndefined()) and self.classCode=ActClassObservation::OBS Consol Health Status Observation SHALL contain exactly one [1..1] code/@code="11323-3" Health status (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:9073) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CD) and let value : CD = self.code.oclAsType(CD) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and value.code = '11323-3' and value.codeSystem = '2.16.840.1.113883.6.1') Consol Health Status Observation text, if present, SHOULD contain zero or one [0..1] reference (CONF:9271) OCL not self.text.oclIsUndefined() implies self.text->reject(oclIsUndefined())->forAll(reference->reject(oclIsUndefined())->size() = 1) Consol Health Status Observation SHALL contain exactly one [1..1] @moodCode="EVN" Event (CodeSystem: 2.16.840.1.113883.5.1001 HL7ActMood) (CONF:9072) OCL (not self.moodCode.oclIsUndefined()) and self.moodCode=XActMoodDocumentObservation::EVN Consol Health Status Observation SHALL contain exactly one [1..1] statusCode/@code="completed" Completed (CodeSystem: 2.16.840.1.113883.5.14 ActStatus) (CONF:9074) OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(CS) and let value : CS = self.statusCode.oclAsType(CS) in (not value.code.oclIsUndefined()) and ( value.code = 'completed')) Consol Health Status Observation SHOULD contain zero or one [0..1] text (CONF:9270) OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (not self.text.oclIsUndefined()) Consol Health Status Observation reference, if present, SHOULD contain zero or one [0..1] @value (CONF:15530) OCL self.text->reject(oclIsUndefined())->forAll(reference->reject(oclIsUndefined())->size() = 1) implies self.text->reject(oclIsUndefined())->forAll(reference->reject(oclIsUndefined())->one(value->reject(oclIsUndefined())->size() = 1)) Consol Health Status Observation SHALL contain exactly one [1..1] value with data type CD, which SHALL be selected from ValueSet HealthStatus 2.16.840.1.113883.1.11.20.12 DYNAMIC (CONF:9075) OCL (self.value->reject(oclIsUndefined())->isEmpty() or self.value->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (self.value->reject(oclIsUndefined())->size() = 1 and self.value->reject(oclIsUndefined())->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(CD) and let value : CD = element.oclAsType(CD) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and ( value.codeSystem = '2.16.840.1.113883.6.96' and (value.code = '81323004' or value.code = '313386006' or value.code = '162467007' or value.code = '161901003' or value.code = '271593001' or value.code = '21134002' or value.code = '161045001')))) Consol Health Status Observation SHALL contain exactly one [1..1] value with data type CD, which SHALL be selected from ValueSet HealthStatus 2.16.840.1.113883.1.11.20.12 DYNAMIC (CONF:9075) OCL (self.value->reject(oclIsUndefined())->isEmpty() or self.value->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (self.value->reject(oclIsUndefined())->size() = 1 and self.value->reject(oclIsUndefined())->forAll(element | element.oclIsTypeOf(CD))) Consol Indication SHALL contain exactly one [1..1] @classCode="OBS" Observation (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:7480) OCL (not self.classCode.oclIsUndefined()) and self.classCode=ActClassObservation::OBS Consol Indication SHALL contain exactly one [1..1] code, which SHOULD be selected from ValueSet Problem Type 2.16.840.1.113883.3.88.12.3221.7.2 STATIC 2008-12-18 (CONF:16886) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CD) and let value : CD = self.code.oclAsType(CD) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and value.codeSystem = '2.16.840.1.113883.6.96' and (value.code = '404684003' or value.code = '409586006' or value.code = '282291009' or value.code = '64572001' or value.code = '248536006' or value.code = '418799008' or value.code = '55607006' or value.code = '373930000')) Consol Indication SHALL contain exactly one [1..1] code, which SHOULD be selected from ValueSet Problem Type 2.16.840.1.113883.3.88.12.3221.7.2 STATIC 2008-12-18 (CONF:16886) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Indication SHOULD contain zero or one [0..1] effectiveTime (CONF:7488) OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) Consol Indication SHALL contain exactly one [1..1] id (CONF:7483) OCL (self.id->reject(oclIsUndefined())->isEmpty() or self.id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (self.id->reject(oclIsUndefined())->size() = 1) Consol Indication SHALL contain exactly one [1..1] @moodCode="EVN" Event (CodeSystem: 2.16.840.1.113883.5.1001 HL7ActMood) (CONF:7481) OCL (not self.moodCode.oclIsUndefined()) and self.moodCode=XActMoodDocumentObservation::EVN Consol Indication SHALL contain exactly one [1..1] statusCode/@code="completed" (CodeSystem: 2.16.840.1.113883.5.14 ActStatus) (CONF:7487) OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(CS) and let value : CS = self.statusCode.oclAsType(CS) in (not value.code.oclIsUndefined()) and ( value.code = 'completed')) Consol Indication SHOULD contain zero or one [0..1] value with data type CD (CONF:7489), which SHOULD be selected from ValueSet Problem 2.16.840.1.113883.3.88.12.3221.7.4 DYNAMIC (CONF:15985) OCL (self.value->reject(oclIsUndefined())->isEmpty() or self.value->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (self.value->reject(oclIsUndefined())->forAll(element | element.oclIsTypeOf(CD))) Consol Instructions SHALL contain exactly one [1..1] @classCode="ACT" Act (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:7391) OCL (not self.classCode.oclIsUndefined()) and self.classCode=XActClassDocumentEntryAct::ACT Consol Instructions SHALL contain exactly one [1..1] code, which SHOULD be selected from ValueSet PatientEducation 2.16.840.1.113883.11.20.9.34 DYNAMIC (CONF:7394) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CD) and let value : CD = self.code.oclAsType(CD) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined()) Consol Instructions SHALL contain exactly one [1..1] code, which SHOULD be selected from ValueSet PatientEducation 2.16.840.1.113883.11.20.9.34 DYNAMIC (CONF:7394) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Instructions SHALL contain exactly one [1..1] @moodCode="INT" (CodeSystem: 2.16.840.1.113883.5.1001 HL7ActMood) (CONF:7392) OCL (not self.moodCode.oclIsUndefined()) and self.moodCode=XDocumentActMood::INT Consol Instructions reference SHOULD contain exactly one [1..1] @value (CONF:15578) OCL self.text->reject(oclIsUndefined())->forAll(reference->reject(oclIsUndefined())->size() = 1) implies self.text->reject(oclIsUndefined())->forAll(reference->reject(oclIsUndefined())->one(value->reject(oclIsUndefined())->size() = 1)) Consol Instructions SHALL contain exactly one [1..1] statusCode/@code="completed" Completed (CodeSystem: 2.16.840.1.113883.5.14 ActStatus) (CONF:7396) OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(CS) and let value : CS = self.statusCode.oclAsType(CS) in (not value.code.oclIsUndefined()) and ( value.code = 'completed')) Consol Instructions SHOULD contain zero or one [0..1] text (CONF:7395) OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (not self.text.oclIsUndefined()) Consol Instructions This text, if present, SHOULD contain zero or one [0..1] reference (CONF:15577) OCL not self.text.oclIsUndefined() implies self.text->reject(oclIsUndefined())->forAll(reference->reject(oclIsUndefined())->size() = 1) Consol Medication Activity MAY contain zero or one [0..1] administrationUnitCode, which MAY be selected from ValueSet Medication Product Form Value Set 2.16.840.1.113883.3.88.12.3221.8.11 STATIC 1 (CONF:7519) OCL (self.administrationUnitCode.oclIsUndefined() or self.administrationUnitCode.isNullFlavorUndefined()) implies (not self.administrationUnitCode.oclIsUndefined() and self.administrationUnitCode.oclIsKindOf(CE) and let value : CE = self.administrationUnitCode.oclAsType(CE) in not value.codeSystem.oclIsUndefined() or not value.codeSystemName.oclIsUndefined()) Consol Medication Activity MAY contain zero or one [0..1] approachSiteCode, which SHALL be selected from ValueSet Body Site Value Set 2.16.840.1.113883.3.88.12.3221.8.9 STATIC 2 (CONF:7515) OCL (self.approachSiteCode->reject(oclIsUndefined())->isEmpty() or self.approachSiteCode->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (self.approachSiteCode->reject(oclIsUndefined())->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(CD) and let value : CD = element.oclAsType(CD) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and ( value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined()))) Consol Medication Activity MAY contain zero or one [0..1] approachSiteCode, which SHALL be selected from ValueSet Body Site Value Set 2.16.840.1.113883.3.88.12.3221.8.9 STATIC 2 (CONF:7515) OCL (self.approachSiteCode->reject(oclIsUndefined())->isEmpty() or self.approachSiteCode->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.approachSiteCode->reject(oclIsUndefined())->isEmpty()) Consol Medication Activity SHALL contain exactly one [1..1] @classCode="SBADM" (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:7496) OCL (not self.classCode.oclIsUndefined()) and self.classCode=ActClass::SBADM Consol Medication Activity MAY contain zero or one [0..1] code (CONF:7506) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Medication Activity SHALL contain exactly one [1..1] consumable (CONF:7520) OCL (not self.consumable.oclIsUndefined()) and self.consumable->reject(oclIsUndefined())->one(consumable : POCDMT000040Consumable | not consumable.oclIsUndefined() and consumable.oclIsKindOf(POCDMT000040Consumable)) Consol Medication Activity SHALL contain exactly one [1..1] consumable (CONF:7520) consumable SHALL contain exactly one [1..1] manufacturedProduct, where its type is Medication Information (CONF:16085) OCL (not self.consumable.oclIsUndefined()) and self.consumable->reject(oclIsUndefined())->reject(manufacturedProduct->reject(oclIsUndefined())->one(manufacturedProduct : POCDMT000040ManufacturedProduct | not manufacturedProduct.oclIsUndefined() and manufacturedProduct.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.23')))->reject(oclIsUndefined())->size()=0 Consol Medication Activity SHOULD contain zero or one [0..1] doseQuantity (CONF:7516) OCL (self.doseQuantity.oclIsUndefined() or self.doseQuantity.isNullFlavorUndefined()) implies (not self.doseQuantity.oclIsUndefined()) Consol Medication Activity doseQuantity, if present, SHOULD contain zero or one [0..1] @unit, which SHALL be selected from ValueSet UCUM Units of Measure (case sensitive) 2.16.840.1.113883.1.11.12839 DYNAMIC (CONF:7526) OCL not self.doseQuantity.oclIsUndefined() implies not self.doseQuantity.unit.oclIsUndefined() Consol Medication Activity Medication Activity SHOULD include doseQuantity OR rateQuantity (CONF:7529) OCL self.doseQuantity.oclIsUndefined() xor self.rateQuantity.oclIsUndefined() Consol Medication Activity MAY contain zero or more [0..*] participant (CONF:7523, CONF:7524, CONF:16086) Contains exactly one [1..1] Drug Vehicle (templateId: 2.16.840.1.113883.10.20.22.4.24) OCL self.participant->reject(oclIsUndefined())->exists(participant : POCDMT000040Participant2 | not participant.participantRole.oclIsUndefined() and participant.participantRole.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.24')) Consol Medication Activity participant with target entry Drug Vehicle SHALL contain exactly one [1..1] @typeCode="CSM" (CodeSystem: HL7ParticipationType 2.16.840.1.113883.5.90) (CONF:7524) OCL self.participant->reject(oclIsUndefined())->select(par : POCDMT000040Participant2 | (not par.participantRole.oclIsUndefined()) and par.participantRole.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.24'))->reject(oclIsUndefined())->forAll(p : POCDMT000040Participant2 | (not p.typeCode.oclIsUndefined()) and p.typeCode=ParticipationType::CSM) Consol Medication Activity effectiveTime with @xsi:type="IVL_TS" SHALL contain exactly one [1..1] high OCL self.effectiveTime->reject(oclIsUndefined())->select(ef | ef.oclIsTypeOf(IVLTS))->reject(oclIsUndefined())->forAll( eff | eff.oclAsType(IVLTS).high->reject(oclIsUndefined())->size() = 1) Consol Medication Activity SHALL contain exactly one [1..1] effectiveTime such that it SHALL contain exactly one [1..1] @xsi:type = "IVL_TS" (CONF:7508, CONF:9104) OCL self.effectiveTime->reject(oclIsUndefined())->select(ef | ef.oclIsTypeOf(IVLTS))->reject(oclIsUndefined())->size() = 1 Consol Medication Activity effectiveTime with @xsi:type="IVL_TS" SHALL contain exactly one [1..1] low OCL self.effectiveTime->reject(oclIsUndefined())->select(ef | ef.oclIsTypeOf(IVLTS))->reject(oclIsUndefined())->forAll( eff | eff.oclAsType(IVLTS).low->reject(oclIsUndefined())->size() = 1) Consol Medication Activity SHOULD contain zero or one [0..1] effectiveTime such that it SHALL contain exactly one [1..1] @xsi:type = "PIVL_TS" or "EIVL_TS" (CONF:7513, CONF:9105) OCL self.effectiveTime->reject(oclIsUndefined())->select(ef | ef.oclIsTypeOf(PIVLTS) or ef.oclIsTypeOf(EIVLTS))->reject(oclIsUndefined())->size() = 1 Consol Medication Activity SHALL contain at least one [1..*] id (CONF:7500) OCL (self.id->reject(oclIsUndefined())->isEmpty() or self.id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.id->reject(oclIsUndefined())->isEmpty()) Consol Medication Activity MAY contain zero or more [0..*] entryRelationship (CONF:7536, CONF:7537, CONF:16087) Contains @typeCode="RSON" RSON, and Contains exactly one [1..1] Indication (templateId: 2.16.840.1.113883.10.20.22.4.19) OCL self.entryRelationship->reject(oclIsUndefined())->exists(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.19') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::RSON) Consol Medication Activity MAY contain zero or one [0..1] entryRelationship (CONF:7539, CONF:7540, CONF:16088) Contains @typeCode="SUBJ" SUBJ, and Contains exactly one [1..1] Instructions (templateId: 2.16.840.1.113883.10.20.22.4.20) OCL self.entryRelationship->reject(oclIsUndefined())->one(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.20') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::SUBJ) Consol Medication Activity MAY contain zero or one [0..1] maxDoseQuantity (CONF:7518) OCL (self.maxDoseQuantity.oclIsUndefined() or self.maxDoseQuantity.isNullFlavorUndefined()) implies (not self.maxDoseQuantity.oclIsUndefined()) Consol Medication Activity MAY contain zero or more [0..*] entryRelationship (CONF:7549, CONF:7553, CONF:16090) Contains @typeCode="REFR" REFR, and Contains exactly one [1..1] Medication Dispense (templateId: 2.16.840.1.113883.10.20.22.4.18) OCL self.entryRelationship->reject(oclIsUndefined())->exists(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.supply.oclIsUndefined() and entryRelationship.supply.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.18') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::REFR) Consol Medication Activity MAY contain zero or one [0..1] entryRelationship (CONF:7543, CONF:7547, CONF:16089) Contains @typeCode="REFR" REFR, and Contains exactly one [1..1] Medication Supply Order (templateId: 2.16.840.1.113883.10.20.22.4.17) OCL self.entryRelationship->reject(oclIsUndefined())->one(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.supply.oclIsUndefined() and entryRelationship.supply.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.17') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::REFR) Consol Medication Activity SHALL contain exactly one [1..1] @moodCode, which SHALL be selected from ValueSet MoodCodeEvnInt 2.16.840.1.113883.11.20.9.18 STATIC 2011-04-03 (CONF:7497) OCL not self.moodCode.oclIsUndefined() and self.moodCode.oclIsKindOf(XDocumentSubstanceMood) and let value : XDocumentSubstanceMood = self.moodCode.oclAsType(XDocumentSubstanceMood) in value = XDocumentSubstanceMood::EVN or value = XDocumentSubstanceMood::INT Consol Medication Activity MAY contain zero or more [0..*] precondition (CONF:7546, CONF:16092) Contains exactly one [1..1] Precondition For Substance Administration (templateId: 2.16.840.1.113883.10.20.22.4.25) OCL self.precondition->reject(oclIsUndefined())->exists(precondition : POCDMT000040Precondition | not precondition.oclIsUndefined() and precondition.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.25')) Consol Medication Activity MAY contain zero or one [0..1] rateQuantity (CONF:7517) OCL (self.rateQuantity.oclIsUndefined() or self.rateQuantity.isNullFlavorUndefined()) implies (not self.rateQuantity.oclIsUndefined()) Consol Medication Activity MAY contain zero or one [0..1] entryRelationship (CONF:7552, CONF:7544, CONF:16091) Contains @typeCode="CAUS" CAUS, and Contains exactly one [1..1] Reaction Observation (templateId: 2.16.840.1.113883.10.20.22.4.9) OCL self.entryRelationship->reject(oclIsUndefined())->one(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.9') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::CAUS) Consol Medication Activity reference, if present, SHOULD contain zero or one [0..1] @value (CONF:15978) OCL self.text->reject(oclIsUndefined())->forAll(reference->reject(oclIsUndefined())->size() = 1) implies self.text->reject(oclIsUndefined())->forAll(reference->reject(oclIsUndefined())->one(value->reject(oclIsUndefined())->size() = 1)) Consol Medication Activity MAY contain zero or one [0..1] repeatNumber (CONF:7555) OCL (self.repeatNumber.oclIsUndefined() or self.repeatNumber.isNullFlavorUndefined()) implies (not self.repeatNumber.oclIsUndefined()) Consol Medication Activity MAY contain zero or one [0..1] routeCode, which SHALL be selected from ValueSet Medication Route FDA Value Set 2.16.840.1.113883.3.88.12.3221.8.7 STATIC 1 (CONF:7514) OCL (self.routeCode.oclIsUndefined() or self.routeCode.isNullFlavorUndefined()) implies (not self.routeCode.oclIsUndefined() and self.routeCode.oclIsKindOf(CE) and let value : CE = self.routeCode.oclAsType(CE) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and ( value.codeSystem = '2.16.840.1.113883.3.26.1.1' and (value.code = 'C38192' or value.code = 'C38193' or value.code = 'C38194' or value.code = 'C38675' or value.code = 'C38197' or value.code = 'C38633' or value.code = 'C38205' or value.code = 'C38206' or value.code = 'C38208' or value.code = 'C38209' or value.code = 'C38210' or value.code = 'C38211' or value.code = 'C38212' or value.code = 'C38200' or value.code = 'C38215' or value.code = 'C38219' or value.code = 'C38220' or value.code = 'C38221' or value.code = 'C38222' or value.code = 'C38223' or value.code = 'C38224' or value.code = 'C38225' or value.code = 'C38226' or value.code = 'C38227' or value.code = 'C38228' or value.code = 'C38229' or value.code = 'C38230' or value.code = 'C38231' or value.code = 'C38232' or value.code = 'C38233' or value.code = 'C38234' or value.code = 'C38217' or value.code = 'C38218' or value.code = 'C38235' or value.code = 'C38238' or value.code = 'C38239' or value.code = 'C38240' or value.code = 'C38241' or value.code = 'C38242' or value.code = 'C38243' or value.code = 'C38245' or value.code = 'C38246' or value.code = 'C38247' or value.code = 'C38249' or value.code = 'C38250' or value.code = 'C38251' or value.code = 'C38252' or value.code = 'C38253' or value.code = 'C38254' or value.code = 'C28161' or value.code = 'C38255' or value.code = 'C38256' or value.code = 'C38257' or value.code = 'C38258' or value.code = 'C38259' or value.code = 'C38260' or value.code = 'C38261' or value.code = 'C38262' or value.code = 'C38263' or value.code = 'C38264' or value.code = 'C38265' or value.code = 'C38266' or value.code = 'C38267' or value.code = 'C38207' or value.code = 'C38268' or value.code = 'C38269' or value.code = 'C38270' or value.code = 'C38272' or value.code = 'C38273' or value.code = 'C38276' or value.code = 'C38277' or value.code = 'C38278' or value.code = 'C38280' or value.code = 'C38203' or value.code = 'C38281' or value.code = 'C38282' or value.code = 'C38284' or value.code = 'C38285' or value.code = 'C48623' or value.code = 'C38286' or value.code = 'C38287' or value.code = 'C38288' or value.code = 'C38289' or value.code = 'C38291' or value.code = 'C38676' or value.code = 'C38292' or value.code = 'C38677' or value.code = 'C38293' or value.code = 'C38294' or value.code = 'C38295' or value.code = 'C38216' or value.code = 'C38296' or value.code = 'C38198' or value.code = 'C38297' or value.code = 'C38298' or value.code = 'C38299' or value.code = 'C38300' or value.code = 'C38301' or value.code = 'C38304' or value.code = 'C38305' or value.code = 'C38283' or value.code = 'C38307' or value.code = 'C38308' or value.code = 'C38309' or value.code = 'C38312' or value.code = 'C38271'))) Consol Medication Activity MAY contain zero or one [0..1] routeCode, which SHALL be selected from ValueSet Medication Route FDA Value Set 2.16.840.1.113883.3.88.12.3221.8.7 STATIC 1 (CONF:7514) OCL (self.routeCode.oclIsUndefined() or self.routeCode.isNullFlavorUndefined()) implies (not self.routeCode.oclIsUndefined()) Consol Medication Activity SHALL contain exactly one [1..1] statusCode (CONF:7507) OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) Consol Medication Activity SHOULD contain zero or one [0..1] text (CONF:7501) OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (not self.text.oclIsUndefined()) Consol Medication Activity text, if present, SHOULD contain zero or one [0..1] reference (CONF:15977) OCL not self.text.oclIsUndefined() implies self.text->reject(oclIsUndefined())->forAll(reference->reject(oclIsUndefined())->size() = 1) Consol Medication Dispense SHALL contain exactly one [1..1] @classCode="SPLY" (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:7451) OCL (not self.classCode.oclIsUndefined()) and self.classCode=ActClassSupply::SPLY Consol Medication Dispense SHOULD contain zero or one [0..1] effectiveTime (CONF:7456) OCL (self.effectiveTime->reject(oclIsUndefined())->isEmpty() or self.effectiveTime->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.effectiveTime->reject(oclIsUndefined())->isEmpty()) Consol Medication Dispense SHALL contain at least one [1..*] id (CONF:7454) OCL (self.id->reject(oclIsUndefined())->isEmpty() or self.id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.id->reject(oclIsUndefined())->isEmpty()) Consol Medication Dispense MAY contain zero or one [0..1] entryRelationship (CONF:7473, CONF:7474, CONF:15606) Contains @typeCode="REFR" REFR, and Contains exactly one [1..1] Medication Supply Order (templateId: 2.16.840.1.113883.10.20.22.4.17) OCL self.entryRelationship->reject(oclIsUndefined())->one(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.supply.oclIsUndefined() and entryRelationship.supply.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.17') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::REFR) Consol Medication Dispense SHALL contain exactly one [1..1] @moodCode="EVN" Event (CodeSystem: 2.16.840.1.113883.5.1001 HL7ActMood) (CONF:7452) OCL (not self.moodCode.oclIsUndefined()) and self.moodCode=XDocumentSubstanceMood::EVN Consol Medication Dispense MAY contain zero or one [0..1] performer (CONF:7461) OCL self.performer->reject(oclIsUndefined())->one(performer : POCDMT000040Performer2 | not performer.oclIsUndefined() and performer.oclIsKindOf(POCDMT000040Performer2)) Consol Medication Dispense MAY contain zero or one [0..1] performer (CONF:7461) performer SHALL contain exactly one [1..1] assignedEntity, where its type is Medication Dispense Assigned Entity (CONF:7467) OCL self.performer->reject(oclIsUndefined())->reject(assignedEntity->reject(oclIsUndefined())->one(assignedEntity : POCDMT000040AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(POCDMT000040AssignedEntity)))->reject(oclIsUndefined())->size()=0 Consol Medication Dispense MAY contain zero or one [0..1] performer (CONF:7461) each SHALL contain exactly one [1..1] assignedEntity, where (CONF:7467) medicationDispenseAssignedEntity SHOULD contain zero or one [0..1] addr with data type USRealmAddress (CONF:7468) OCL self.performer.assignedEntity->reject(oclIsUndefined())->reject((addr->reject(oclIsUndefined())->isEmpty() or addr->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not addr->reject(oclIsUndefined())->isEmpty()))->reject(oclIsUndefined())->size()=0 Consol Medication Dispense SHOULD contain zero or one [0..1] quantity (CONF:7458) OCL (self.quantity.oclIsUndefined() or self.quantity.isNullFlavorUndefined()) implies (not self.quantity.oclIsUndefined()) Consol Medication Dispense SHOULD contain zero or one [0..1] repeatNumber (CONF:7457) OCL (self.repeatNumber.oclIsUndefined() or self.repeatNumber.isNullFlavorUndefined()) implies (not self.repeatNumber.oclIsUndefined()) Consol Medication Dispense SHALL contain exactly one [1..1] statusCode, which SHALL be selected from ValueSet Medication Fill Status 2.16.840.1.113883.3.88.12.80.64 STATIC 1 (CONF:7455) OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(CS) and let value : CS = self.statusCode.oclAsType(CS) in (not value.code.oclIsUndefined()) and ( value.code = 'aborted' or value.code = 'completed')) Consol Medication Information SHALL contain exactly one [1..1] @classCode="MANU" (CONF:7408) OCL not(classCode.oclIsUndefined()) and self.classCode=RoleClassManufacturedProduct::MANU Consol Medication Information MAY contain zero or more [0..*] id (CONF:7410) OCL (self.id->reject(oclIsUndefined())->isEmpty() or self.id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.id->reject(oclIsUndefined())->isEmpty()) Consol Medication Information SHALL contain exactly one [1..1] manufacturedMaterial (CONF:7411) OCL self.manufacturedMaterial->reject(oclIsUndefined())->one(manufacturedMaterial : POCDMT000040Material | not manufacturedMaterial.oclIsUndefined() and manufacturedMaterial.oclIsKindOf(POCDMT000040Material)) Consol Medication Information SHALL contain exactly one [1..1] manufacturedMaterial (CONF:7411) manufacturedMaterial code SHOULD contain zero or one [0..1] originalText OCL self.manufacturedMaterial->reject(oclIsUndefined())->reject(code.originalText->reject(oclIsUndefined())->size() = 1)->reject(oclIsUndefined())->size()=0 Consol Medication Information SHALL contain exactly one [1..1] manufacturedMaterial (CONF:7411) manufacturedMaterial code MAY contain zero or more [0..*] translation OCL (not self.manufacturedMaterial.oclIsUndefined()) and (not self.manufacturedMaterial.code.oclIsUndefined()) and self.manufacturedMaterial.code.translation->size()>0 Consol Medication Information SHALL contain exactly one [1..1] manufacturedMaterial (CONF:7411) manufacturedMaterial reference, if present, SHOULD contain zero or one [0..1] @value (CONF:15987) OCL self.manufacturedMaterial->reject(oclIsUndefined())->reject(code.originalText.reference->reject(oclIsUndefined())->size() = 1 implies code.originalText.reference.value->reject(oclIsUndefined())->size() = 1)->reject(oclIsUndefined())->size()=0 Consol Medication Information SHALL contain exactly one [1..1] manufacturedMaterial (CONF:7411) manufacturedMaterial originalText, if present, SHOULD contain zero or one [0..1] reference OCL self.manufacturedMaterial->reject(oclIsUndefined())->reject(code.originalText->reject(oclIsUndefined())->size() = 1 implies code.originalText->reject(oclIsUndefined())->one(reference->reject(oclIsUndefined())->size() = 1))->reject(oclIsUndefined())->size()=0 Consol Medication Supply Order SHALL contain exactly one [1..1] @classCode="SPLY" (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:7427) OCL (not self.classCode.oclIsUndefined()) and self.classCode=ActClassSupply::SPLY Consol Medication Supply Order SHOULD contain zero or one [0..1] effectiveTime (CONF:15143) OCL (self.effectiveTime->reject(oclIsUndefined())->isEmpty() or self.effectiveTime->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.effectiveTime->reject(oclIsUndefined())->isEmpty()) Consol Medication Supply Order effectiveTime SHALL contain exactly one [1..1] high (CONF:15144) OCL self.effectiveTime->reject(oclIsUndefined())->size() = 1 implies self.effectiveTime.oclAsType(IVLTS)->reject(oclIsUndefined())->forAll(high->reject(oclIsUndefined())->size() = 1) Consol Medication Supply Order SHALL contain at least one [1..*] id (CONF:7430) OCL (self.id->reject(oclIsUndefined())->isEmpty() or self.id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.id->reject(oclIsUndefined())->isEmpty()) Consol Medication Supply Order MAY contain zero or one [0..1] entryRelationship (CONF:7442, CONF:7444, CONF:16095) Contains @typeCode="SUBJ" SUBJ, and Contains exactly one [1..1] Instructions (templateId: 2.16.840.1.113883.10.20.22.4.20) OCL self.entryRelationship->reject(oclIsUndefined())->one(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.20') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::SUBJ) Consol Medication Supply Order SHALL contain exactly one [1..1] @moodCode="INT" (CodeSystem: 2.16.840.1.113883.5.1001 HL7ActMood) (CONF:7428) OCL (not self.moodCode.oclIsUndefined()) and self.moodCode=XDocumentSubstanceMood::INT Consol Medication Supply Order SHOULD contain zero or one [0..1] quantity (CONF:7436) OCL (self.quantity.oclIsUndefined() or self.quantity.isNullFlavorUndefined()) implies (not self.quantity.oclIsUndefined()) Consol Medication Supply Order SHOULD contain zero or one [0..1] repeatNumber (CONF:7434) OCL (self.repeatNumber.oclIsUndefined() or self.repeatNumber.isNullFlavorUndefined()) implies (not self.repeatNumber.oclIsUndefined()) Consol Medication Supply Order SHALL contain exactly one [1..1] statusCode (CONF:7432) OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) Consol Medications Administered Section SHALL contain exactly one [1..1] code (CONF:15383)/@code="29549-3" Medications Administered (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:15384) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CE) and let value : CE = self.code.oclAsType(CE) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and ( value.code = '29549-3' and value.codeSystem = '2.16.840.1.113883.6.1')) Consol Medications Administered Section SHALL contain exactly one [1..1] code (CONF:15383)/@code="29549-3" Medications Administered (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:15384) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Medications Administered Section MAY contain zero or more [0..*] entry (CONF:8156) Contains exactly one [1..1] Medication Activity (templateId: 2.16.840.1.113883.10.20.22.4.16) OCL self.entry->reject(oclIsUndefined())->exists(entry : POCDMT000040Entry | not entry.substanceAdministration.oclIsUndefined() and entry.substanceAdministration.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.16')) Consol Medications Administered Section SHALL contain exactly one [1..1] text (CONF:8155) OCL not self.text.oclIsUndefined() Consol Medications Administered Section SHALL contain exactly one [1..1] title (CONF:8154) OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) Consol Physical Exam Section SHALL contain exactly one [1..1] code (CONF:15397)/@code="29545-1" PHYSICAL EXAMINATION (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:15398) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CE) and let value : CE = self.code.oclAsType(CE) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and ( value.code = '29545-1' and value.codeSystem = '2.16.840.1.113883.6.1')) Consol Physical Exam Section SHALL contain exactly one [1..1] code (CONF:15397)/@code="29545-1" PHYSICAL EXAMINATION (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:15398) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Physical Exam Section MAY contain zero or more [0..*] entry (CONF:17098, CONF:17099) Contains exactly one [1..1] Highest Pressure Ulcer Stage (templateId: 2.16.840.1.113883.10.20.22.4.77) OCL self.entry->reject(oclIsUndefined())->exists(entry : POCDMT000040Entry | not entry.observation.oclIsUndefined() and entry.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.77')) Consol Physical Exam Section MAY contain zero or more [0..*] entry (CONF:17096, CONF:17097) Contains exactly one [1..1] Number Of Pressure Ulcers Observation (templateId: 2.16.840.1.113883.10.20.22.4.76) OCL self.entry->reject(oclIsUndefined())->exists(entry : POCDMT000040Entry | not entry.observation.oclIsUndefined() and entry.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.76')) Consol Physical Exam Section MAY contain zero or more [0..*] entry (CONF:17094, CONF:17095) Contains exactly one [1..1] Pressure Ulcer Observation (templateId: 2.16.840.1.113883.10.20.22.4.70) OCL self.entry->reject(oclIsUndefined())->exists(entry : POCDMT000040Entry | not entry.observation.oclIsUndefined() and entry.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.70')) Consol Physical Exam Section SHALL contain exactly one [1..1] text (CONF:7809) OCL not self.text.oclIsUndefined() Consol Physical Exam Section SHALL contain exactly one [1..1] title (CONF:7808) OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) Consol Plan Of Care Activity Procedure SHALL contain exactly one [1..1] @classCode="PROC" (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:8568) OCL (not self.classCode.oclIsUndefined()) and self.classCode=ActClass::PROC Consol Plan Of Care Activity Procedure SHALL contain at least one [1..*] id (CONF:8571) OCL (self.id->reject(oclIsUndefined())->isEmpty() or self.id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.id->reject(oclIsUndefined())->isEmpty()) Consol Plan Of Care Activity Procedure SHALL contain exactly one [1..1] @moodCode, which SHALL be selected from ValueSet Plan of Care moodCode (Act/Encounter/Procedure) 2.16.840.1.113883.11.20.9.23 STATIC (CONF:8569) OCL not self.moodCode.oclIsUndefined() and self.moodCode.oclIsKindOf(XDocumentProcedureMood) and let value : XDocumentProcedureMood = self.moodCode.oclAsType(XDocumentProcedureMood) in value = XDocumentProcedureMood::INT or value = XDocumentProcedureMood::ARQ or value = XDocumentProcedureMood::PRMS or value = XDocumentProcedureMood::PRP or value = XDocumentProcedureMood::RQO Consol Planned Procedure Section SHALL contain exactly one [1..1] code (CONF:15399)/@code="59772-4" Planned Procedure (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:15400) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CE) and let value : CE = self.code.oclAsType(CE) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and ( value.code = '59772-4' and value.codeSystem = '2.16.840.1.113883.6.1')) Consol Planned Procedure Section SHALL contain exactly one [1..1] code (CONF:15399)/@code="59772-4" Planned Procedure (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:15400) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Planned Procedure Section MAY contain zero or more [0..*] entry (CONF:8744, CONF:8766) Contains exactly one [1..1] Plan Of Care Activity Procedure (templateId: 2.16.840.1.113883.10.20.22.4.41) OCL self.entry->reject(oclIsUndefined())->exists(entry : POCDMT000040Entry | not entry.procedure.oclIsUndefined() and entry.procedure.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.41')) Consol Planned Procedure Section SHALL contain exactly one [1..1] text (CONF:8085) OCL not self.text.oclIsUndefined() Consol Planned Procedure Section SHALL contain exactly one [1..1] title (CONF:8084) OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) Consol Postprocedure Diagnosis SHALL contain exactly one [1..1] @classCode="ACT" Act (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:8756) OCL (not self.classCode.oclIsUndefined()) and self.classCode=XActClassDocumentEntryAct::ACT Consol Postprocedure Diagnosis SHALL contain exactly one [1..1] code/@code="59769-0" Postprocedure Diagnosis (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:8758) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CD) and let value : CD = self.code.oclAsType(CD) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and value.code = '59769-0' and value.codeSystem = '2.16.840.1.113883.6.1') Consol Postprocedure Diagnosis SHALL contain exactly one [1..1] @moodCode="EVN" Event (CodeSystem: 2.16.840.1.113883.5.1001 HL7ActMood) (CONF:8757) OCL (not self.moodCode.oclIsUndefined()) and self.moodCode=XDocumentActMood::EVN Consol Postprocedure Diagnosis SHALL contain at least one [1..*] entryRelationship (CONF:8759, CONF:8760, CONF:15583) Contains @typeCode="SUBJ" SUBJ, and Contains exactly one [1..1] Problem Observation (templateId: 2.16.840.1.113883.10.20.22.4.4) OCL self.entryRelationship->reject(oclIsUndefined())->exists(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.4') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::SUBJ) Consol Postprocedure Diagnosis Section SHALL contain zero or one [0..1] code (CONF:15403)/@code="59769-0" Postprocedure Diagnosis (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:15404) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CE) and let value : CE = self.code.oclAsType(CE) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and ( value.code = '59769-0' and value.codeSystem = '2.16.840.1.113883.6.1')) Consol Postprocedure Diagnosis Section SHALL contain zero or one [0..1] code (CONF:15403)/@code="59769-0" Postprocedure Diagnosis (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:15404) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Postprocedure Diagnosis Section SHOULD contain zero or one [0..1] entry (CONF:8762, CONF:8764) Contains exactly one [1..1] Postprocedure Diagnosis (templateId: 2.16.840.1.113883.10.20.22.4.51) OCL self.entry->reject(oclIsUndefined())->one(entry : POCDMT000040Entry | not entry.act.oclIsUndefined() and entry.act.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.51')) Consol Postprocedure Diagnosis Section SHALL contain zero or one [0..1] text (CONF:8171) OCL not self.text.oclIsUndefined() Consol Postprocedure Diagnosis Section SHALL contain zero or one [0..1] title (CONF:8170) OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) Consol Pregnancy Observation SHALL contain exactly one [1..1] @classCode="OBS" Observation (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:451) OCL (not self.classCode.oclIsUndefined()) and self.classCode=ActClassObservation::OBS Consol Pregnancy Observation SHALL contain exactly one [1..1] code (CONF:454)/@code="ASSERTION" Assertion (CodeSystem: 2.16.840.1.113883.5.4 HL7ActCode) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CD) and let value : CD = self.code.oclAsType(CD) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and value.code = 'ASSERTION' and value.codeSystem = '2.16.840.1.113883.5.4') Consol Pregnancy Observation SHALL contain exactly one [1..1] code (CONF:454)/@code="ASSERTION" Assertion (CodeSystem: 2.16.840.1.113883.5.4 HL7ActCode) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Pregnancy Observation SHOULD contain zero or one [0..1] effectiveTime (CONF:2018) OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) Consol Pregnancy Observation MAY contain zero or one [0..1] entryRelationship (CONF:458, CONF:459, CONF:15584) Contains @typeCode="REFR" REFR, and Contains exactly one [1..1] Estimated Date Of Delivery (templateId: 2.16.840.1.113883.10.20.15.3.1) OCL self.entryRelationship->reject(oclIsUndefined())->one(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.15.3.1') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::REFR) Consol Pregnancy Observation SHALL contain exactly one [1..1] @moodCode="EVN" Event (CodeSystem: 2.16.840.1.113883.5.1001 HL7ActMood) (CONF:452) OCL (not self.moodCode.oclIsUndefined()) and self.moodCode=XActMoodDocumentObservation::EVN Consol Pregnancy Observation SHALL contain exactly one [1..1] statusCode/@code="completed" (CodeSystem: 2.16.840.1.113883.5.14 ActStatus) (CONF:455) OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(CS) and let value : CS = self.statusCode.oclAsType(CS) in (not value.code.oclIsUndefined()) and ( value.code = 'completed')) Consol Pregnancy Observation SHALL contain exactly one [1..1] value with data type CD/@code="77386006" Pregnant (CodeSystem: 2.16.840.1.113883.6.96 SNOMEDCT) (CONF:457) OCL (self.value->reject(oclIsUndefined())->isEmpty() or self.value->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (self.value->reject(oclIsUndefined())->size() = 1 and self.value->reject(oclIsUndefined())->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(CD) and let value : CD = element.oclAsType(CD) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and ( value.code = '77386006' and value.codeSystem = '2.16.840.1.113883.6.96'))) Consol Problem Observation MAY contain zero or one [0..1] entryRelationship (CONF:9059, CONF:9060, CONF:15590) Contains @typeCode="SUBJ" SUBJ, and Contains exactly one [1..1] Age Observation (templateId: 2.16.840.1.113883.10.20.22.4.31) OCL self.entryRelationship->reject(oclIsUndefined())->one(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.31') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::SUBJ) Consol Problem Observation entryRelationship with target entry Age Observation SHALL contain exactly one [1..1] @inversionInd="true" True (CONF:9069) OCL self.entryRelationship->reject(oclIsUndefined())->select(er : POCDMT000040EntryRelationship | not er.observation.oclIsUndefined() and er.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.31'))->reject(oclIsUndefined())->forAll(ent : POCDMT000040EntryRelationship | (not ent.inversionInd.oclIsUndefined()) and ent.inversionInd=true) Consol Problem Observation SHALL contain exactly one [1..1] @classCode="OBS" Observation (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:9041) OCL (not self.classCode.oclIsUndefined()) and self.classCode=ActClassObservation::OBS Consol Problem Observation SHALL contain exactly one [1..1] code, which SHOULD be selected from ValueSet Problem Type 2.16.840.1.113883.3.88.12.3221.7.2 STATIC 2008-12-18 (CONF:9045) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CD) and let value : CD = self.code.oclAsType(CD) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and value.codeSystem = '2.16.840.1.113883.6.96' and (value.code = '404684003' or value.code = '409586006' or value.code = '282291009' or value.code = '64572001' or value.code = '248536006' or value.code = '418799008' or value.code = '55607006' or value.code = '373930000')) Consol Problem Observation SHALL contain exactly one [1..1] code, which SHOULD be selected from ValueSet Problem Type 2.16.840.1.113883.3.88.12.3221.7.2 STATIC 2008-12-18 (CONF:9045) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Problem Observation SHOULD contain zero or one [0..1] effectiveTime (CONF:9050) OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) Consol Problem Observation The text, if present, SHOULD contain zero or one [0..1] reference (CONF:15587) OCL not self.text.oclIsUndefined() implies self.text->reject(oclIsUndefined())->forAll(reference->reject(oclIsUndefined())->size() = 1) Consol Problem Observation MAY contain zero or one [0..1] entryRelationship (CONF:9067, CONF:9064, CONF:15592) Contains @typeCode="REFR" REFR, and Contains exactly one [1..1] Health Status Observation (templateId: 2.16.840.1.113883.10.20.22.4.5) OCL self.entryRelationship->reject(oclIsUndefined())->one(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.5') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::REFR) Consol Problem Observation SHALL contain at least one [1..*] id (CONF:9043) OCL (self.id->reject(oclIsUndefined())->isEmpty() or self.id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.id->reject(oclIsUndefined())->isEmpty()) Consol Problem Observation SHALL contain exactly one [1..1] @moodCode="EVN" Event (CodeSystem: 2.16.840.1.113883.5.1001 HL7ActMood) (CONF:9042) OCL (not self.moodCode.oclIsUndefined()) and self.moodCode=XActMoodDocumentObservation::EVN Consol Problem Observation MAY contain zero or one [0..1] @negationInd (CONF:10139) OCL not self.negationInd.oclIsUndefined() Consol Problem Observation MAY contain zero or one [0..1] entryRelationship (CONF:9063, CONF:9068, CONF:15591) Contains @typeCode="REFR" REFR, and Contains exactly one [1..1] Problem Status (templateId: 2.16.840.1.113883.10.20.22.4.6) OCL self.entryRelationship->reject(oclIsUndefined())->one(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.6') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::REFR) Consol Problem Observation SHALL contain exactly one [1..1] statusCode/@code="completed" Completed (CodeSystem: 2.16.840.1.113883.5.14 ActStatus) (CONF:9049) OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(CS) and let value : CS = self.statusCode.oclAsType(CS) in (not value.code.oclIsUndefined()) and ( value.code = 'completed')) Consol Problem Observation SHOULD contain zero or one [0..1] text (CONF:9185) OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (not self.text.oclIsUndefined()) Consol Problem Observation reference, if present, SHALL contain exactly one [1..1] @value (CONF:15588) OCL self.text->reject(oclIsUndefined())->forAll(reference->reject(oclIsUndefined())->size() = 1) implies self.text->reject(oclIsUndefined())->forAll(reference->reject(oclIsUndefined())->one(value->reject(oclIsUndefined())->size() = 1)) Consol Problem Observation SHALL contain exactly one [1..1] value with data type CD, which SHOULD be selected from ValueSet Problem 2.16.840.1.113883.3.88.12.3221.7.4 DYNAMIC (CONF:9058) OCL (self.value->reject(oclIsUndefined())->isEmpty() or self.value->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (self.value->reject(oclIsUndefined())->size() = 1 and self.value->reject(oclIsUndefined())->forAll(element | element.oclIsTypeOf(CD))) Consol Problem Observation value MAY contain zero or more [0..*] translation (CONF:16749) OCL self.value.oclAsType(CD).translation->reject(oclIsUndefined())->size()>0 Consol Problem Observation translation, if present, MAY contain zero or one [0..1] @code (CodeSystem: ICD10CM 2.16.840.1.113883.6.90 STATIC) (CONF:16750) OCL self.value.oclAsType(CD).translation->reject(oclIsUndefined())->size()>0 implies self.value.oclAsType(CD).translation->reject(oclIsUndefined())->forAll(code->reject(oclIsUndefined())->size() = 1) Consol Problem Status SHALL contain exactly one [1..1] @classCode="OBS" Observation (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:7357) OCL (not self.classCode.oclIsUndefined()) and self.classCode=ActClassObservation::OBS Consol Problem Status SHALL contain exactly one [1..1] code/@code="33999-4" Status (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:7361) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CD) and let value : CD = self.code.oclAsType(CD) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and value.code = '33999-4' and value.codeSystem = '2.16.840.1.113883.6.1') Consol Problem Status SHALL contain exactly one [1..1] @moodCode="EVN" Event (CodeSystem: 2.16.840.1.113883.5.1001 HL7ActMood) (CONF:7358) OCL (not self.moodCode.oclIsUndefined()) and self.moodCode=XActMoodDocumentObservation::EVN Consol Problem Status reference, if present, SHALL contain exactly one [1..1] @value (CONF:15594) OCL self.text->reject(oclIsUndefined())->forAll(reference->reject(oclIsUndefined())->size() = 1) implies self.text->reject(oclIsUndefined())->forAll(reference->reject(oclIsUndefined())->one(value->reject(oclIsUndefined())->size() = 1)) Consol Problem Status SHALL contain exactly one [1..1] statusCode/@code="completed" Completed (CodeSystem: 2.16.840.1.113883.5.14 ActStatus) (CONF:7364) OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(CS) and let value : CS = self.statusCode.oclAsType(CS) in (not value.code.oclIsUndefined()) and ( value.code = 'completed')) Consol Problem Status SHOULD contain zero or one [0..1] text (CONF:7362) OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (not self.text.oclIsUndefined()) Consol Problem Status text, if present, SHOULD contain zero or one [0..1] reference (CONF:15593) OCL not self.text.oclIsUndefined() implies self.text->reject(oclIsUndefined())->forAll(reference->reject(oclIsUndefined())->size() = 1) Consol Problem Status SHALL contain exactly one [1..1] value with data type CD, which SHALL be selected from ValueSet HITSP Problem Status 2.16.840.1.113883.3.88.12.80.68 STATIC (CONF:7365) OCL (self.value->reject(oclIsUndefined())->isEmpty() or self.value->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (self.value->reject(oclIsUndefined())->size() = 1 and self.value->reject(oclIsUndefined())->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(CD) and let value : CD = element.oclAsType(CD) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and ( value.codeSystem = '2.16.840.1.113883.6.96' and (value.code = '55561003' or value.code = '73425007' or value.code = '413322009')))) Consol Procedure Activity Observation SHALL contain exactly one [1..1] @classCode="OBS" Observation (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:8282) OCL (not self.classCode.oclIsUndefined()) and self.classCode=ActClassObservation::OBS Consol Procedure Activity Observation SHALL contain exactly one [1..1] code (CONF:8240) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Procedure Activity Observation @code SHOULD be selected from LOINC (CodeSystem: 2.16.840.1.113883.6.1) or SNOMED CT (CodeSystem: 2.16.840.1.113883.6.96), and MAY be selected from CPT-4 (CodeSystem: 2.16.840.1.113883.6.12), ICD10 PCS (CodeSystem: 2.16.840.1.113883.6.4) (CONF:19202) OCL (not self.code.oclIsUndefined()) and (not self.code.codeSystem.oclIsUndefined()) and (self.code.codeSystem = '2.16.840.1.113883.6.1' xor self.code.codeSystem = '2.16.840.1.113883.6.96' xor self.code.codeSystem = '2.16.840.1.113883.6.12' xor self.code.codeSystem = '2.16.840.1.113883.6.104') Consol Procedure Activity Observation code SHOULD contain zero or one [0..1] originalText (CONF:8242) OCL not code.oclIsUndefined() implies ( (not code.oclIsUndefined()) and (not code.originalText.oclIsUndefined()) ) Consol Procedure Activity Observation SHOULD contain zero or one [0..1] effectiveTime (CONF:8246) OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) Consol Procedure Activity Observation entryRelationship with target class encounter SHALL contain exactly one [1..1] @inversionInd="true" (CONF:8266) OCL self.entryRelationship->reject(oclIsUndefined())->select(er : POCDMT000040EntryRelationship | er.encounter->reject(oclIsUndefined())->size() > 0)->reject(oclIsUndefined())->forAll(ent : POCDMT000040EntryRelationship | (not ent.inversionInd.oclIsUndefined()) and ent.inversionInd=true) Consol Procedure Activity Observation MAY contain zero or more [0..*] entryRelationship (CONF:8264) OCL self.entryRelationship->reject(oclIsUndefined())->select(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.oclIsUndefined() and entryRelationship.oclIsKindOf(POCDMT000040EntryRelationship))->reject(oclIsUndefined())->select((not typeCode.oclIsUndefined()) and typeCode=XActRelationshipEntryRelationship::COMP and not encounter.oclIsUndefined() and encounter.oclIsKindOf(POCDMT000040Encounter))->reject(oclIsUndefined())->notEmpty() Consol Procedure Activity Observation MAY contain zero or more [0..*] entryRelationship (CONF:8264) entryRelationship SHALL contain exactly one [1..1] @inversionInd="true" (CONF:8266) OCL self.entryRelationship->reject(oclIsUndefined())->select((not typeCode.oclIsUndefined()) and typeCode=XActRelationshipEntryRelationship::COMP and not encounter.oclIsUndefined() and encounter.oclIsKindOf(POCDMT000040Encounter))->reject(oclIsUndefined())->select((not typeCode.oclIsUndefined()) and typeCode=XActRelationshipEntryRelationship::COMP and not encounter.oclIsUndefined() and encounter.oclIsKindOf(POCDMT000040Encounter))->reject(oclIsUndefined())->reject(not inversionInd.oclIsUndefined() and inversionInd=true)->reject(oclIsUndefined())->size()=0 Consol Procedure Activity Observation MAY contain zero or more [0..*] entryRelationship (CONF:8264) each SHALL contain exactly one [1..1] encounter, where (CONF:8267) procedureObservationEncounter SHALL contain exactly one [1..1] @classCode="ENC" (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:8268) OCL self.entryRelationship->reject(oclIsUndefined())->select((not typeCode.oclIsUndefined()) and typeCode=XActRelationshipEntryRelationship::COMP and not encounter.oclIsUndefined() and encounter.oclIsKindOf(POCDMT000040Encounter)).encounter->reject(oclIsUndefined())->reject((not classCode.oclIsUndefined()) and classCode=ActClass::ENC)->reject(oclIsUndefined())->size()=0 Consol Procedure Activity Observation MAY contain zero or more [0..*] entryRelationship (CONF:8264) each SHALL contain exactly one [1..1] encounter, where (CONF:8267) procedureObservationEncounter SHALL contain exactly one [1..1] id (CONF:8270) OCL self.entryRelationship->reject(oclIsUndefined())->select((not typeCode.oclIsUndefined()) and typeCode=XActRelationshipEntryRelationship::COMP and not encounter.oclIsUndefined() and encounter.oclIsKindOf(POCDMT000040Encounter)).encounter->reject(oclIsUndefined())->reject((id->reject(oclIsUndefined())->isEmpty() or id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (id->reject(oclIsUndefined())->size() = 1))->reject(oclIsUndefined())->size()=0 Consol Procedure Activity Observation MAY contain zero or more [0..*] entryRelationship (CONF:8264) each SHALL contain exactly one [1..1] encounter, where (CONF:8267) procedureObservationEncounter SHALL contain exactly one [1..1] @moodCode="EVN" Event (CodeSystem: 2.16.840.1.113883.5.1001 HL7ActMood) (CONF:8269) OCL self.entryRelationship->reject(oclIsUndefined())->select((not typeCode.oclIsUndefined()) and typeCode=XActRelationshipEntryRelationship::COMP and not encounter.oclIsUndefined() and encounter.oclIsKindOf(POCDMT000040Encounter)).encounter->reject(oclIsUndefined())->reject((not moodCode.oclIsUndefined()) and moodCode=XDocumentEncounterMood::EVN)->reject(oclIsUndefined())->size()=0 Consol Procedure Activity Observation SHALL contain at least one [1..*] id (CONF:8239) OCL (self.id->reject(oclIsUndefined())->isEmpty() or self.id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.id->reject(oclIsUndefined())->isEmpty()) Consol Procedure Activity Observation MAY contain zero or more [0..*] entryRelationship (CONF:8276, CONF:8277, CONF:15906) Contains @typeCode="RSON" RSON, and Contains exactly one [1..1] Indication (templateId: 2.16.840.1.113883.10.20.22.4.19) OCL self.entryRelationship->reject(oclIsUndefined())->exists(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.19') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::RSON) Consol Procedure Activity Observation MAY contain zero or one [0..1] entryRelationship (CONF:8272, CONF:8273, CONF:15905) Contains @typeCode="SUBJ" SUBJ, and Contains exactly one [1..1] Instructions (templateId: 2.16.840.1.113883.10.20.22.4.20) OCL self.entryRelationship->reject(oclIsUndefined())->one(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.20') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::SUBJ) Consol Procedure Activity Observation MAY contain zero or more [0..*] entryRelationship (CONF:8279, CONF:8280, CONF:15907) Contains @typeCode="COMP" COMP, and Contains exactly one [1..1] Medication Activity (templateId: 2.16.840.1.113883.10.20.22.4.16) OCL self.entryRelationship->reject(oclIsUndefined())->one(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.substanceAdministration.oclIsUndefined() and entryRelationship.substanceAdministration.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.16') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::COMP) Consol Procedure Activity Observation MAY contain zero or one [0..1] methodCode (CONF:8248) OCL (self.methodCode->reject(oclIsUndefined())->isEmpty() or self.methodCode->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.methodCode->reject(oclIsUndefined())->isEmpty()) Consol Procedure Activity Observation SHALL contain exactly one [1..1] @moodCode, which SHALL be selected from ValueSet MoodCodeEvnInt 2.16.840.1.113883.11.20.9.18 STATIC 2011-04-03 (CONF:8237) OCL not self.moodCode.oclIsUndefined() and self.moodCode.oclIsKindOf(XActMoodDocumentObservation) and let value : XActMoodDocumentObservation = self.moodCode.oclAsType(XActMoodDocumentObservation) in value = XActMoodDocumentObservation::EVN or value = XActMoodDocumentObservation::INT Consol Procedure Activity Observation originalText, if present, SHOULD contain zero or one [0..1] reference (CONF:15901) OCL not self.code.originalText.oclIsUndefined() implies self.code.originalText->reject(oclIsUndefined())->one(reference->reject(oclIsUndefined())->size() = 1) Consol Procedure Activity Observation reference, if present, SHOULD contain zero or one [0..1] @value (CONF:15902) OCL self.code.originalText.reference->reject(oclIsUndefined())->size() = 1 implies self.code.originalText.reference.value->reject(oclIsUndefined())->size() = 1 Consol Procedure Activity Observation SHOULD contain zero or more [0..*] performer (CONF:8251) OCL self.performer->reject(oclIsUndefined())->exists(performer : POCDMT000040Performer2 | not performer.oclIsUndefined() and performer.oclIsKindOf(POCDMT000040Performer2)) Consol Procedure Activity Observation MAY contain zero or one [0..1] priorityCode, which SHALL be selected from ValueSet ActPriority 2.16.840.1.113883.1.11.16866 STATIC (CONF:8247) OCL (self.priorityCode.oclIsUndefined() or self.priorityCode.isNullFlavorUndefined()) implies (not self.priorityCode.oclIsUndefined() and self.priorityCode.oclIsKindOf(CE) and let value : CE = self.priorityCode.oclAsType(CE) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and ( value.codeSystem = '2.16.840.1.113883.5.7' and (value.code = 'A' or value.code = 'CR' or value.code = 'CS' or value.code = 'CSP' or value.code = 'CSR' or value.code = 'EL' or value.code = 'EM' or value.code = 'P' or value.code = 'PRN' or value.code = 'R' or value.code = 'RR' or value.code = 'S' or value.code = 'T' or value.code = 'UD' or value.code = 'UR'))) Consol Procedure Activity Observation MAY contain zero or one [0..1] priorityCode, which SHALL be selected from ValueSet ActPriority 2.16.840.1.113883.1.11.16866 STATIC (CONF:8247) OCL (self.priorityCode.oclIsUndefined() or self.priorityCode.isNullFlavorUndefined()) implies (not self.priorityCode.oclIsUndefined()) Consol Procedure Activity Observation MAY contain zero or more [0..*] participant (CONF:8261, CONF:8262, CONF:15904) Contains exactly one [1..1] Service Delivery Location (templateId: 2.16.840.1.113883.10.20.22.4.32) OCL self.participant->reject(oclIsUndefined())->exists(participant : POCDMT000040Participant2 | not participant.participantRole.oclIsUndefined() and participant.participantRole.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.32')) Consol Procedure Activity Observation participant with target class Service Delivery Location SHALL contain exactly one [1..1] @typeCode="LOC" Location (CodeSystem: 2.16.840.1.113883.5.1002 HL7ActRelationshipType) STATIC (CONF:8262) OCL self.participant->reject(oclIsUndefined())->select(par : POCDMT000040Participant2 | (not par.participantRole.oclIsUndefined()) and par.participantRole.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.32'))->reject(oclIsUndefined())->forAll(p : POCDMT000040Participant2 | ( (not p.typeCode.oclIsUndefined()) and p.typeCode=ParticipationType::LOC)) Consol Procedure Activity Observation SHALL contain exactly one [1..1] statusCode, which SHALL be selected from ValueSet ProcedureActStatusCode 2.16.840.1.113883.11.20.9.22 DYNAMIC (CONF:8245) OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(CS) and let value : CS = self.statusCode.oclAsType(CS) in (not value.code.oclIsUndefined()) and ( value.code = 'completed' or value.code = 'active' or value.code = 'aborted' or value.code = 'cancelled')) Consol Procedure Activity Observation SHOULD contain zero or more [0..*] targetSiteCode (CONF:8250), which SHALL be selected from ValueSet Body Site Value Set 2.16.840.1.113883.3.88.12.3221.8.9 STATIC 2 (CONF:10121) OCL (self.targetSiteCode->reject(oclIsUndefined())->isEmpty() or self.targetSiteCode->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.targetSiteCode->reject(oclIsUndefined())->isEmpty()) Consol Procedure Activity Observation SHALL contain exactly one [1..1] value (CONF:16846) OCL (self.value->reject(oclIsUndefined())->isEmpty() or self.value->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (self.value->reject(oclIsUndefined())->size() = 1) Consol Procedure Activity Procedure SHALL contain exactly one [1..1] @classCode="PROC" (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:7652) OCL (not self.classCode.oclIsUndefined()) and self.classCode=ActClass::PROC Consol Procedure Activity Procedure SHALL contain exactly one [1..1] code (CONF:7656) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Procedure Activity Procedure code SHOULD contain zero or one [0..1] originalText (CONF:7658) OCL not code.oclIsUndefined() implies ( (not code.oclIsUndefined()) and (not code.originalText.oclIsUndefined()) ) Consol Procedure Activity Procedure SHOULD contain zero or one [0..1] effectiveTime (CONF:7662) OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) Consol Procedure Activity Procedure entryRelationship with target entry encounter SHALL contain exactly one [1..1] @inversionInd="true" (CONF:8009) OCL self.entryRelationship->reject(oclIsUndefined())->select(er : POCDMT000040EntryRelationship | er.encounter->reject(oclIsUndefined())->size() > 0)->reject(oclIsUndefined())->forAll(ent : POCDMT000040EntryRelationship | (not ent.inversionInd.oclIsUndefined()) and ent.inversionInd=true) Consol Procedure Activity Procedure MAY contain zero or more [0..*] entryRelationship (CONF:7768) OCL self.entryRelationship->reject(oclIsUndefined())->select(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.oclIsUndefined() and entryRelationship.oclIsKindOf(POCDMT000040EntryRelationship))->reject(oclIsUndefined())->select((not typeCode.oclIsUndefined()) and typeCode=XActRelationshipEntryRelationship::COMP and not encounter.oclIsUndefined() and encounter.oclIsKindOf(POCDMT000040Encounter))->reject(oclIsUndefined())->notEmpty() Consol Procedure Activity Procedure MAY contain zero or more [0..*] entryRelationship (CONF:7768) entryRelationship SHALL contain exactly one [1..1] @inversionInd="true" (CONF:8009) OCL self.entryRelationship->reject(oclIsUndefined())->select((not typeCode.oclIsUndefined()) and typeCode=XActRelationshipEntryRelationship::COMP and not encounter.oclIsUndefined() and encounter.oclIsKindOf(POCDMT000040Encounter))->reject(oclIsUndefined())->select((not typeCode.oclIsUndefined()) and typeCode=XActRelationshipEntryRelationship::COMP and not encounter.oclIsUndefined() and encounter.oclIsKindOf(POCDMT000040Encounter))->reject(oclIsUndefined())->reject(not inversionInd.oclIsUndefined() and inversionInd=true)->reject(oclIsUndefined())->size()=0 Consol Procedure Activity Procedure MAY contain zero or more [0..*] entryRelationship (CONF:7768) each SHALL contain exactly one [1..1] encounter, where (CONF:7770) procedureActivityEncounter SHALL contain exactly one [1..1] @classCode="ENC" (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:7771) OCL self.entryRelationship->reject(oclIsUndefined())->select((not typeCode.oclIsUndefined()) and typeCode=XActRelationshipEntryRelationship::COMP and not encounter.oclIsUndefined() and encounter.oclIsKindOf(POCDMT000040Encounter)).encounter->reject(oclIsUndefined())->reject((not classCode.oclIsUndefined()) and classCode=ActClass::ENC)->reject(oclIsUndefined())->size()=0 Consol Procedure Activity Procedure MAY contain zero or more [0..*] entryRelationship (CONF:7768) each SHALL contain exactly one [1..1] encounter, where (CONF:7770) procedureActivityEncounter SHALL contain exactly one [1..1] id (CONF:7773) OCL self.entryRelationship->reject(oclIsUndefined())->select((not typeCode.oclIsUndefined()) and typeCode=XActRelationshipEntryRelationship::COMP and not encounter.oclIsUndefined() and encounter.oclIsKindOf(POCDMT000040Encounter)).encounter->reject(oclIsUndefined())->reject((id->reject(oclIsUndefined())->isEmpty() or id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (id->reject(oclIsUndefined())->size() = 1))->reject(oclIsUndefined())->size()=0 Consol Procedure Activity Procedure MAY contain zero or more [0..*] entryRelationship (CONF:7768) each SHALL contain exactly one [1..1] encounter, where (CONF:7770) procedureActivityEncounter SHALL contain exactly one [1..1] @moodCode="EVN" Event (CodeSystem: 2.16.840.1.113883.5.1001 HL7ActMood) (CONF:7772) OCL self.entryRelationship->reject(oclIsUndefined())->select((not typeCode.oclIsUndefined()) and typeCode=XActRelationshipEntryRelationship::COMP and not encounter.oclIsUndefined() and encounter.oclIsKindOf(POCDMT000040Encounter)).encounter->reject(oclIsUndefined())->reject((not moodCode.oclIsUndefined()) and moodCode=XDocumentEncounterMood::EVN)->reject(oclIsUndefined())->size()=0 Consol Procedure Activity Procedure SHALL contain at least one [1..*] id (CONF:7655) OCL (self.id->reject(oclIsUndefined())->isEmpty() or self.id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.id->reject(oclIsUndefined())->isEmpty()) Consol Procedure Activity Procedure MAY contain zero or more [0..*] entryRelationship (CONF:7779, CONF:7780, CONF:15914) Contains @typeCode="RSON" RSON, and Contains exactly one [1..1] Indication (templateId: 2.16.840.1.113883.10.20.22.4.19) OCL self.entryRelationship->reject(oclIsUndefined())->exists(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.19') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::RSON) Consol Procedure Activity Procedure MAY contain zero or more [0..*] entryRelationship (CONF:7886, CONF:7887, CONF:15915) Contains @typeCode="COMP" COMP, and Contains exactly one [1..1] Medication Activity (templateId: 2.16.840.1.113883.10.20.22.4.16) OCL self.entryRelationship->reject(oclIsUndefined())->one(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.substanceAdministration.oclIsUndefined() and entryRelationship.substanceAdministration.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.16') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::COMP) Consol Procedure Activity Procedure MAY contain zero or one [0..1] methodCode (CONF:7670) OCL (self.methodCode->reject(oclIsUndefined())->isEmpty() or self.methodCode->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.methodCode->reject(oclIsUndefined())->isEmpty()) Consol Procedure Activity Procedure SHALL contain exactly one [1..1] @moodCode, which SHALL be selected from ValueSet MoodCodeEvnInt 2.16.840.1.113883.11.20.9.18 STATIC 2011-04-03 (CONF:7653) OCL not self.moodCode.oclIsUndefined() and self.moodCode.oclIsKindOf(XDocumentProcedureMood) and let value : XDocumentProcedureMood = self.moodCode.oclAsType(XDocumentProcedureMood) in value = XDocumentProcedureMood::EVN or value = XDocumentProcedureMood::INT Consol Procedure Activity Procedure originalText, if present, SHOULD contain zero or one [0..1] reference (CONF:15908) OCL not self.code.originalText.oclIsUndefined() implies self.code.originalText->reject(oclIsUndefined())->one(reference->reject(oclIsUndefined())->size() = 1) Consol Procedure Activity Procedure reference, if present, SHOULD contain zero or one [0..1] @value (CONF:15909) OCL self.code.originalText.reference->reject(oclIsUndefined())->size() = 1 implies self.code.originalText.reference.value->reject(oclIsUndefined())->size() = 1 Consol Procedure Activity Procedure MAY contain zero or one [0..1] entryRelationship (CONF:7775, CONF:7776, CONF:15913) Contains @typeCode="SUBJ" SUBJ, and Contains exactly one [1..1] Instructions (templateId: 2.16.840.1.113883.10.20.22.4.20) OCL self.entryRelationship->reject(oclIsUndefined())->one(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.20') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::SUBJ) Consol Procedure Activity Procedure SHOULD contain zero or more [0..*] performer (CONF:7718) OCL self.performer->reject(oclIsUndefined())->exists(performer : POCDMT000040Performer2 | not performer.oclIsUndefined() and performer.oclIsKindOf(POCDMT000040Performer2)) Consol Procedure Activity Procedure MAY contain zero or one [0..1] priorityCode, which SHALL be selected from ValueSet ActPriority 2.16.840.1.113883.1.11.16866 STATIC (CONF:7668) OCL (self.priorityCode.oclIsUndefined() or self.priorityCode.isNullFlavorUndefined()) implies (not self.priorityCode.oclIsUndefined() and self.priorityCode.oclIsKindOf(CE) and let value : CE = self.priorityCode.oclAsType(CE) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and ( value.codeSystem = '2.16.840.1.113883.5.7' and (value.code = 'A' or value.code = 'CR' or value.code = 'CS' or value.code = 'CSP' or value.code = 'CSR' or value.code = 'EL' or value.code = 'EM' or value.code = 'P' or value.code = 'PRN' or value.code = 'R' or value.code = 'RR' or value.code = 'S' or value.code = 'T' or value.code = 'UD' or value.code = 'UR'))) Consol Procedure Activity Procedure MAY contain zero or one [0..1] priorityCode, which SHALL be selected from ValueSet ActPriority 2.16.840.1.113883.1.11.16866 STATIC (CONF:7668) OCL (self.priorityCode.oclIsUndefined() or self.priorityCode.isNullFlavorUndefined()) implies (not self.priorityCode.oclIsUndefined()) Consol Procedure Activity Procedure MAY contain zero or more [0..*] specimen (CONF:7697) specimen specimenRole SHOULD contain zero or more [0..*] id (CONF:7716) OCL self.specimen->reject(oclIsUndefined())->reject(specimenRole.id->reject(oclIsUndefined())->size() > 0)->reject(oclIsUndefined())->size()=0 Consol Procedure Activity Procedure MAY contain zero or more [0..*] participant (CONF:7751, CONF:7752, CONF:15911) Contains exactly one [1..1] Product Instance (templateId: 2.16.840.1.113883.10.20.22.4.37) OCL self.participant->reject(oclIsUndefined())->exists(participant : POCDMT000040Participant2 | not participant.participantRole.oclIsUndefined() and participant.participantRole.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.37')) Consol Procedure Activity Procedure participant with target entry Product Instance SHALL contain exactly one [1..1] @typeCode="DEV" Device (CodeSystem: 2.16.840.1.113883.5.1002 HL7ActRelationshipType) STATIC (CONF:7752) OCL self.participant->reject(oclIsUndefined())->select(par : POCDMT000040Participant2 | (not par.participantRole.oclIsUndefined()) and par.participantRole.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.37'))->reject(oclIsUndefined())->forAll(p : POCDMT000040Participant2 | (not p.typeCode.oclIsUndefined()) and p.typeCode=ParticipationType::DEV) Consol Procedure Activity Procedure MAY contain zero or more [0..*] participant (CONF:7765, CONF:7752, CONF:15912) Contains exactly one [1..1] Service Delivery Location (templateId: 2.16.840.1.113883.10.20.22.4.32) OCL self.participant->reject(oclIsUndefined())->exists(participant : POCDMT000040Participant2 | not participant.participantRole.oclIsUndefined() and participant.participantRole.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.32')) Consol Procedure Activity Procedure participant with target entry Service Delivery Location SHALL contain exactly one [1..1] @typeCode="LOC" Location (CodeSystem: 2.16.840.1.113883.5.1002 HL7ActRelationshipType) STATIC (CONF:7766) OCL self.participant->reject(oclIsUndefined())->select(par : POCDMT000040Participant2 | (not par.participantRole.oclIsUndefined()) and par.participantRole.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.32'))->reject(oclIsUndefined())->forAll(p : POCDMT000040Participant2 | ( (not p.typeCode.oclIsUndefined()) and p.typeCode=ParticipationType::LOC)) Consol Procedure Activity Procedure MAY contain zero or more [0..*] specimen (CONF:7697) OCL self.specimen->reject(oclIsUndefined())->exists(specimen : POCDMT000040Specimen | not specimen.oclIsUndefined() and specimen.oclIsKindOf(POCDMT000040Specimen)) Consol Procedure Activity Procedure SHALL contain exactly one [1..1] statusCode, which SHALL be selected from ValueSet ProcedureActStatusCode 2.16.840.1.113883.11.20.9.22 DYNAMIC (CONF:7661) OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(CS) and let value : CS = self.statusCode.oclAsType(CS) in (not value.code.oclIsUndefined()) and ( value.code = 'completed' or value.code = 'active' or value.code = 'aborted' or value.code = 'cancelled')) Consol Procedure Activity Procedure SHOULD contain zero or more [0..*] targetSiteCode (CONF:7683), which SHALL be selected from ValueSet Body Site Value Set 2.16.840.1.113883.3.88.12.3221.8.9 STATIC 2 (CONF:16082) OCL (self.targetSiteCode->reject(oclIsUndefined())->isEmpty() or self.targetSiteCode->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.targetSiteCode->reject(oclIsUndefined())->isEmpty()) Consol Procedure Disposition Section SHALL contain exactly one [1..1] code (CONF:15413)/@code="59775-7" Procedure Disposition (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:15414) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CE) and let value : CE = self.code.oclAsType(CE) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and ( value.code = '59775-7' and value.codeSystem = '2.16.840.1.113883.6.1')) Consol Procedure Disposition Section SHALL contain exactly one [1..1] code (CONF:15413)/@code="59775-7" Procedure Disposition (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:15414) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Procedure Disposition Section SHALL contain exactly one [1..1] text (CONF:8073) OCL not self.text.oclIsUndefined() Consol Procedure Disposition Section SHALL contain exactly one [1..1] title (CONF:8072) OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) Consol Procedure Indications Section SHALL contain exactly one [1..1] code (CONF:15419)/@code="59768-2" Procedure Indications (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:15420) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CE) and let value : CE = self.code.oclAsType(CE) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and ( value.code = '59768-2' and value.codeSystem = '2.16.840.1.113883.6.1')) Consol Procedure Indications Section SHALL contain exactly one [1..1] code (CONF:15419)/@code="59768-2" Procedure Indications (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:15420) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Procedure Indications Section MAY contain zero or more [0..*] entry (CONF:8743, CONF:8765) Contains exactly one [1..1] Indication (templateId: 2.16.840.1.113883.10.20.22.4.19) OCL self.entry->reject(oclIsUndefined())->exists(entry : POCDMT000040Entry | not entry.observation.oclIsUndefined() and entry.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.19')) Consol Procedure Indications Section SHALL contain exactly one [1..1] text (CONF:8061) OCL not self.text.oclIsUndefined() Consol Procedure Indications Section SHALL contain exactly one [1..1] title (CONF:8060) OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) Consol Procedure Specimens Taken Section SHALL contain exactly one [1..1] code (CONF:15421)/@code="59773-2" Procedure Specimens Taken (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:15422) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CE) and let value : CE = self.code.oclAsType(CE) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and ( value.code = '59773-2' and value.codeSystem = '2.16.840.1.113883.6.1')) Consol Procedure Specimens Taken Section SHALL contain exactly one [1..1] code (CONF:15421)/@code="59773-2" Procedure Specimens Taken (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:15422) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Procedure Specimens Taken Section SHALL contain exactly one [1..1] text (CONF:8089) OCL not self.text.oclIsUndefined() Consol Procedure Specimens Taken Section SHALL contain exactly one [1..1] title (CONF:8088) OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) Consol Product Instance SHALL contain exactly one [1..1] @classCode="MANU" (CONF:7900) OCL not(classCode.oclIsUndefined()) and self.classCode=RoleClassRoot::MANU Consol Product Instance SHALL contain at least one [1..*] id (CONF:7902) OCL (self.id->reject(oclIsUndefined())->isEmpty() or self.id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.id->reject(oclIsUndefined())->isEmpty()) Consol Product Instance SHALL contain exactly one [1..1] playingDevice (CONF:7903) OCL (not self.playingDevice.oclIsUndefined()) and self.playingDevice->reject(oclIsUndefined())->one(playingDevice : POCDMT000040Device | not playingDevice.oclIsUndefined() and playingDevice.oclIsKindOf(POCDMT000040Device)) Consol Product Instance SHALL contain exactly one [1..1] playingDevice (CONF:7903) playingDevice SHOULD contain zero or one [0..1] code (CONF:7904) OCL (not self.playingDevice.oclIsUndefined()) and self.playingDevice->reject(oclIsUndefined())->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined()))->reject(oclIsUndefined())->size()=0 Consol Product Instance SHALL contain exactly one [1..1] scopingEntity (CONF:7905) OCL (not self.scopingEntity.oclIsUndefined()) and self.scopingEntity->reject(oclIsUndefined())->one(scopingEntity : POCDMT000040Entity | not scopingEntity.oclIsUndefined() and scopingEntity.oclIsKindOf(POCDMT000040Entity)) Consol Product Instance SHALL contain exactly one [1..1] scopingEntity (CONF:7905) scopingEntity SHALL contain at least one [1..*] id (CONF:7908) OCL (not self.scopingEntity.oclIsUndefined()) and self.scopingEntity->reject(oclIsUndefined())->reject((id->reject(oclIsUndefined())->isEmpty() or id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not id->reject(oclIsUndefined())->isEmpty()))->reject(oclIsUndefined())->size()=0 Consol Purposeof Reference Observation SHALL contain exactly one [1..1] @classCode="OBS" Observation (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:9264) OCL (not self.classCode.oclIsUndefined()) and self.classCode=ActClassObservation::OBS Consol Purposeof Reference Observation SHALL contain exactly one [1..1] code (CONF:9267) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Purposeof Reference Observation code SHOULD contain zero or one [0..1] code="ASSERTION" (CodeSystem: ActCode 2.16.840.1.113883.5.4) (CONF:9268) OCL (not self.code.oclIsUndefined()) and (not self.code.code.oclIsUndefined()) and self.code.code='ASSERTION' and (not self.code.codeSystem.oclIsUndefined()) and self.code.codeSystem='2.16.840.1.113883.5.4' Consol Purposeof Reference Observation SHALL contain exactly one [1..1] @moodCode="EVN" Event (CodeSystem: 2.16.840.1.113883.5.1001 HL7ActMood) (CONF:9265) OCL (not self.moodCode.oclIsUndefined()) and self.moodCode=XActMoodDocumentObservation::EVN Consol Purposeof Reference Observation SHOULD contain zero or more [0..*] value with data type CD, which SHOULD be selected from ValueSet DICOMPurposeOfReference 2.16.840.1.113883.11.20.9.28 DYNAMIC (CONF:9273) OCL (self.value->reject(oclIsUndefined())->isEmpty() or self.value->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (self.value->reject(oclIsUndefined())->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(CD) and let value : CD = element.oclAsType(CD) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and ( value.codeSystem = '1.2.840.10008.2.16.4' and (value.code = '121079' or value.code = '121080' or value.code = '121112')))) Consol Reaction Observation SHALL contain exactly one [1..1] @classCode="OBS" Observation (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:7325) OCL (not self.classCode.oclIsUndefined()) and self.classCode=ActClassObservation::OBS Consol Reaction Observation SHALL contain exactly one [1..1] code (CONF:16851) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Reaction Observation SHOULD contain zero or one [0..1] effectiveTime (CONF:7332) OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) Consol Reaction Observation effectiveTime, if present, SHOULD contain zero or one [0..1] high (CONF:7334) OCL not self.effectiveTime.oclIsUndefined() implies not self.effectiveTime.high.oclIsUndefined() Consol Reaction Observation effectiveTime, if present, SHOULD contain zero or one [0..1] low (CONF:7333) OCL not self.effectiveTime.oclIsUndefined() implies not self.effectiveTime.low.oclIsUndefined() Consol Reaction Observation SHALL contain exactly one [1..1] id (CONF:7329) OCL (self.id->reject(oclIsUndefined())->isEmpty() or self.id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (self.id->reject(oclIsUndefined())->size() = 1) Consol Reaction Observation MAY contain zero or more [0..*] entryRelationship (CONF:7340, CONF:7341, CONF:15921) Contains @typeCode="RSON" RSON, and Contains exactly one [1..1] Medication Activity (templateId: 2.16.840.1.113883.10.20.22.4.16) OCL self.entryRelationship->reject(oclIsUndefined())->exists(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.substanceAdministration.oclIsUndefined() and entryRelationship.substanceAdministration.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.16') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::RSON) Consol Reaction Observation SHALL contain exactly one [1..1] @moodCode="EVN" Event (CodeSystem: 2.16.840.1.113883.5.1001 HL7ActMood) (CONF:7326) OCL (not self.moodCode.oclIsUndefined()) and self.moodCode=XActMoodDocumentObservation::EVN Consol Reaction Observation MAY contain zero or more [0..*] entryRelationship (CONF:7337, CONF:7338, CONF:15920) Contains @typeCode="RSON" RSON, and Contains exactly one [1..1] Procedure Activity Procedure (templateId: 2.16.840.1.113883.10.20.22.4.14) OCL self.entryRelationship->reject(oclIsUndefined())->exists(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.procedure.oclIsUndefined() and entryRelationship.procedure.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.14') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::RSON) Consol Reaction Observation SHOULD contain zero or one [0..1] entryRelationship (CONF:7580, CONF:7581, CONF:15922) Contains @typeCode="SUBJ" SUBJ, and Contains exactly one [1..1] Severity Observation (templateId: 2.16.840.1.113883.10.20.22.4.8) OCL self.entryRelationship->reject(oclIsUndefined())->one(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.8') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::SUBJ) Consol Reaction Observation SHALL contain exactly one [1..1] statusCode/@code="completed" (CodeSystem: 2.16.840.1.113883.5.14 ActStatus) (CONF:7328) OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(CS) and let value : CS = self.statusCode.oclAsType(CS) in (not value.code.oclIsUndefined()) and ( value.code = 'completed')) Consol Reaction Observation SHOULD contain zero or one [0..1] text (CONF:7330) OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (not self.text.oclIsUndefined()) Consol Reaction Observation text, if present, SHOULD contain zero or one [0..1] reference (CONF:15917) OCL not self.text.oclIsUndefined() implies self.text->reject(oclIsUndefined())->forAll(reference->reject(oclIsUndefined())->size() = 1) Consol Reaction Observation reference, if present, SHOULD contain zero or one [0..1] @value (CONF:15918) OCL self.text->reject(oclIsUndefined())->forAll(reference->reject(oclIsUndefined())->size() = 1) implies self.text->reject(oclIsUndefined())->forAll(reference->reject(oclIsUndefined())->one(value->reject(oclIsUndefined())->size() = 1)) Consol Reaction Observation SHALL contain exactly one [1..1] value with data type CD, which SHALL be selected from ValueSet Problem 2.16.840.1.113883.3.88.12.3221.7.4 DYNAMIC (CONF:7335) OCL (self.value->reject(oclIsUndefined())->isEmpty() or self.value->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (self.value->reject(oclIsUndefined())->size() = 1 and self.value->reject(oclIsUndefined())->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(CD) and let value : CD = element.oclAsType(CD) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and ( value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined()))) Consol Referenced Frames Observation SHALL contain exactly one [1..1] entryRelationship (CONF:9279, CONF:9280, CONF:9281) Contains @typeCode="COMP" COMP, and Contains exactly one [1..1] Boundary Observation (templateId: 2.16.840.1.113883.10.20.6.2.11) OCL self.entryRelationship->reject(oclIsUndefined())->one(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.6.2.11') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::COMP) Consol Referenced Frames Observation SHALL contain exactly one [1..1] @classCode="ROIBND" (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:9276) OCL (not self.classCode.oclIsUndefined()) and self.classCode=ActClassObservation::ROIBND Consol Referenced Frames Observation SHALL contain exactly one [1..1] code/@code="121190" Referenced Frames (CodeSystem: 1.2.840.10008.2.16.4 DCM) (CONF:9278) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CD) and let value : CD = self.code.oclAsType(CD) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and value.code = '121190' and value.codeSystem = '1.2.840.10008.2.16.4') Consol Referenced Frames Observation SHALL contain exactly one [1..1] @moodCode="EVN" Event (CodeSystem: 2.16.840.1.113883.5.1001 HL7ActMood) (CONF:9277) OCL (not self.moodCode.oclIsUndefined()) and self.moodCode=XActMoodDocumentObservation::EVN Consol Result Observation SHALL contain exactly one [1..1] @classCode="OBS" Observation (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:7130) OCL (not self.classCode.oclIsUndefined()) and self.classCode=ActClassObservation::OBS Consol Result Observation SHALL contain exactly one [1..1] code (CONF:7133) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Result Observation SHALL contain exactly one [1..1] effectiveTime (CONF:7140, CONF:7141) OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) Consol Result Observation SHALL contain at least one [1..*] id (CONF:7137) OCL (self.id->reject(oclIsUndefined())->isEmpty() or self.id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.id->reject(oclIsUndefined())->isEmpty()) Consol Result Observation SHOULD contain zero or more [0..*] interpretationCode (CONF:7147) OCL (self.interpretationCode->reject(oclIsUndefined())->isEmpty() or self.interpretationCode->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.interpretationCode->reject(oclIsUndefined())->isEmpty()) Consol Result Observation MAY contain zero or one [0..1] methodCode (CONF:7148) OCL (self.methodCode->reject(oclIsUndefined())->isEmpty() or self.methodCode->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.methodCode->reject(oclIsUndefined())->isEmpty()) Consol Result Observation SHALL contain exactly one [1..1] @moodCode="EVN" Event (CodeSystem: 2.16.840.1.113883.5.1001 HL7ActMood) (CONF:7131) OCL (not self.moodCode.oclIsUndefined()) and self.moodCode=XActMoodDocumentObservation::EVN Consol Result Observation reference, if present, SHOULD contain zero or one [0..1] @value (CONF:15925) OCL self.text->reject(oclIsUndefined())->forAll(reference->reject(oclIsUndefined())->size() = 1) implies self.text->reject(oclIsUndefined())->forAll(reference->reject(oclIsUndefined())->one(value->reject(oclIsUndefined())->size() = 1)) Consol Result Observation SHALL contain exactly one [1..1] statusCode (CONF:7134), which SHALL be selected from ValueSet Result Status 2.16.840.1.113883.11.20.9.39 STATIC 2012-04-27 (CONF:14849) OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(CS) and let value : CS = self.statusCode.oclAsType(CS) in (not value.code.oclIsUndefined()) and ( value.code = 'aborted' or value.code = 'active' or value.code = 'cancelled' or value.code = 'completed' or value.code = 'held' or value.code = 'suspended')) Consol Result Observation SHALL contain exactly one [1..1] statusCode (CONF:7134), which SHALL be selected from ValueSet Result Status 2.16.840.1.113883.11.20.9.39 STATIC 2012-04-27 (CONF:14849) OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) Consol Result Observation MAY contain zero or one [0..1] targetSiteCode with data type CE (CONF:7153) OCL (self.targetSiteCode->reject(oclIsUndefined())->isEmpty() or self.targetSiteCode->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (self.targetSiteCode->reject(oclIsUndefined())->forAll(element | element.oclIsTypeOf(CE))) Consol Result Observation SHOULD contain zero or one [0..1] text (CONF:7138) OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (not self.text.oclIsUndefined()) Consol Result Observation text, if present, SHOULD contain zero or one [0..1] reference (CONF:15924) OCL not self.text.oclIsUndefined() implies self.text->reject(oclIsUndefined())->forAll(reference->reject(oclIsUndefined())->size() = 1) Consol Result Observation SHALL contain exactly one [1..1] value (CONF:7143) OCL (self.value->reject(oclIsUndefined())->isEmpty() or self.value->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (self.value->reject(oclIsUndefined())->size() = 1) Consol SOP Instance Observation SHALL contain exactly one [1..1] @classCode="DGIMG" (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:9240) OCL (not self.classCode.oclIsUndefined()) and self.classCode=ActClassObservation::DGIMG Consol SOP Instance Observation SHALL contain exactly one [1..1] code (CONF:9244), which SHALL be selected from (CodeSystem: 1.2.840.10008.2.6.1 DCMUID) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CD) and let value : CD = self.code.oclAsType(CD) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and value.codeSystem = '1.2.840.10008.2.6.1') Consol SOP Instance Observation SHALL contain exactly one [1..1] code (CONF:9244), which SHALL be selected from (CodeSystem: 1.2.840.10008.2.6.1 DCMUID) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol SOP Instance Observation SHOULD contain zero or one [0..1] effectiveTime (CONF:9250) OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) Consol SOP Instance Observation The effectiveTime, if present, SHALL contain exactly one [1..1] @value (CONF:9251) OCL not self.effectiveTime.oclIsUndefined() implies not self.effectiveTime.value.oclIsUndefined() Consol SOP Instance Observation The effectiveTime, if present, SHALL NOT contain [0..0] high (CONF:9253) OCL not self.effectiveTime.oclIsUndefined() implies self.effectiveTime.high.oclIsUndefined() Consol SOP Instance Observation The effectiveTime, if present, SHALL NOT contain [0..0] low (CONF:9252) OCL not self.effectiveTime.oclIsUndefined() implies self.effectiveTime.low.oclIsUndefined() Consol SOP Instance Observation SHALL contain at least one [1..*] id (CONF:9242) OCL (self.id->reject(oclIsUndefined())->isEmpty() or self.id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.id->reject(oclIsUndefined())->isEmpty()) Consol SOP Instance Observation SHALL contain exactly one [1..1] @moodCode="EVN" Event (CodeSystem: 2.16.840.1.113883.5.1001 HL7ActMood) OCL (not self.moodCode.oclIsUndefined()) and self.moodCode=XActMoodDocumentObservation::EVN Consol SOP Instance Observation MAY contain zero or more [0..*] entryRelationship (CONF:9257, CONF:9258, CONF:15935) Contains @typeCode="RSON" RSON, and Contains exactly one [1..1] Purposeof Reference Observation (templateId: 2.16.840.1.113883.10.20.6.2.9) OCL self.entryRelationship->reject(oclIsUndefined())->exists(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.6.2.9') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::RSON) Consol SOP Instance Observation MAY contain zero or more [0..*] entryRelationship (CONF:9260, CONF:9261, CONF:15936) Contains @typeCode="COMP" COMP, and Contains exactly one [1..1] Referenced Frames Observation (templateId: 2.16.840.1.113883.10.20.6.2.10) OCL self.entryRelationship->reject(oclIsUndefined())->exists(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.6.2.10') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::COMP) Consol SOP Instance Observation MAY contain zero or more [0..*] entryRelationship (CONF:9254, CONF:9255, CONF:9256) Contains @typeCode="SUBJ" SUBJ, and Contains exactly one [1..1] SOP Instance Observation (templateId: 2.16.840.1.113883.10.20.6.2.8) OCL self.entryRelationship->reject(oclIsUndefined())->exists(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.6.2.8') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::SUBJ) Consol SOP Instance Observation SHOULD contain zero or one [0..1] text (CONF:9246) OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (not self.text.oclIsUndefined()) Consol SOP Instance Observation text, if present, SHALL contain exactly one [1..1] @mediaType="application/dicom" (CONF:9247) OCL not self.text.oclIsUndefined() implies (not self.text.mediaType.oclIsUndefined()) and self.text.mediaType = 'application/dicom' Consol SOP Instance Observation The text, if present, SHALL contain exactly one [1..1] reference (CONF:9248) OCL not self.text.oclIsUndefined() implies self.text.reference->reject(oclIsUndefined())->size() = 1 Consol SOP Instance Observation text/reference SHALL contain a @value which contains a WADO reference as a URI (CONF:9249) OCL not self.text.oclIsUndefined() implies self.text.reference.value->reject(oclIsUndefined())->size() = 1 Consol Series Act SHALL contain exactly one [1..1] @classCode="ACT" Act (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:9222) OCL (not self.classCode.oclIsUndefined()) and self.classCode=XActClassDocumentEntryAct::ACT Consol Series Act SHALL contain exactly one [1..1] code/@code="113015" (CodeSystem: 1.2.840.10008.2.16.4 DCM) (CONF:9228) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CD) and let value : CD = self.code.oclAsType(CD) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and value.code = '113015' and value.codeSystem = '1.2.840.10008.2.16.4') Consol Series Act code SHALL contain exactly one [1..1] qualifier (CONF:9229) OCL (not self.code.oclIsUndefined()) and self.code.qualifier->reject(oclIsUndefined())->size() = 1 Consol Series Act This qualifier SHALL contain exactly one [1..1] name="121139" Modality (CodeSystem: DCM 1.2.840.10008.2.16.4) (CONF:9230) OCL (not self.code.oclIsUndefined()) and self.code.qualifier.name->one(name : CV | (not name.oclIsUndefined()) and (not name.code.oclIsUndefined()) and (not name.codeSystem.oclIsUndefined()) and name.code = '121139' and name.codeSystem = '1.2.840.10008.2.16.4' ) Consol Series Act SHOULD contain zero or one [0..1] effectiveTime (CONF:9235) OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) Consol Series Act SHALL contain at least one [1..*] id (CONF:9224) OCL (self.id->reject(oclIsUndefined())->isEmpty() or self.id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.id->reject(oclIsUndefined())->isEmpty()) Consol Series Act ids SHALL contain exactly one [1..1] @root (CONF:9225) OCL self.id->reject(oclIsUndefined())->forAll( not root.oclIsUndefined() ) Consol Series Act ids SHALL NOT contain [0..0] @extension (CONF:9226) OCL self.id->reject(oclIsUndefined())->forAll( extension.oclIsUndefined() ) Consol Series Act SHALL contain exactly one [1..1] @moodCode="EVN" Event (CodeSystem: 2.16.840.1.113883.5.1001 HL7ActMood) (CONF:9223) OCL (not self.moodCode.oclIsUndefined()) and self.moodCode=XDocumentActMood::EVN Consol Series Act SHALL contain at least one [1..*] entryRelationship (CONF:9237, CONF:9238, CONF:15927) Contains @typeCode="COMP" COMP, and Contains exactly one [1..1] SOP Instance Observation (templateId: 2.16.840.1.113883.10.20.6.2.8) OCL self.entryRelationship->reject(oclIsUndefined())->exists(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.6.2.8') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::COMP) Consol Series Act MAY contain zero or one [0..1] text (CONF:9233) OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (not self.text.oclIsUndefined()) Consol Service Delivery Location SHOULD contain zero or more [0..*] addr (CONF:7760) OCL (self.addr->reject(oclIsUndefined())->isEmpty() or self.addr->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.addr->reject(oclIsUndefined())->isEmpty()) Consol Service Delivery Location SHALL contain exactly one [1..1] @classCode="SDLOC" (CONF:7758) OCL not(classCode.oclIsUndefined()) and self.classCode=RoleClassRoot::SDLOC Consol Service Delivery Location SHALL contain exactly one [1..1] code, which SHALL be selected from ValueSet HealthcareServiceLocation 2.16.840.1.113883.1.11.20275 DYNAMIC (CONF:16850) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CE) and let value : CE = self.code.oclAsType(CE) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and ( value.codeSystem = '2.16.840.1.113883.6.259' and not value.code.oclIsUndefined())) Consol Service Delivery Location playingEntity, if present, SHALL contain exactly one [1..1] @classCode="PLC" (CodeSystem: EntityClass 2.16.840.1.113883.5.41) (CONF:7763) OCL self.playingEntity->reject(oclIsUndefined())->size()>0 implies (not self.playingEntity.classCode.oclIsUndefined()) and self.playingEntity.classCode=EntityClassRoot::PLC Consol Service Delivery Location playingEntity, if present, MAY contain zero or one [0..1] name (CONF:16037) OCL self.playingEntity->reject(oclIsUndefined())->size()>0 implies self.playingEntity.name->reject(oclIsUndefined())->size() = 1 Consol Service Delivery Location SHOULD contain zero or more [0..*] telecom (CONF:7761) OCL (self.telecom->reject(oclIsUndefined())->isEmpty() or self.telecom->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.telecom->reject(oclIsUndefined())->isEmpty()) Consol Severity Observation SHALL contain exactly one [1..1] @classCode="OBS" Observation (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:7345) OCL (not self.classCode.oclIsUndefined()) and self.classCode=ActClassObservation::OBS Consol Severity Observation SHALL contain exactly one [1..1] code/@code="SEV" Severity observation (CodeSystem: 2.16.840.1.113883.5.4 HL7ActCode) (CONF:7349) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CD) and let value : CD = self.code.oclAsType(CD) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and value.code = 'SEV' and value.codeSystem = '2.16.840.1.113883.5.4') Consol Severity Observation SHOULD contain zero or more [0..*] interpretationCode, which SHOULD be selected from ValueSet Observation Interpretation (HL7) 2.16.840.1.113883.1.11.78 STATIC 1 (CONF:9117, CONF:16038) OCL (self.interpretationCode->reject(oclIsUndefined())->isEmpty() or self.interpretationCode->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (self.interpretationCode->reject(oclIsUndefined())->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(CE) and let value : CE = element.oclAsType(CE) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and value.codeSystem = '2.16.840.1.113883.5.83' and (value.code = 'A' or value.code = 'HX' or value.code = 'LX' or value.code = 'B' or value.code = 'Carrier' or value.code = 'D' or value.code = 'U' or value.code = 'IND' or value.code = 'I' or value.code = 'MS' or value.code = 'NEG' or value.code = 'N' or value.code = 'POS' or value.code = 'R' or value.code = 'S' or value.code = 'VS' or value.code = 'W'))) Consol Severity Observation SHALL contain exactly one [1..1] @moodCode="EVN" Event (CodeSystem: 2.16.840.1.113883.5.1001 HL7ActMood) (CONF:7346) OCL (not self.moodCode.oclIsUndefined()) and self.moodCode=XActMoodDocumentObservation::EVN Consol Severity Observation SHALL contain exactly one [1..1] statusCode/@code="completed" (CodeSystem: 2.16.840.1.113883.5.14 ActStatus) (CONF:7352) OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(CS) and let value : CS = self.statusCode.oclAsType(CS) in (not value.code.oclIsUndefined()) and ( value.code = 'completed')) Consol Severity Observation SHOULD contain zero or one [0..1] text (CONF:7350) OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (not self.text.oclIsUndefined()) Consol Severity Observation text, if present, SHOULD contain zero or one [0..1] reference (CONF:15928) OCL not self.text.oclIsUndefined() implies self.text->reject(oclIsUndefined())->forAll(reference->reject(oclIsUndefined())->size() = 1) Consol Severity Observation reference, if present, SHOULD contain zero or one [0..1] @value (CONF:15929) OCL self.text->reject(oclIsUndefined())->forAll(reference->reject(oclIsUndefined())->size() = 1) implies self.text->reject(oclIsUndefined())->forAll(reference->reject(oclIsUndefined())->one(value->reject(oclIsUndefined())->size() = 1)) Consol Severity Observation SHALL contain exactly one [1..1] value with data type CD, which SHALL be selected from ValueSet Problem Severity 2.16.840.1.113883.3.88.12.3221.6.8 DYNAMIC (CONF:7356) OCL (self.value->reject(oclIsUndefined())->isEmpty() or self.value->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (self.value->reject(oclIsUndefined())->size() = 1 and self.value->reject(oclIsUndefined())->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(CD) and let value : CD = element.oclAsType(CD) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and ( value.codeSystem = '2.16.840.1.113883.6.96' and (value.code = '255604002' or value.code = '371923003' or value.code = '6736007' or value.code = '371924009' or value.code = '24484000' or value.code = '399166001')))) Consol Social History Observation SHALL contain exactly one [1..1] @classCode="OBS" Observation (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:8548) OCL (not self.classCode.oclIsUndefined()) and self.classCode=ActClassObservation::OBS Consol Social History Observation SHOULD contain zero or one [0..1] code (CONF:8558), which SHOULD be selected from ValueSet Social History Type Set Definition 2.16.840.1.113883.3.88.12.80.60 STATIC 1 (CONF:8896) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CD) and let value : CD = self.code.oclAsType(CD) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and value.codeSystem = '2.16.840.1.113883.6.96' and (value.code = '229819007' or value.code = '256235009' or value.code = '160573003' or value.code = '364393001' or value.code = '364703007' or value.code = '425400000' or value.code = '363908000' or value.code = '228272008' or value.code = '105421008')) Consol Social History Observation SHOULD contain zero or one [0..1] code (CONF:8558), which SHOULD be selected from ValueSet Social History Type Set Definition 2.16.840.1.113883.3.88.12.80.60 STATIC 1 (CONF:8896) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Social History Observation SHALL contain at least one [1..*] id (CONF:8551) OCL (self.id->reject(oclIsUndefined())->isEmpty() or self.id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.id->reject(oclIsUndefined())->isEmpty()) Consol Social History Observation SHALL contain exactly one [1..1] @moodCode="EVN" Event (CodeSystem: 2.16.840.1.113883.5.1001 HL7ActMood) (CONF:8549) OCL (not self.moodCode.oclIsUndefined()) and self.moodCode=XActMoodDocumentObservation::EVN Consol Social History Observation code, if present, SHOULD contain zero or one [0..1] originalText (CONF:8893) OCL not self.code.oclIsUndefined() implies not self.code.originalText.oclIsUndefined() Consol Social History Observation originalText, if present, SHOULD contain zero or one [0..1] reference/@value. (CONF:8894) OCL not self.code.originalText.oclIsUndefined() implies not self.code.originalText.reference.value.oclIsUndefined() Consol Social History Observation SHALL contain exactly one [1..1] statusCode/@code="completed" (CodeSystem: 2.16.840.1.113883.5.14 ActStatus) (CONF:8553) OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(CS) and let value : CS = self.statusCode.oclAsType(CS) in (not value.code.oclIsUndefined()) and ( value.code = 'completed')) Consol Social History Observation SHOULD contain zero or one [0..1] value (CONF:8559) OCL (self.value->reject(oclIsUndefined())->isEmpty() or self.value->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.value->reject(oclIsUndefined())->isEmpty()) Consol Social History Section SHALL contain exactly one [1..1] code (CONF:14819)/@code="29762-2" Social history (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:14820) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CE) and let value : CE = self.code.oclAsType(CE) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and ( value.code = '29762-2' and value.codeSystem = '2.16.840.1.113883.6.1')) Consol Social History Section SHALL contain exactly one [1..1] code (CONF:14819)/@code="29762-2" Social history (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:14820) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Social History Section MAY contain zero or more [0..*] entry (CONF:9132, CONF:9133) Contains exactly one [1..1] Pregnancy Observation (templateId: 2.16.840.1.113883.10.20.15.3.8) OCL self.entry->reject(oclIsUndefined())->exists(entry : POCDMT000040Entry | not entry.observation.oclIsUndefined() and entry.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.15.3.8')) Consol Social History Section SHOULD contain zero or more [0..*] entry (CONF:14823, CONF:14824) Contains exactly one [1..1] Smoking Status Observation (templateId: 2.16.840.1.113883.10.20.22.4.78) OCL self.entry->reject(oclIsUndefined())->exists(entry : POCDMT000040Entry | not entry.observation.oclIsUndefined() and entry.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.78')) Consol Social History Section MAY contain zero or more [0..*] entry (CONF:7953, CONF:7954) Contains exactly one [1..1] Social History Observation (templateId: 2.16.840.1.113883.10.20.22.4.38) OCL self.entry->reject(oclIsUndefined())->exists(entry : POCDMT000040Entry | not entry.observation.oclIsUndefined() and entry.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.38')) Consol Social History Section SHALL contain exactly one [1..1] text (CONF:7939) OCL not self.text.oclIsUndefined() Consol Social History Section SHALL contain exactly one [1..1] title (CONF:7938) OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) Consol Social History Section MAY contain zero or more [0..*] entry (CONF:16816, CONF:16817) Contains exactly one [1..1] Tobacco Use (templateId: 2.16.840.1.113883.10.20.22.4.85) OCL self.entry->reject(oclIsUndefined())->exists(entry : POCDMT000040Entry | not entry.observation.oclIsUndefined() and entry.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.85')) Consol Study Act SHALL contain exactly one [1..1] @classCode="ACT" Act (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:9207) OCL (not self.classCode.oclIsUndefined()) and self.classCode=XActClassDocumentEntryAct::ACT Consol Study Act SHALL contain exactly one [1..1] code/@code="113014" (CodeSystem: 1.2.840.10008.2.16.4 DCM) (CONF:9214) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CD) and let value : CD = self.code.oclAsType(CD) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and value.code = '113014' and value.codeSystem = '1.2.840.10008.2.16.4') Consol Study Act SHOULD contain zero or one [0..1] effectiveTime (CONF:9216) OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) Consol Study Act SHALL contain at least one [1..*] id (CONF:9210) OCL (self.id->reject(oclIsUndefined())->isEmpty() or self.id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.id->reject(oclIsUndefined())->isEmpty()) Consol Study Act ids SHALL contain exactly one [1..1] @root (CONF:9213) OCL self.id->reject(oclIsUndefined())->forAll( not root.oclIsUndefined() ) Consol Study Act SHALL contain exactly one [1..1] @moodCode="EVN" Event (CodeSystem: 2.16.840.1.113883.5.1001 HL7ActMood) (CONF:9208) OCL (not self.moodCode.oclIsUndefined()) and self.moodCode=XDocumentActMood::EVN Consol Study Act Such ids SHALL NOT contain [0..0] @extension (CONF:9211) OCL self.id->reject(oclIsUndefined())->forAll( extension.oclIsUndefined() ) Consol Study Act SHALL contain zero or one [0..1] entryRelationship (CONF:9219, CONF:9220, CONF:15937) Contains @typeCode="COMP" COMP, and Contains exactly one [1..1] Series Act (templateId: 2.16.840.1.113883.10.20.22.4.63) OCL self.entryRelationship->reject(oclIsUndefined())->one(entryRelationship : POCDMT000040EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.63') and (not entryRelationship.typeCode.oclIsUndefined()) and entryRelationship.typeCode = XActRelationshipEntryRelationship::COMP) Consol Study Act MAY contain zero or one [0..1] text (CONF:9215) OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (not self.text.oclIsUndefined()) Consol Study Act text, if present, SHOULD contain zero or one [0..1] reference (CONF:15995) OCL not self.text.oclIsUndefined() implies self.text->reject(oclIsUndefined())->forAll(reference->reject(oclIsUndefined())->size() = 1) Consol Study Act reference, if present, SHOULD contain zero or one [0..1] @value (CONF:15996) OCL self.text->reject(oclIsUndefined())->forAll(reference->reject(oclIsUndefined())->size() = 1) implies self.text->reject(oclIsUndefined())->forAll(reference->reject(oclIsUndefined())->one(value->reject(oclIsUndefined())->size() = 1)) Consol Vital Sign Observation SHALL contain exactly one [1..1] @classCode="OBS" Observation (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:7297) OCL (not self.classCode.oclIsUndefined()) and self.classCode=ActClassObservation::OBS Consol Vital Sign Observation SHALL contain exactly one [1..1] code (CONF:7301), which SHOULD be selected from ValueSet HITSP Vital Sign Result Type 2.16.840.1.113883.3.88.12.80.62 DYNAMIC (CONF:7301) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Vital Sign Observation SHALL contain exactly one [1..1] effectiveTime (CONF:7304) OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) Consol Vital Sign Observation SHALL contain at least one [1..*] id (CONF:7300) OCL (self.id->reject(oclIsUndefined())->isEmpty() or self.id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.id->reject(oclIsUndefined())->isEmpty()) Consol Vital Sign Observation MAY contain zero or one [0..1] interpretationCode (CONF:7307) OCL (self.interpretationCode->reject(oclIsUndefined())->isEmpty() or self.interpretationCode->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.interpretationCode->reject(oclIsUndefined())->isEmpty()) Consol Vital Sign Observation MAY contain zero or one [0..1] methodCode (CONF:7308) OCL (self.methodCode->reject(oclIsUndefined())->isEmpty() or self.methodCode->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.methodCode->reject(oclIsUndefined())->isEmpty()) Consol Vital Sign Observation SHALL contain exactly one [1..1] @moodCode="EVN" Event (CodeSystem: 2.16.840.1.113883.5.1001 HL7ActMood) (CONF:7298) OCL (not self.moodCode.oclIsUndefined()) and self.moodCode=XActMoodDocumentObservation::EVN Consol Vital Sign Observation reference, if present, SHOULD contain zero or one [0..1] @value (CONF:15944) OCL self.text->reject(oclIsUndefined())->forAll(reference->reject(oclIsUndefined())->size() = 1) implies self.text->reject(oclIsUndefined())->forAll(reference->reject(oclIsUndefined())->one(value->reject(oclIsUndefined())->size() = 1)) Consol Vital Sign Observation SHALL contain exactly one [1..1] statusCode/@code="completed" (CodeSystem: 2.16.840.1.113883.5.14 ActStatus) (CONF:7303) OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(CS) and let value : CS = self.statusCode.oclAsType(CS) in (not value.code.oclIsUndefined()) and ( value.code = 'completed')) Consol Vital Sign Observation MAY contain zero or one [0..1] targetSiteCode (CONF:7309) OCL (self.targetSiteCode->reject(oclIsUndefined())->isEmpty() or self.targetSiteCode->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.targetSiteCode->reject(oclIsUndefined())->isEmpty()) Consol Vital Sign Observation SHOULD contain zero or one [0..1] text (CONF:7302) OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (not self.text.oclIsUndefined()) Consol Vital Sign Observation text, if present, SHOULD contain zero or one [0..1] reference (CONF:15943) OCL not self.text.oclIsUndefined() implies self.text->reject(oclIsUndefined())->forAll(reference->reject(oclIsUndefined())->size() = 1) Consol Vital Sign Observation SHALL contain exactly one [1..1] value with data type PQ (CONF:7305) OCL (self.value->reject(oclIsUndefined())->isEmpty() or self.value->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (self.value->reject(oclIsUndefined())->size() = 1 and self.value->reject(oclIsUndefined())->forAll(element | element.oclIsTypeOf(PQ))) Consol Vital Signs Organizer SHALL contain exactly one [1..1] @classCode="CLUSTER" (CodeSystem: 2.16.840.1.113883.5.6 HL7ActClass) (CONF:7279) OCL (not self.classCode.oclIsUndefined()) and self.classCode=XActClassDocumentEntryOrganizer::CLUSTER Consol Vital Signs Organizer SHALL contain exactly one [1..1] code/@code="46680005" Vital signs (CodeSystem: 2.16.840.1.113883.6.96 SNOMEDCT) (CONF:7283) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CD) and let value : CD = self.code.oclAsType(CD) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and value.code = '46680005' and value.codeSystem = '2.16.840.1.113883.6.96') Consol Vital Signs Organizer SHALL contain exactly one [1..1] effectiveTime (CONF:7288) OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) Consol Vital Signs Organizer SHALL contain at least one [1..*] id (CONF:7282) OCL (self.id->reject(oclIsUndefined())->isEmpty() or self.id->reject(oclIsUndefined())->exists(element | element.isNullFlavorUndefined())) implies (not self.id->reject(oclIsUndefined())->isEmpty()) Consol Vital Signs Organizer SHALL contain exactly one [1..1] @moodCode="EVN" Event (CodeSystem: 2.16.840.1.113883.5.1001 HL7ActMood) (CONF:7280) OCL (not self.moodCode.oclIsUndefined()) and self.moodCode=ActMood::EVN Consol Vital Signs Organizer SHALL contain exactly one [1..1] statusCode/@code="completed" (CodeSystem: 2.16.840.1.113883.5.14 ActStatus) (CONF:7284) OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(CS) and let value : CS = self.statusCode.oclAsType(CS) in (not value.code.oclIsUndefined()) and ( value.code = 'completed')) Consol Vital Signs Organizer SHALL contain at least one [1..*] component (CONF:7285, CONF:15946) Contains exactly one [1..1] Vital Sign Observation (templateId: 2.16.840.1.113883.10.20.22.4.27) OCL self.component->reject(oclIsUndefined())->exists(component : POCDMT000040Component4 | not component.observation.oclIsUndefined() and component.observation.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.27')) Consol Vital Signs Section SHALL contain exactly one [1..1] code (CONF:15962)/@code="8716-3" Vital Signs (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:15963) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CE) and let value : CE = self.code.oclAsType(CE) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and ( value.code = '8716-3' and value.codeSystem = '2.16.840.1.113883.6.1')) Consol Vital Signs Section SHALL contain exactly one [1..1] code (CONF:15962)/@code="8716-3" Vital Signs (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:15963) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) SHALL contain exactly one [1..1] templateId ( CONF:7268, CONF:10451 ) such that it SHALL contain exactly one [1..1] @root="2.16.840.1.113883.10.20.22.2.4" OCL self.templateId->exists(id : II | (not id.root.oclIsUndefined()) and id.root = '2.16.840.1.113883.10.20.22.2.4') Consol Vital Signs Section SHALL contain exactly one [1..1] text (CONF:7275) OCL not self.text.oclIsUndefined() Consol Vital Signs Section SHALL contain exactly one [1..1] title (CONF:9967) OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) Consol Vital Signs Section SHALL contain at least one [1..*] entry (CONF:7276, CONF:7277) Contains exactly one [1..1] Vital Signs Organizer (templateId: 2.16.840.1.113883.10.20.22.4.26) OCL self.entry->reject(oclIsUndefined())->exists(entry : POCDMT000040Entry | not entry.organizer.oclIsUndefined() and entry.organizer.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.26')) Consol Vital Signs Section Entries Optional SHALL contain exactly one [1..1] code (CONF:15242)/@code="8716-3" Vital Signs (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:15243) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(CE) and let value : CE = self.code.oclAsType(CE) in (not value.code.oclIsUndefined()) and (not value.codeSystem.oclIsUndefined()) and ( value.code = '8716-3' and value.codeSystem = '2.16.840.1.113883.6.1')) Consol Vital Signs Section Entries Optional SHALL contain exactly one [1..1] code (CONF:15242)/@code="8716-3" Vital Signs (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:15243) OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) Consol Vital Signs Section Entries Optional SHALL contain exactly one [1..1] text (CONF:7270) OCL not self.text.oclIsUndefined() Consol Vital Signs Section Entries Optional SHALL contain exactly one [1..1] title (CONF:9966) OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) Consol Vital Signs Section Entries Optional SHOULD contain zero or more [0..*] entry (CONF:7271, CONF:7272) Contains exactly one [1..1] Vital Signs Organizer (templateId: 2.16.840.1.113883.10.20.22.4.26) OCL self.entry->reject(oclIsUndefined())->exists(entry : POCDMT000040Entry | not entry.organizer.oclIsUndefined() and entry.organizer.templateId->exists(ii : II | (not ii.root.oclIsUndefined()) and ii.root='2.16.840.1.113883.10.20.22.4.26'))