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