diff --git a/generated/org.openhealthtools.mdht.uml.cda.consol2/model/consol.ecore b/generated/org.openhealthtools.mdht.uml.cda.consol2/model/consol.ecore index 299a5d155..4f54c05b4 100644 --- a/generated/org.openhealthtools.mdht.uml.cda.consol2/model/consol.ecore +++ b/generated/org.openhealthtools.mdht.uml.cda.consol2/model/consol.ecore @@ -18348,14 +18348,10 @@ -
+
-
-
-
-
-
+
- - - -
- - - -
- - - - -
- - - - - - - - - -
- - - -
+ + +
- - - -
+ + + +
+ + + + +
+ + + + + + + + + +
- - - - - - + + + +
+ + + + +
+ + + + + + + +
@@ -32364,12 +32364,10 @@ -
+
-
-
-
-
+
- - - -
- - - -
- - - - -
- - - - - - - - - -
- - - -
+ + +
- - - -
+ + + +
+ + + + +
+ + + + + + + + + +
- - - - - - + + + +
+ + + + +
+ + + + + + + +
@@ -32498,13 +32500,10 @@ -
+
-
-
-
-
-
+
+ + +
+ + + + +
+ + + + +
+ + + + + + + + + +
+ + + + +
+ + + + +
+ + + + + + + @@ -32550,44 +32591,6 @@ - - -
- - - -
- - - - -
- - - - - - - - - -
- - - -
- - - - -
- - - - - - -
diff --git a/generated/org.openhealthtools.mdht.uml.cda.consol2/model/consol.genmodel b/generated/org.openhealthtools.mdht.uml.cda.consol2/model/consol.genmodel index 6f3343967..48a8dd79d 100644 --- a/generated/org.openhealthtools.mdht.uml.cda.consol2/model/consol.genmodel +++ b/generated/org.openhealthtools.mdht.uml.cda.consol2/model/consol.genmodel @@ -3566,14 +3566,6 @@ - - - - - - - - @@ -6020,14 +6012,6 @@ - - - - - - - - @@ -6043,14 +6027,6 @@ - - - - - - - - diff --git a/generated/org.openhealthtools.mdht.uml.cda.consol2/model/consol_Ecore.uml b/generated/org.openhealthtools.mdht.uml.cda.consol2/model/consol_Ecore.uml index 9348cece9..36d5c48e0 100644 --- a/generated/org.openhealthtools.mdht.uml.cda.consol2/model/consol_Ecore.uml +++ b/generated/org.openhealthtools.mdht.uml.cda.consol2/model/consol_Ecore.uml @@ -44,404 +44,404 @@ CDA R2 states that LOINC is the preferred vocabulary for document type codes, wh not self.versionNumber.oclIsUndefined() implies not self.setId.oclIsUndefined() - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.1.1') - - + + OCL (self.realmCode->isEmpty() or self.realmCode->exists(element | element.isNullFlavorUndefined())) implies (self.realmCode->size() = 1 and self.realmCode->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = element.oclAsType(datatypes::CS) in value.code = 'US')) - - + + OCL (self.typeId.oclIsUndefined() or self.typeId.isNullFlavorUndefined()) implies (not self.typeId.oclIsUndefined()) - - + + OCL (self.id.oclIsUndefined() or self.id.isNullFlavorUndefined()) implies (not self.id.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL (self.confidentialityCode.oclIsUndefined() or self.confidentialityCode.isNullFlavorUndefined()) implies (not self.confidentialityCode.oclIsUndefined()) - - + + OCL (self.confidentialityCode.oclIsUndefined() or self.confidentialityCode.isNullFlavorUndefined()) implies (not self.confidentialityCode.oclIsUndefined() and self.confidentialityCode.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.confidentialityCode.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.5.25' and (value.code = 'N' or value.code = 'R' or value.code = 'V')) - - + + OCL (self.languageCode.oclIsUndefined() or self.languageCode.isNullFlavorUndefined()) implies (not self.languageCode.oclIsUndefined() and self.languageCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.languageCode.oclAsType(datatypes::CS) in not value.code.oclIsUndefined()) - - + + OCL (self.languageCode.oclIsUndefined() or self.languageCode.isNullFlavorUndefined()) implies (not self.languageCode.oclIsUndefined()) - - + + OCL (self.setId.oclIsUndefined() or self.setId.isNullFlavorUndefined()) implies (not self.setId.oclIsUndefined()) - - + + OCL (self.versionNumber.oclIsUndefined() or self.versionNumber.isNullFlavorUndefined()) implies (not self.versionNumber.oclIsUndefined()) - - + + OCL self.author->exists(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(cda::Author)) - - + + OCL self.dataEnterer->one(dataEnterer : cda::DataEnterer | not dataEnterer.oclIsUndefined() and dataEnterer.oclIsKindOf(cda::DataEnterer)) - - + + OCL self.custodian->one(custodian : cda::Custodian | not custodian.oclIsUndefined() and custodian.oclIsKindOf(cda::Custodian)) - - + + OCL self.informationRecipient->exists(informationRecipient : cda::InformationRecipient | not informationRecipient.oclIsUndefined() and informationRecipient.oclIsKindOf(cda::InformationRecipient)) - - + + OCL self.legalAuthenticator->one(legalAuthenticator : cda::LegalAuthenticator | not legalAuthenticator.oclIsUndefined() and legalAuthenticator.oclIsKindOf(cda::LegalAuthenticator)) - - + + OCL self.authenticator->exists(authenticator : cda::Authenticator | not authenticator.oclIsUndefined() and authenticator.oclIsKindOf(cda::Authenticator)) - - + + OCL self.recordTarget->exists(recordTarget : cda::RecordTarget | not recordTarget.oclIsUndefined() and recordTarget.oclIsKindOf(cda::RecordTarget)) - - + + OCL self.componentOf->one(componentOf : cda::Component1 | not componentOf.oclIsUndefined() and componentOf.oclIsKindOf(cda::Component1)) - - + + OCL self.informant->exists(informant : cda::Informant12 | not informant.oclIsUndefined() and informant.oclIsKindOf(cda::Informant12)) - - + + OCL self.participant->select(participant : cda::Participant1 | not participant.oclIsUndefined() and participant.oclIsKindOf(cda::Participant1))->select(typeCode = vocab::ParticipationType::IND)->notEmpty() - - + + OCL self.inFulfillmentOf->exists(inFulfillmentOf : cda::InFulfillmentOf | not inFulfillmentOf.oclIsUndefined() and inFulfillmentOf.oclIsKindOf(cda::InFulfillmentOf)) - - + + OCL self.documentationOf->exists(documentationOf : cda::DocumentationOf | not documentationOf.oclIsUndefined() and documentationOf.oclIsKindOf(cda::DocumentationOf)) - - + + OCL self.authorization->exists(authorization : cda::Authorization | not authorization.oclIsUndefined() and authorization.oclIsKindOf(cda::Authorization)) - - + + OCL self.effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() implies (not value.oclIsUndefined() and value.size() >= 8)) - - + + OCL self.effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() implies (not value.oclIsUndefined() and value.size() >= 12)) - - + + OCL self.effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() implies (not value.oclIsUndefined() and value.size() >= 14)) - - + + OCL self.effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject(not value.oclIsUndefined() and value.size() > 8 implies value.size() >= 15) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() implies ( streetAddressLine->size() >=1 and streetAddressLine->size() <=4)) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() and country->exists(c : datatypes::ADXP | c.getText() = 'US') implies state->size() >= 1) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() and country->exists(c : datatypes::ADXP | c.getText() = 'US') implies postalCode->size() >= 1) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (use->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(vocab::PostalAddressUse) and let value : vocab::PostalAddressUse = element.oclAsType(vocab::PostalAddressUse) in value = vocab::PostalAddressUse::BAD or value = vocab::PostalAddressUse::DIR or value = vocab::PostalAddressUse::H or value = vocab::PostalAddressUse::HP or value = vocab::PostalAddressUse::HV or value = vocab::PostalAddressUse::PHYS or value = vocab::PostalAddressUse::PST or value = vocab::PostalAddressUse::PUB or value = vocab::PostalAddressUse::TMP or value = vocab::PostalAddressUse::WP) ))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (( not use->isEmpty()) ))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((country->isEmpty() or country->exists(element | element.isNullFlavorUndefined())) implies (( not country->isEmpty()) ) ))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((state->isEmpty() or state->exists(element | element.isNullFlavorUndefined())) implies (( not state->isEmpty()) ) ))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((city->isEmpty() or city->exists(element | element.isNullFlavorUndefined())) implies (city->size() = 1) ))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((postalCode->isEmpty() or postalCode->exists(element | element.isNullFlavorUndefined())) implies (( not postalCode->isEmpty()) ) ))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((streetAddressLine->isEmpty() or streetAddressLine->exists(element | element.isNullFlavorUndefined())) implies (( not streetAddressLine->isEmpty()) ) ))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).telecom->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (( not use->isEmpty()) ))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).name->excluding(null)->select(isNullFlavorUndefined())->reject(getText(true)='') - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).name->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (use->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(vocab::EntityNameUse) and let value : vocab::EntityNameUse = element.oclAsType(vocab::EntityNameUse) in value = vocab::EntityNameUse::A or value = vocab::EntityNameUse::ABC or value = vocab::EntityNameUse::ASGN or value = vocab::EntityNameUse::C or value = vocab::EntityNameUse::I or value = vocab::EntityNameUse::IDE or value = vocab::EntityNameUse::L or value = vocab::EntityNameUse::P or value = vocab::EntityNameUse::PHON or value = vocab::EntityNameUse::R or value = vocab::EntityNameUse::SNDX or value = vocab::EntityNameUse::SRCH or value = vocab::EntityNameUse::SYL) ))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).name->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (( not use->isEmpty()) ))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).name->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((family->isEmpty() or family->exists(element | element.isNullFlavorUndefined())) implies (family->size() = 1) ))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).name->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((given->isEmpty() or given->exists(element | element.isNullFlavorUndefined())) implies (( not given->isEmpty()) ) ))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).name->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((prefix->isEmpty() or prefix->exists(element | element.isNullFlavorUndefined())) implies (not prefix->isEmpty()) ))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).name->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((suffix->isEmpty() or suffix->exists(element | element.isNullFlavorUndefined())) implies (( not suffix->isEmpty()) ) ))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).birthTime->excluding(null)->select(isNullFlavorUndefined())->reject(not value.oclIsUndefined() and value.size() >= 4) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).birthTime->excluding(null)->select(isNullFlavorUndefined())->reject(not value.oclIsUndefined() and value.size() >= 8) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).birthTime->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (not value.oclIsUndefined() ))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).guardian->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() implies ( streetAddressLine->size() >=1 and streetAddressLine->size() <=4)) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).guardian->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() and country->exists(c : datatypes::ADXP | c.getText() = 'US') implies state->size() >= 1) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).guardian->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() and country->exists(c : datatypes::ADXP | c.getText() = 'US') implies postalCode->size() >= 1) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).guardian->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (use->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(vocab::PostalAddressUse) and let value : vocab::PostalAddressUse = element.oclAsType(vocab::PostalAddressUse) in value = vocab::PostalAddressUse::BAD or value = vocab::PostalAddressUse::DIR or value = vocab::PostalAddressUse::H or value = vocab::PostalAddressUse::HP or value = vocab::PostalAddressUse::HV or value = vocab::PostalAddressUse::PHYS or value = vocab::PostalAddressUse::PST or value = vocab::PostalAddressUse::PUB or value = vocab::PostalAddressUse::TMP or value = vocab::PostalAddressUse::WP) ))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).guardian->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (( not use->isEmpty()) ))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).guardian->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((country->isEmpty() or country->exists(element | element.isNullFlavorUndefined())) implies (( not country->isEmpty()) ) ))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).guardian->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((state->isEmpty() or state->exists(element | element.isNullFlavorUndefined())) implies (( not state->isEmpty()) ) ))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).guardian->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((city->isEmpty() or city->exists(element | element.isNullFlavorUndefined())) implies (city->size() = 1) ))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).guardian->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((postalCode->isEmpty() or postalCode->exists(element | element.isNullFlavorUndefined())) implies (( not postalCode->isEmpty()) ) ))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).guardian->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((streetAddressLine->isEmpty() or streetAddressLine->exists(element | element.isNullFlavorUndefined())) implies (( not streetAddressLine->isEmpty()) ) ))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).guardian->excluding(null).telecom->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (( not use->isEmpty()) ))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).guardian->excluding(null).guardianPerson->excluding(null).name->excluding(null)->select(isNullFlavorUndefined())->reject((getText(true)<>'' and ( family->isEmpty() and given->isEmpty() and suffix->isEmpty() and prefix->isEmpty() ) ) xor (getText(true)='' and (not family->isEmpty() and not given->isEmpty() ))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).guardian->excluding(null).guardianPerson->excluding(null)->reject((name->isEmpty() or name->exists(element | element.isNullFlavorUndefined())) implies (( not name->isEmpty()) )) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).guardian->excluding(null)->reject((not code.oclIsUndefined()) and code.isNullFlavorUndefined() implies (code.oclIsKindOf(datatypes::CE) and @@ -449,1436 +449,1436 @@ let value : datatypes::CE = code.oclAsType(datatypes::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' or value.code = 'RESPRSN' or value.code = 'EXCEST' or value.code = 'GUADLTM' or value.code = 'GUARD' or value.code = 'POWATT' or value.code = 'DPOWATT' or value.code = 'HPOWATT' or value.code = 'SPOWATT'))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).guardian->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).guardian->excluding(null)->reject((addr->isEmpty() or addr->exists(element | element.isNullFlavorUndefined())) implies (not addr->isEmpty())) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).guardian->excluding(null)->reject((telecom->isEmpty() or telecom->exists(element | element.isNullFlavorUndefined())) implies (not telecom->isEmpty())) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).guardian->excluding(null)->reject(guardianPerson->one(guardianPerson : cda::Person | not guardianPerson.oclIsUndefined() and guardianPerson.oclIsKindOf(cda::Person))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).birthplace->excluding(null).place->excluding(null)->reject((addr.country->exists(curCountry | not curCountry.oclIsUndefined() and curCountry.getText() = 'US')) implies (addr.state->size() = 1) and ((addr.state->exists(curState | (curState.getText() = 'AL' or curState.getText() = 'AK' or curState.getText() = 'AS' or curState.getText() = 'AZ' or curState.getText() = 'AR' or curState.getText() = 'CA' or curState.getText() = 'CO' or curState.getText() = 'CT' or curState.getText() = 'DE' or curState.getText() = 'DC' or curState.getText() = 'FL' or curState.getText() = 'FM' or curState.getText() = 'GA' or curState.getText() = 'GU' or curState.getText() = 'HI' or curState.getText() = 'ID' or curState.getText() = 'IL' or curState.getText() = 'IN' or curState.getText() = 'IA' or curState.getText() = 'KS' or curState.getText() = 'KY' or curState.getText() = 'LA' or curState.getText() = 'ME' or curState.getText() = 'MH' or curState.getText() = 'MD' or curState.getText() = 'MA' or curState.getText() = 'MI' or curState.getText() = 'MN' or curState.getText() = 'MS' or curState.getText() = 'MO' or curState.getText() = 'MT' or curState.getText() = 'NE' or curState.getText() = 'NV' or curState.getText() = 'NH' or curState.getText() = 'NJ' or curState.getText() = 'NM' or curState.getText() = 'NY' or curState.getText() = 'NC' or curState.getText() = 'ND' or curState.getText() = 'MP' or curState.getText() = 'OH' or curState.getText() = 'OK' or curState.getText() = 'OR' or curState.getText() = 'PW' or curState.getText() = 'PA' or curState.getText() = 'PR' or curState.getText() = 'RI' or curState.getText() = 'SC' or curState.getText() = 'SD' or curState.getText() = 'TN' or curState.getText() = 'TX' or curState.getText() = 'UM' or curState.getText() = 'UT' or curState.getText() = 'VT' or curState.getText() = 'VA' or curState.getText() = 'VI' or curState.getText() = 'WA' or curState.getText() = 'WV' or curState.getText() = 'WI' or curState.getText() = 'WY' ))) or (addr.state->exists(curState | curState.isNullFlavorDefined())))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).birthplace->excluding(null).place->excluding(null)->reject((addr.oclIsUndefined() or addr.isNullFlavorUndefined()) implies (not addr.oclIsUndefined())) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).birthplace->excluding(null)->reject(place->one(place : cda::Place | not place.oclIsUndefined() and place.oclIsKindOf(cda::Place))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).languageCommunication->excluding(null)->reject((languageCode.oclIsUndefined() or languageCode.isNullFlavorUndefined()) implies (not languageCode.oclIsUndefined() and languageCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = languageCode.oclAsType(datatypes::CS) in not value.code.oclIsUndefined())) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).languageCommunication->excluding(null)->reject((languageCode.oclIsUndefined() or languageCode.isNullFlavorUndefined()) implies (not languageCode.oclIsUndefined())) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).languageCommunication->excluding(null)->reject((modeCode.oclIsUndefined() or modeCode.isNullFlavorUndefined()) implies (not modeCode.oclIsUndefined())) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).languageCommunication->excluding(null)->reject((modeCode.oclIsUndefined() or modeCode.isNullFlavorUndefined()) implies (not modeCode.oclIsUndefined() and modeCode.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = modeCode.oclAsType(datatypes::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'))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).languageCommunication->excluding(null)->reject((proficiencyLevelCode.oclIsUndefined() or proficiencyLevelCode.isNullFlavorUndefined()) implies (not proficiencyLevelCode.oclIsUndefined())) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).languageCommunication->excluding(null)->reject((proficiencyLevelCode.oclIsUndefined() or proficiencyLevelCode.isNullFlavorUndefined()) implies (not proficiencyLevelCode.oclIsUndefined() and proficiencyLevelCode.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = proficiencyLevelCode.oclAsType(datatypes::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'))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).languageCommunication->excluding(null)->reject((preferenceInd.oclIsUndefined() or preferenceInd.isNullFlavorUndefined()) implies (not preferenceInd.oclIsUndefined())) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null)->reject(sDTCRaceCode->notEmpty() implies not raceCode.oclIsUndefined()) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null)->reject((name->isEmpty() or name->exists(element | element.isNullFlavorUndefined())) implies (( not name->isEmpty()) )) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null)->reject((administrativeGenderCode.oclIsUndefined() or administrativeGenderCode.isNullFlavorUndefined()) implies (not administrativeGenderCode.oclIsUndefined() and administrativeGenderCode.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = administrativeGenderCode.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.5.1' and (value.code = 'F' or value.code = 'M' or value.code = 'UN'))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null)->reject((birthTime.oclIsUndefined() or birthTime.isNullFlavorUndefined()) implies (not birthTime.oclIsUndefined())) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null)->reject((maritalStatusCode.oclIsUndefined() or maritalStatusCode.isNullFlavorUndefined()) implies (not maritalStatusCode.oclIsUndefined())) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null)->reject((maritalStatusCode.oclIsUndefined() or maritalStatusCode.isNullFlavorUndefined()) implies (not maritalStatusCode.oclIsUndefined() and maritalStatusCode.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = maritalStatusCode.oclAsType(datatypes::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' or value.code = 'C' or value.code = 'U'))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null)->reject((religiousAffiliationCode.oclIsUndefined() or religiousAffiliationCode.isNullFlavorUndefined()) implies (not religiousAffiliationCode.oclIsUndefined())) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null)->reject((religiousAffiliationCode.oclIsUndefined() or religiousAffiliationCode.isNullFlavorUndefined()) implies (not religiousAffiliationCode.oclIsUndefined() and religiousAffiliationCode.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = religiousAffiliationCode.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.5.1076' and not value.code.oclIsUndefined())) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null)->reject((raceCode.oclIsUndefined() or raceCode.isNullFlavorUndefined()) implies (not raceCode.oclIsUndefined())) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null)->reject((raceCode.oclIsUndefined() or raceCode.isNullFlavorUndefined()) implies (not raceCode.oclIsUndefined() and raceCode.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = raceCode.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.6.238' and not value.code.oclIsUndefined())) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null)->reject((sDTCRaceCode->isEmpty() or sDTCRaceCode->exists(element | element.isNullFlavorUndefined())) implies (not sDTCRaceCode->isEmpty())) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null)->reject((sDTCRaceCode->isEmpty() or sDTCRaceCode->exists(element | element.isNullFlavorUndefined())) implies (sDTCRaceCode->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = element.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.6.238' and not value.code.oclIsUndefined()))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null)->reject((ethnicGroupCode.oclIsUndefined() or ethnicGroupCode.isNullFlavorUndefined()) implies (not ethnicGroupCode.oclIsUndefined())) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null)->reject((ethnicGroupCode.oclIsUndefined() or ethnicGroupCode.isNullFlavorUndefined()) implies (not ethnicGroupCode.oclIsUndefined() and ethnicGroupCode.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = ethnicGroupCode.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.6.238' and (value.code = '2135-2' or value.code = '2186-5'))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null)->reject(guardian->exists(guardian : cda::Guardian | not guardian.oclIsUndefined() and guardian.oclIsKindOf(cda::Guardian))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null)->reject(birthplace->one(birthplace : cda::Birthplace | not birthplace.oclIsUndefined() and birthplace.oclIsKindOf(cda::Birthplace))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null)->reject(languageCommunication->exists(languageCommunication : cda::LanguageCommunication | not languageCommunication.oclIsUndefined() and languageCommunication.oclIsKindOf(cda::LanguageCommunication))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).providerOrganization->excluding(null).telecom->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (( not use->isEmpty()) ))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).providerOrganization->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() implies ( streetAddressLine->size() >=1 and streetAddressLine->size() <=4)) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).providerOrganization->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() and country->exists(c : datatypes::ADXP | c.getText() = 'US') implies state->size() >= 1) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).providerOrganization->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() and country->exists(c : datatypes::ADXP | c.getText() = 'US') implies postalCode->size() >= 1) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).providerOrganization->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (use->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(vocab::PostalAddressUse) and let value : vocab::PostalAddressUse = element.oclAsType(vocab::PostalAddressUse) in value = vocab::PostalAddressUse::BAD or value = vocab::PostalAddressUse::DIR or value = vocab::PostalAddressUse::H or value = vocab::PostalAddressUse::HP or value = vocab::PostalAddressUse::HV or value = vocab::PostalAddressUse::PHYS or value = vocab::PostalAddressUse::PST or value = vocab::PostalAddressUse::PUB or value = vocab::PostalAddressUse::TMP or value = vocab::PostalAddressUse::WP) ))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).providerOrganization->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (( not use->isEmpty()) ))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).providerOrganization->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((country->isEmpty() or country->exists(element | element.isNullFlavorUndefined())) implies (( not country->isEmpty()) ) ))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).providerOrganization->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((state->isEmpty() or state->exists(element | element.isNullFlavorUndefined())) implies (( not state->isEmpty()) ) ))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).providerOrganization->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((city->isEmpty() or city->exists(element | element.isNullFlavorUndefined())) implies (city->size() = 1) ))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).providerOrganization->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((postalCode->isEmpty() or postalCode->exists(element | element.isNullFlavorUndefined())) implies (( not postalCode->isEmpty()) ) ))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).providerOrganization->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((streetAddressLine->isEmpty() or streetAddressLine->exists(element | element.isNullFlavorUndefined())) implies (( not streetAddressLine->isEmpty()) ) ))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).providerOrganization->excluding(null)->reject(id->exists( root='2.16.840.1.113883.4.6' )) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).providerOrganization->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (( not id->isEmpty()) )) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).providerOrganization->excluding(null)->reject((name->isEmpty() or name->exists(element | element.isNullFlavorUndefined())) implies (( not name->isEmpty()) )) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).providerOrganization->excluding(null)->reject((telecom->isEmpty() or telecom->exists(element | element.isNullFlavorUndefined())) implies (( not telecom->isEmpty()) )) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).providerOrganization->excluding(null)->reject((addr->isEmpty() or addr->exists(element | element.isNullFlavorUndefined())) implies (( not addr->isEmpty()) )) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (not id->isEmpty())) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null)->reject((addr->isEmpty() or addr->exists(element | element.isNullFlavorUndefined())) implies (( not addr->isEmpty()) )) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null)->reject((telecom->isEmpty() or telecom->exists(element | element.isNullFlavorUndefined())) implies (( not telecom->isEmpty()) )) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null)->reject(patient->one(patient : cda::Patient | not patient.oclIsUndefined() and patient.oclIsKindOf(cda::Patient))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null)->reject(providerOrganization->one(providerOrganization : cda::Organization | not providerOrganization.oclIsUndefined() and providerOrganization.oclIsKindOf(cda::Organization))) - - + + OCL self.recordTarget->excluding(null)->reject(patientRole->one(patientRole : cda::PatientRole | not patientRole.oclIsUndefined() and patientRole.oclIsKindOf(cda::PatientRole))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (( not id->isEmpty()) )) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject((effectiveTime.oclIsUndefined() or effectiveTime.isNullFlavorUndefined()) implies (not effectiveTime.oclIsUndefined())) - - + + OCL self.componentOf->excluding(null)->reject(encompassingEncounter->one(encompassingEncounter : cda::EncompassingEncounter | not encompassingEncounter.oclIsUndefined() and encompassingEncounter.oclIsKindOf(cda::EncompassingEncounter))) - - + + OCL self.author->excluding(null).time->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() implies (not value.oclIsUndefined() and value.size() >= 8)) - - + + OCL self.author->excluding(null).time->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() implies (not value.oclIsUndefined() and value.size() >= 12)) - - + + OCL self.author->excluding(null).time->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() implies (not value.oclIsUndefined() and value.size() >= 14)) - - + + OCL self.author->excluding(null).time->excluding(null)->select(isNullFlavorUndefined())->reject(not value.oclIsUndefined() and value.size() > 8 implies value.size() >= 15) - - + + OCL self.author->excluding(null).assignedAuthor->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() implies ( streetAddressLine->size() >=1 and streetAddressLine->size() <=4)) - - + + OCL self.author->excluding(null).assignedAuthor->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() and country->exists(c : datatypes::ADXP | c.getText() = 'US') implies state->size() >= 1) - - + + OCL self.author->excluding(null).assignedAuthor->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() and country->exists(c : datatypes::ADXP | c.getText() = 'US') implies postalCode->size() >= 1) - - + + OCL self.author->excluding(null).assignedAuthor->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (use->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(vocab::PostalAddressUse) and let value : vocab::PostalAddressUse = element.oclAsType(vocab::PostalAddressUse) in value = vocab::PostalAddressUse::BAD or value = vocab::PostalAddressUse::DIR or value = vocab::PostalAddressUse::H or value = vocab::PostalAddressUse::HP or value = vocab::PostalAddressUse::HV or value = vocab::PostalAddressUse::PHYS or value = vocab::PostalAddressUse::PST or value = vocab::PostalAddressUse::PUB or value = vocab::PostalAddressUse::TMP or value = vocab::PostalAddressUse::WP) ))) - - + + OCL self.author->excluding(null).assignedAuthor->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (( not use->isEmpty()) ))) - - + + OCL self.author->excluding(null).assignedAuthor->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((country->isEmpty() or country->exists(element | element.isNullFlavorUndefined())) implies (( not country->isEmpty()) ) ))) - - + + OCL self.author->excluding(null).assignedAuthor->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((state->isEmpty() or state->exists(element | element.isNullFlavorUndefined())) implies (( not state->isEmpty()) ) ))) - - + + OCL self.author->excluding(null).assignedAuthor->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((city->isEmpty() or city->exists(element | element.isNullFlavorUndefined())) implies (city->size() = 1) ))) - - + + OCL self.author->excluding(null).assignedAuthor->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((postalCode->isEmpty() or postalCode->exists(element | element.isNullFlavorUndefined())) implies (( not postalCode->isEmpty()) ) ))) - - + + OCL self.author->excluding(null).assignedAuthor->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((streetAddressLine->isEmpty() or streetAddressLine->exists(element | element.isNullFlavorUndefined())) implies (( not streetAddressLine->isEmpty()) ) ))) - - + + OCL self.author->excluding(null).assignedAuthor->excluding(null).telecom->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (( not use->isEmpty()) ))) - - + + OCL self.author->excluding(null).assignedAuthor->excluding(null).assignedAuthoringDevice->excluding(null)->reject((manufacturerModelName.oclIsUndefined() or manufacturerModelName.isNullFlavorUndefined()) implies (not manufacturerModelName.oclIsUndefined())) - - + + OCL self.author->excluding(null).assignedAuthor->excluding(null).assignedAuthoringDevice->excluding(null)->reject((softwareName.oclIsUndefined() or softwareName.isNullFlavorUndefined()) implies (not softwareName.oclIsUndefined())) - - + + OCL self.author->excluding(null).assignedAuthor->excluding(null).assignedPerson->excluding(null).name->excluding(null)->select(isNullFlavorUndefined())->reject((getText(true)<>'' and ( family->isEmpty() and given->isEmpty() and suffix->isEmpty() and prefix->isEmpty() ) ) xor (getText(true)='' and (not family->isEmpty() and not given->isEmpty() ))) - - + + OCL self.author->excluding(null).assignedAuthor->excluding(null).assignedPerson->excluding(null)->reject((name->isEmpty() or name->exists(element | element.isNullFlavorUndefined())) implies (( not name->isEmpty()) )) - - + + OCL self.author->excluding(null).assignedAuthor->excluding(null)->reject(assignedPerson->one(element | not element.oclIsUndefined() implies (element.isNullFlavorDefined() or element->size() = 1) ) xor assignedAuthoringDevice->one(element | not element.oclIsUndefined() implies (element.isNullFlavorDefined() or element->size() = 1) )) - - + + OCL self.author->excluding(null).assignedAuthor->excluding(null)->reject((not assignedPerson.oclIsUndefined() and not id->isEmpty()) implies id->exists(id | (id.isNullFlavorDefined() and id.extension->isEmpty() and id.root->isEmpty()) or (id.isNullFlavorDefined() and id.root='2.16.840.1.113883.4.6') or (id.root='2.16.840.1.113883.4.6' and id.extension->size() = 1))) - - + + OCL self.author->excluding(null).assignedAuthor->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (not id->isEmpty())) - - + + OCL self.author->excluding(null).assignedAuthor->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.author->excluding(null).assignedAuthor->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.6.101' and not value.code.oclIsUndefined())) - - + + OCL self.author->excluding(null).assignedAuthor->excluding(null)->reject((addr->isEmpty() or addr->exists(element | element.isNullFlavorUndefined())) implies (( not addr->isEmpty()) )) - - + + OCL self.author->excluding(null).assignedAuthor->excluding(null)->reject((telecom->isEmpty() or telecom->exists(element | element.isNullFlavorUndefined())) implies (( not telecom->isEmpty()) )) - - + + OCL self.author->excluding(null)->reject((time.oclIsUndefined() or time.isNullFlavorUndefined()) implies (not time.oclIsUndefined())) - - + + OCL self.author->excluding(null)->reject(assignedAuthor->one(assignedAuthor : cda::AssignedAuthor | not assignedAuthor.oclIsUndefined() and assignedAuthor.oclIsKindOf(cda::AssignedAuthor))) - - + + OCL self.dataEnterer->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() implies ( streetAddressLine->size() >=1 and streetAddressLine->size() <=4)) - - + + OCL self.dataEnterer->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() and country->exists(c : datatypes::ADXP | c.getText() = 'US') implies state->size() >= 1) - - + + OCL self.dataEnterer->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() and country->exists(c : datatypes::ADXP | c.getText() = 'US') implies postalCode->size() >= 1) - - + + OCL self.dataEnterer->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (use->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(vocab::PostalAddressUse) and let value : vocab::PostalAddressUse = element.oclAsType(vocab::PostalAddressUse) in value = vocab::PostalAddressUse::BAD or value = vocab::PostalAddressUse::DIR or value = vocab::PostalAddressUse::H or value = vocab::PostalAddressUse::HP or value = vocab::PostalAddressUse::HV or value = vocab::PostalAddressUse::PHYS or value = vocab::PostalAddressUse::PST or value = vocab::PostalAddressUse::PUB or value = vocab::PostalAddressUse::TMP or value = vocab::PostalAddressUse::WP) ))) - - + + OCL self.dataEnterer->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (( not use->isEmpty()) ))) - - + + OCL self.dataEnterer->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((country->isEmpty() or country->exists(element | element.isNullFlavorUndefined())) implies (( not country->isEmpty()) ) ))) - - + + OCL self.dataEnterer->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((state->isEmpty() or state->exists(element | element.isNullFlavorUndefined())) implies (( not state->isEmpty()) ) ))) - - + + OCL self.dataEnterer->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((city->isEmpty() or city->exists(element | element.isNullFlavorUndefined())) implies (city->size() = 1) ))) - - + + OCL self.dataEnterer->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((postalCode->isEmpty() or postalCode->exists(element | element.isNullFlavorUndefined())) implies (( not postalCode->isEmpty()) ) ))) - - + + OCL self.dataEnterer->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((streetAddressLine->isEmpty() or streetAddressLine->exists(element | element.isNullFlavorUndefined())) implies (( not streetAddressLine->isEmpty()) ) ))) - - + + OCL self.dataEnterer->excluding(null).assignedEntity->excluding(null).telecom->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (( not use->isEmpty()) ))) - - + + OCL self.dataEnterer->excluding(null).assignedEntity->excluding(null).assignedPerson->excluding(null).name->excluding(null)->select(isNullFlavorUndefined())->reject((getText(true)<>'' and ( family->isEmpty() and given->isEmpty() and suffix->isEmpty() and prefix->isEmpty() ) ) xor (getText(true)='' and (not family->isEmpty() and not given->isEmpty() ))) - - + + OCL self.dataEnterer->excluding(null).assignedEntity->excluding(null).assignedPerson->excluding(null)->reject((name->isEmpty() or name->exists(element | element.isNullFlavorUndefined())) implies (( not name->isEmpty()) )) - - + + OCL self.dataEnterer->excluding(null).assignedEntity->excluding(null)->reject(id->exists( root='2.16.840.1.113883.4.6' )) - - + + OCL self.dataEnterer->excluding(null).assignedEntity->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (not id->isEmpty())) - - + + OCL self.dataEnterer->excluding(null).assignedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.dataEnterer->excluding(null).assignedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.6.101')) - - + + OCL self.dataEnterer->excluding(null).assignedEntity->excluding(null)->reject((addr->isEmpty() or addr->exists(element | element.isNullFlavorUndefined())) implies (( not addr->isEmpty()) )) - - + + OCL self.dataEnterer->excluding(null).assignedEntity->excluding(null)->reject((telecom->isEmpty() or telecom->exists(element | element.isNullFlavorUndefined())) implies (( not telecom->isEmpty()) )) - - + + OCL self.dataEnterer->excluding(null).assignedEntity->excluding(null)->reject(assignedPerson->one(assignedPerson : cda::Person | not assignedPerson.oclIsUndefined() and assignedPerson.oclIsKindOf(cda::Person))) - - + + OCL self.dataEnterer->excluding(null)->reject(assignedEntity->one(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(cda::AssignedEntity))) - - + + OCL self.custodian->excluding(null).assignedCustodian->excluding(null).representedCustodianOrganization->excluding(null).telecom->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (( not use->isEmpty()) ))) - - + + OCL self.custodian->excluding(null).assignedCustodian->excluding(null).representedCustodianOrganization->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() implies ( streetAddressLine->size() >=1 and streetAddressLine->size() <=4)) - - + + OCL self.custodian->excluding(null).assignedCustodian->excluding(null).representedCustodianOrganization->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() and country->exists(c : datatypes::ADXP | c.getText() = 'US') implies state->size() >= 1) - - + + OCL self.custodian->excluding(null).assignedCustodian->excluding(null).representedCustodianOrganization->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() and country->exists(c : datatypes::ADXP | c.getText() = 'US') implies postalCode->size() >= 1) - - + + OCL self.custodian->excluding(null).assignedCustodian->excluding(null).representedCustodianOrganization->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (use->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(vocab::PostalAddressUse) and let value : vocab::PostalAddressUse = element.oclAsType(vocab::PostalAddressUse) in value = vocab::PostalAddressUse::BAD or value = vocab::PostalAddressUse::DIR or value = vocab::PostalAddressUse::H or value = vocab::PostalAddressUse::HP or value = vocab::PostalAddressUse::HV or value = vocab::PostalAddressUse::PHYS or value = vocab::PostalAddressUse::PST or value = vocab::PostalAddressUse::PUB or value = vocab::PostalAddressUse::TMP or value = vocab::PostalAddressUse::WP) ))) - - + + OCL self.custodian->excluding(null).assignedCustodian->excluding(null).representedCustodianOrganization->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (( not use->isEmpty()) ))) - - + + OCL self.custodian->excluding(null).assignedCustodian->excluding(null).representedCustodianOrganization->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((country->isEmpty() or country->exists(element | element.isNullFlavorUndefined())) implies (( not country->isEmpty()) ) ))) - - + + OCL self.custodian->excluding(null).assignedCustodian->excluding(null).representedCustodianOrganization->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((state->isEmpty() or state->exists(element | element.isNullFlavorUndefined())) implies (( not state->isEmpty()) ) ))) - - + + OCL self.custodian->excluding(null).assignedCustodian->excluding(null).representedCustodianOrganization->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((city->isEmpty() or city->exists(element | element.isNullFlavorUndefined())) implies (city->size() = 1) ))) - - + + OCL self.custodian->excluding(null).assignedCustodian->excluding(null).representedCustodianOrganization->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((postalCode->isEmpty() or postalCode->exists(element | element.isNullFlavorUndefined())) implies (( not postalCode->isEmpty()) ) ))) - - + + OCL self.custodian->excluding(null).assignedCustodian->excluding(null).representedCustodianOrganization->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((streetAddressLine->isEmpty() or streetAddressLine->exists(element | element.isNullFlavorUndefined())) implies (( not streetAddressLine->isEmpty()) ) ))) - - + + OCL self.custodian->excluding(null).assignedCustodian->excluding(null).representedCustodianOrganization->excluding(null)->reject(id->exists( root='2.16.840.1.113883.4.6' )) - - + + OCL self.custodian->excluding(null).assignedCustodian->excluding(null).representedCustodianOrganization->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (not id->isEmpty())) - - + + OCL self.custodian->excluding(null).assignedCustodian->excluding(null).representedCustodianOrganization->excluding(null)->reject((name.oclIsUndefined() or name.isNullFlavorUndefined()) implies (not name.oclIsUndefined())) - - + + OCL self.custodian->excluding(null).assignedCustodian->excluding(null).representedCustodianOrganization->excluding(null)->reject((telecom.oclIsUndefined() or telecom.isNullFlavorUndefined()) implies (not telecom.oclIsUndefined())) - - + + OCL self.custodian->excluding(null).assignedCustodian->excluding(null).representedCustodianOrganization->excluding(null)->reject((addr.oclIsUndefined() or addr.isNullFlavorUndefined()) implies (not addr.oclIsUndefined())) - - + + OCL self.custodian->excluding(null).assignedCustodian->excluding(null)->reject(representedCustodianOrganization->one(representedCustodianOrganization : cda::CustodianOrganization | not representedCustodianOrganization.oclIsUndefined() and representedCustodianOrganization.oclIsKindOf(cda::CustodianOrganization))) - - + + OCL self.custodian->excluding(null)->reject(assignedCustodian->one(assignedCustodian : cda::AssignedCustodian | not assignedCustodian.oclIsUndefined() and assignedCustodian.oclIsKindOf(cda::AssignedCustodian))) - - + + OCL self.informationRecipient->excluding(null).intendedRecipient->excluding(null).informationRecipient->excluding(null).name->excluding(null)->select(isNullFlavorUndefined())->reject((getText(true)<>'' and ( family->isEmpty() and given->isEmpty() and suffix->isEmpty() and prefix->isEmpty() ) ) xor (getText(true)='' and (not family->isEmpty() and not given->isEmpty() ))) - - + + OCL self.informationRecipient->excluding(null).intendedRecipient->excluding(null).informationRecipient->excluding(null)->reject((name->isEmpty() or name->exists(element | element.isNullFlavorUndefined())) implies (( not name->isEmpty()) )) - - + + OCL self.informationRecipient->excluding(null).intendedRecipient->excluding(null).receivedOrganization->excluding(null)->reject((name->isEmpty() or name->exists(element | element.isNullFlavorUndefined())) implies (name->size() = 1)) - - + + OCL self.informationRecipient->excluding(null).intendedRecipient->excluding(null)->reject(informationRecipient->one(informationRecipient : cda::Person | not informationRecipient.oclIsUndefined() and informationRecipient.oclIsKindOf(cda::Person))) - - + + OCL self.informationRecipient->excluding(null).intendedRecipient->excluding(null)->reject(receivedOrganization->one(receivedOrganization : cda::Organization | not receivedOrganization.oclIsUndefined() and receivedOrganization.oclIsKindOf(cda::Organization))) - - + + OCL self.informationRecipient->excluding(null)->reject(intendedRecipient->one(intendedRecipient : cda::IntendedRecipient | not intendedRecipient.oclIsUndefined() and intendedRecipient.oclIsKindOf(cda::IntendedRecipient))) - - + + OCL self.legalAuthenticator->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() implies ( streetAddressLine->size() >=1 and streetAddressLine->size() <=4)) - - + + OCL self.legalAuthenticator->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() and country->exists(c : datatypes::ADXP | c.getText() = 'US') implies state->size() >= 1) - - + + OCL self.legalAuthenticator->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() and country->exists(c : datatypes::ADXP | c.getText() = 'US') implies postalCode->size() >= 1) - - + + OCL self.legalAuthenticator->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (use->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(vocab::PostalAddressUse) and let value : vocab::PostalAddressUse = element.oclAsType(vocab::PostalAddressUse) in value = vocab::PostalAddressUse::BAD or value = vocab::PostalAddressUse::DIR or value = vocab::PostalAddressUse::H or value = vocab::PostalAddressUse::HP or value = vocab::PostalAddressUse::HV or value = vocab::PostalAddressUse::PHYS or value = vocab::PostalAddressUse::PST or value = vocab::PostalAddressUse::PUB or value = vocab::PostalAddressUse::TMP or value = vocab::PostalAddressUse::WP) ))) - - + + OCL self.legalAuthenticator->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (( not use->isEmpty()) ))) - - + + OCL self.legalAuthenticator->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((country->isEmpty() or country->exists(element | element.isNullFlavorUndefined())) implies (( not country->isEmpty()) ) ))) - - + + OCL self.legalAuthenticator->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((state->isEmpty() or state->exists(element | element.isNullFlavorUndefined())) implies (( not state->isEmpty()) ) ))) - - + + OCL self.legalAuthenticator->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((city->isEmpty() or city->exists(element | element.isNullFlavorUndefined())) implies (city->size() = 1) ))) - - + + OCL self.legalAuthenticator->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((postalCode->isEmpty() or postalCode->exists(element | element.isNullFlavorUndefined())) implies (( not postalCode->isEmpty()) ) ))) - - + + OCL self.legalAuthenticator->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((streetAddressLine->isEmpty() or streetAddressLine->exists(element | element.isNullFlavorUndefined())) implies (( not streetAddressLine->isEmpty()) ) ))) - - + + OCL self.legalAuthenticator->excluding(null).assignedEntity->excluding(null).telecom->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (( not use->isEmpty()) ))) - - + + OCL self.legalAuthenticator->excluding(null).assignedEntity->excluding(null).assignedPerson->excluding(null).name->excluding(null)->select(isNullFlavorUndefined())->reject((getText(true)<>'' and ( family->isEmpty() and given->isEmpty() and suffix->isEmpty() and prefix->isEmpty() ) ) xor (getText(true)='' and (not family->isEmpty() and not given->isEmpty() ))) - - + + OCL self.legalAuthenticator->excluding(null).assignedEntity->excluding(null).assignedPerson->excluding(null)->reject((name->isEmpty() or name->exists(element | element.isNullFlavorUndefined())) implies (( not name->isEmpty()) )) - - + + OCL self.legalAuthenticator->excluding(null).assignedEntity->excluding(null)->reject(id->exists( root='2.16.840.1.113883.4.6' )) - - + + OCL self.legalAuthenticator->excluding(null).assignedEntity->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (not id->isEmpty())) - - + + OCL self.legalAuthenticator->excluding(null).assignedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.legalAuthenticator->excluding(null).assignedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.6.101' and not value.code.oclIsUndefined())) - - + + OCL self.legalAuthenticator->excluding(null).assignedEntity->excluding(null)->reject((addr->isEmpty() or addr->exists(element | element.isNullFlavorUndefined())) implies (( not addr->isEmpty()) )) - - + + OCL self.legalAuthenticator->excluding(null).assignedEntity->excluding(null)->reject((telecom->isEmpty() or telecom->exists(element | element.isNullFlavorUndefined())) implies (( not telecom->isEmpty()) )) - - + + OCL self.legalAuthenticator->excluding(null).assignedEntity->excluding(null)->reject(assignedPerson->one(assignedPerson : cda::Person | not assignedPerson.oclIsUndefined() and assignedPerson.oclIsKindOf(cda::Person))) - - + + OCL self.legalAuthenticator->excluding(null)->reject((time.oclIsUndefined() or time.isNullFlavorUndefined()) implies (not time.oclIsUndefined())) - - + + OCL self.legalAuthenticator->excluding(null)->reject((signatureCode.oclIsUndefined() or signatureCode.isNullFlavorUndefined()) implies (not signatureCode.oclIsUndefined())) - - + + OCL self.legalAuthenticator->excluding(null)->reject((signatureCode.oclIsUndefined() or signatureCode.isNullFlavorUndefined()) implies (not signatureCode.oclIsUndefined() and signatureCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = signatureCode.oclAsType(datatypes::CS) in value.code = 'S')) - - + + OCL self.legalAuthenticator->excluding(null)->reject(assignedEntity->one(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(cda::AssignedEntity))) - - + + OCL self.authenticator->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() implies ( streetAddressLine->size() >=1 and streetAddressLine->size() <=4)) - - + + OCL self.authenticator->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() and country->exists(c : datatypes::ADXP | c.getText() = 'US') implies state->size() >= 1) - - + + OCL self.authenticator->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() and country->exists(c : datatypes::ADXP | c.getText() = 'US') implies postalCode->size() >= 1) - - + + OCL self.authenticator->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (use->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(vocab::PostalAddressUse) and let value : vocab::PostalAddressUse = element.oclAsType(vocab::PostalAddressUse) in value = vocab::PostalAddressUse::BAD or value = vocab::PostalAddressUse::DIR or value = vocab::PostalAddressUse::H or value = vocab::PostalAddressUse::HP or value = vocab::PostalAddressUse::HV or value = vocab::PostalAddressUse::PHYS or value = vocab::PostalAddressUse::PST or value = vocab::PostalAddressUse::PUB or value = vocab::PostalAddressUse::TMP or value = vocab::PostalAddressUse::WP) ))) - - + + OCL self.authenticator->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (( not use->isEmpty()) ))) - - + + OCL self.authenticator->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((country->isEmpty() or country->exists(element | element.isNullFlavorUndefined())) implies (( not country->isEmpty()) ) ))) - - + + OCL self.authenticator->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((state->isEmpty() or state->exists(element | element.isNullFlavorUndefined())) implies (( not state->isEmpty()) ) ))) - - + + OCL self.authenticator->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((city->isEmpty() or city->exists(element | element.isNullFlavorUndefined())) implies (city->size() = 1) ))) - - + + OCL self.authenticator->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((postalCode->isEmpty() or postalCode->exists(element | element.isNullFlavorUndefined())) implies (( not postalCode->isEmpty()) ) ))) - - + + OCL self.authenticator->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((streetAddressLine->isEmpty() or streetAddressLine->exists(element | element.isNullFlavorUndefined())) implies (( not streetAddressLine->isEmpty()) ) ))) - - + + OCL self.authenticator->excluding(null).assignedEntity->excluding(null).telecom->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (( not use->isEmpty()) ))) - - + + OCL self.authenticator->excluding(null).assignedEntity->excluding(null).assignedPerson->excluding(null).name->excluding(null)->select(isNullFlavorUndefined())->reject((getText(true)<>'' and ( family->isEmpty() and given->isEmpty() and suffix->isEmpty() and prefix->isEmpty() ) ) xor (getText(true)='' and (not family->isEmpty() and not given->isEmpty() ))) - - + + OCL self.authenticator->excluding(null).assignedEntity->excluding(null).assignedPerson->excluding(null)->reject((name->isEmpty() or name->exists(element | element.isNullFlavorUndefined())) implies (( not name->isEmpty()) )) - - + + OCL self.authenticator->excluding(null).assignedEntity->excluding(null)->reject(id->exists( root='2.16.840.1.113883.4.6' )) - - + + OCL self.authenticator->excluding(null).assignedEntity->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (not id->isEmpty())) - - + + OCL self.authenticator->excluding(null).assignedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.authenticator->excluding(null).assignedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.6.101' and not value.code.oclIsUndefined())) - - + + OCL self.authenticator->excluding(null).assignedEntity->excluding(null)->reject((addr->isEmpty() or addr->exists(element | element.isNullFlavorUndefined())) implies (( not addr->isEmpty()) )) - - + + OCL self.authenticator->excluding(null).assignedEntity->excluding(null)->reject((telecom->isEmpty() or telecom->exists(element | element.isNullFlavorUndefined())) implies (( not telecom->isEmpty()) )) - - + + OCL self.authenticator->excluding(null).assignedEntity->excluding(null)->reject(assignedPerson->one(assignedPerson : cda::Person | not assignedPerson.oclIsUndefined() and assignedPerson.oclIsKindOf(cda::Person))) - - + + OCL self.authenticator->excluding(null)->reject((time.oclIsUndefined() or time.isNullFlavorUndefined()) implies (not time.oclIsUndefined())) - - + + OCL self.authenticator->excluding(null)->reject((signatureCode.oclIsUndefined() or signatureCode.isNullFlavorUndefined()) implies (not signatureCode.oclIsUndefined())) - - + + OCL self.authenticator->excluding(null)->reject((signatureCode.oclIsUndefined() or signatureCode.isNullFlavorUndefined()) implies (not signatureCode.oclIsUndefined() and signatureCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = signatureCode.oclAsType(datatypes::CS) in value.code = 'S')) - - + + OCL self.authenticator->excluding(null)->reject(assignedEntity->one(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(cda::AssignedEntity))) - - + + OCL self.informant->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() implies ( streetAddressLine->size() >=1 and streetAddressLine->size() <=4)) - - + + OCL self.informant->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() and country->exists(c : datatypes::ADXP | c.getText() = 'US') implies state->size() >= 1) - - + + OCL self.informant->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() and country->exists(c : datatypes::ADXP | c.getText() = 'US') implies postalCode->size() >= 1) - - + + OCL self.informant->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (use->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(vocab::PostalAddressUse) and let value : vocab::PostalAddressUse = element.oclAsType(vocab::PostalAddressUse) in value = vocab::PostalAddressUse::BAD or value = vocab::PostalAddressUse::DIR or value = vocab::PostalAddressUse::H or value = vocab::PostalAddressUse::HP or value = vocab::PostalAddressUse::HV or value = vocab::PostalAddressUse::PHYS or value = vocab::PostalAddressUse::PST or value = vocab::PostalAddressUse::PUB or value = vocab::PostalAddressUse::TMP or value = vocab::PostalAddressUse::WP) ))) - - + + OCL self.informant->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (( not use->isEmpty()) ))) - - + + OCL self.informant->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((country->isEmpty() or country->exists(element | element.isNullFlavorUndefined())) implies (( not country->isEmpty()) ) ))) - - + + OCL self.informant->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((state->isEmpty() or state->exists(element | element.isNullFlavorUndefined())) implies (( not state->isEmpty()) ) ))) - - + + OCL self.informant->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((city->isEmpty() or city->exists(element | element.isNullFlavorUndefined())) implies (city->size() = 1) ))) - - + + OCL self.informant->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((postalCode->isEmpty() or postalCode->exists(element | element.isNullFlavorUndefined())) implies (( not postalCode->isEmpty()) ) ))) - - + + OCL self.informant->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((streetAddressLine->isEmpty() or streetAddressLine->exists(element | element.isNullFlavorUndefined())) implies (( not streetAddressLine->isEmpty()) ) ))) - - + + OCL self.informant->excluding(null).assignedEntity->excluding(null).assignedPerson->excluding(null).name->excluding(null)->select(isNullFlavorUndefined())->reject((getText(true)<>'' and ( family->isEmpty() and given->isEmpty() and suffix->isEmpty() and prefix->isEmpty() ) ) xor (getText(true)='' and (not family->isEmpty() and not given->isEmpty() ))) - - + + OCL self.informant->excluding(null).assignedEntity->excluding(null).assignedPerson->excluding(null)->reject((name->isEmpty() or name->exists(element | element.isNullFlavorUndefined())) implies (( not name->isEmpty()) )) - - + + OCL self.informant->excluding(null).assignedEntity->excluding(null)->reject(id->exists( root='2.16.840.1.113883.4.6' )) - - + + OCL self.informant->excluding(null).assignedEntity->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (not id->isEmpty())) - - + + OCL self.informant->excluding(null).assignedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.informant->excluding(null).assignedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.6.101')) - - + + OCL self.informant->excluding(null).assignedEntity->excluding(null)->reject((addr->isEmpty() or addr->exists(element | element.isNullFlavorUndefined())) implies (not addr->isEmpty())) - - + + OCL self.informant->excluding(null).assignedEntity->excluding(null)->reject(assignedPerson->one(assignedPerson : cda::Person | not assignedPerson.oclIsUndefined() and assignedPerson.oclIsKindOf(cda::Person))) - - + + OCL self.informant->excluding(null).relatedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() implies ( streetAddressLine->size() >=1 and streetAddressLine->size() <=4)) - - + + OCL self.informant->excluding(null).relatedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() and country->exists(c : datatypes::ADXP | c.getText() = 'US') implies state->size() >= 1) - - + + OCL self.informant->excluding(null).relatedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() and country->exists(c : datatypes::ADXP | c.getText() = 'US') implies postalCode->size() >= 1) - - + + OCL self.informant->excluding(null).relatedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (use->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(vocab::PostalAddressUse) and let value : vocab::PostalAddressUse = element.oclAsType(vocab::PostalAddressUse) in value = vocab::PostalAddressUse::BAD or value = vocab::PostalAddressUse::DIR or value = vocab::PostalAddressUse::H or value = vocab::PostalAddressUse::HP or value = vocab::PostalAddressUse::HV or value = vocab::PostalAddressUse::PHYS or value = vocab::PostalAddressUse::PST or value = vocab::PostalAddressUse::PUB or value = vocab::PostalAddressUse::TMP or value = vocab::PostalAddressUse::WP) ))) - - + + OCL self.informant->excluding(null).relatedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (( not use->isEmpty()) ))) - - + + OCL self.informant->excluding(null).relatedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((country->isEmpty() or country->exists(element | element.isNullFlavorUndefined())) implies (( not country->isEmpty()) ) ))) - - + + OCL self.informant->excluding(null).relatedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((state->isEmpty() or state->exists(element | element.isNullFlavorUndefined())) implies (( not state->isEmpty()) ) ))) - - + + OCL self.informant->excluding(null).relatedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((city->isEmpty() or city->exists(element | element.isNullFlavorUndefined())) implies (city->size() = 1) ))) - - + + OCL self.informant->excluding(null).relatedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((postalCode->isEmpty() or postalCode->exists(element | element.isNullFlavorUndefined())) implies (( not postalCode->isEmpty()) ) ))) - - + + OCL self.informant->excluding(null).relatedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((streetAddressLine->isEmpty() or streetAddressLine->exists(element | element.isNullFlavorUndefined())) implies (( not streetAddressLine->isEmpty()) ) ))) - - + + OCL self.informant->excluding(null).relatedEntity->excluding(null).relatedPerson->excluding(null).name->excluding(null)->select(isNullFlavorUndefined())->reject((getText(true)<>'' and ( family->isEmpty() and given->isEmpty() and suffix->isEmpty() and prefix->isEmpty() ) ) xor (getText(true)='' and (not family->isEmpty() and not given->isEmpty() ))) - - + + OCL self.informant->excluding(null).relatedEntity->excluding(null)->reject((addr->isEmpty() or addr->exists(element | element.isNullFlavorUndefined())) implies (not addr->isEmpty())) - - + + OCL self.informant->excluding(null).relatedEntity->excluding(null)->reject(relatedPerson->one(relatedPerson : cda::Person | not relatedPerson.oclIsUndefined() and relatedPerson.oclIsKindOf(cda::Person))) - - + + OCL self.informant->excluding(null)->reject(assignedEntity.oclIsUndefined() xor relatedEntity.oclIsUndefined()) - - + + OCL self.participant->excluding(null)->select(typeCode = vocab::ParticipationType::IND)->select(typeCode = vocab::ParticipationType::IND)->reject((not associatedEntity.associatedPerson.oclIsUndefined()) or (not associatedEntity.scopingOrganization.oclIsUndefined())) - - + + OCL self.participant->excluding(null)->select(typeCode = vocab::ParticipationType::IND)->select(typeCode = vocab::ParticipationType::IND)->reject((time.oclIsUndefined() or time.isNullFlavorUndefined()) implies (not time.oclIsUndefined())) - - + + OCL self.inFulfillmentOf->excluding(null).order->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (not id->isEmpty())) - - + + OCL self.inFulfillmentOf->excluding(null)->reject(order->one(order : cda::Order | not order.oclIsUndefined() and order.oclIsKindOf(cda::Order))) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null).assignedEntity->excluding(null)->reject(id->exists( root='2.16.840.1.113883.4.6' )) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null).assignedEntity->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (not id->isEmpty())) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null).assignedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null).assignedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.6.101')) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null)->reject(isDefined('typeCode')) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null)->reject((functionCode.oclIsUndefined() or functionCode.isNullFlavorUndefined()) implies (not functionCode.oclIsUndefined())) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null)->reject((functionCode.oclIsUndefined() or functionCode.isNullFlavorUndefined()) implies (not functionCode.oclIsUndefined() and functionCode.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = functionCode.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.5.88')) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null)->reject(assignedEntity->one(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(cda::AssignedEntity))) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject(effectiveTime->forAll(not low.oclIsUndefined())) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject((effectiveTime.oclIsUndefined() or effectiveTime.isNullFlavorUndefined()) implies (not effectiveTime.oclIsUndefined())) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject(performer->exists(performer : cda::Performer1 | not performer.oclIsUndefined() and performer.oclIsKindOf(cda::Performer1))) - - + + OCL self.documentationOf->excluding(null)->reject(serviceEvent->one(serviceEvent : cda::ServiceEvent | not serviceEvent.oclIsUndefined() and serviceEvent.oclIsKindOf(cda::ServiceEvent))) - - + + OCL self.authorization->excluding(null).consent->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (not id->isEmpty())) - - + + OCL self.authorization->excluding(null).consent->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.authorization->excluding(null).consent->excluding(null)->reject((statusCode.oclIsUndefined() or statusCode.isNullFlavorUndefined()) implies (not statusCode.oclIsUndefined())) - - + + OCL self.authorization->excluding(null).consent->excluding(null)->reject((statusCode.oclIsUndefined() or statusCode.isNullFlavorUndefined()) implies (not statusCode.oclIsUndefined() and statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = statusCode.oclAsType(datatypes::CS) in value.code = 'completed')) - - + + OCL self.authorization->excluding(null)->reject(consent->one(consent : cda::Consent | not consent.oclIsUndefined() and consent.oclIsKindOf(cda::Consent))) @@ -1909,70 +1909,70 @@ value.code = 'completed')) (self.statusCode.code = 'completed') implies not self.effectiveTime.high.oclIsUndefined() - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.30') - - + + OCL self.classCode=vocab::x_ActClassDocumentEntryAct::ACT - - + + OCL self.moodCode=vocab::x_DocumentActMood::EVN - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'active' or value.code = 'suspended' or value.code = 'aborted' or value.code = 'completed') - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::AllergyObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ) - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined())->reject((code = 'CONC' and codeSystem = '2.16.840.1.113883.5.6') or (code = '48765-2' and codeSystem = '2.16.840.1.113883.6.1')) - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (not code.oclIsUndefined() ))) - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (not codeSystem.oclIsUndefined() ))) @@ -1980,15 +1980,15 @@ value.code = 'active' or value.code = 'suspended' or value.code = 'aborted' or v - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::AllergyObservation)).oclAsType(consol::AllergyObservation) - - + + @@ -2042,198 +2042,198 @@ NOTE: The agent responsible for an allergy or adverse reaction is not always a m self.entryRelationship->select(er : cda::EntryRelationship | er.observation.oclIsTypeOf(consol::SeverityObservation))->forAll(ent : cda::EntryRelationship | ent.inversionInd=true) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.7') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (not self.id->isEmpty()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = 'ASSERTION' and value.codeSystem = '2.16.840.1.113883.5.4') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and (value.code = '420134006' or value.code = '418038007' or value.code = '419511003' or value.code = '418471000' or value.code = '419199007' or value.code = '416098002' or value.code = '414285001' or value.code = '59037007' or value.code = '235719002' or value.code = '232347008' or value.code = '426232007'))) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::ReactionObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::MFST) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::SeverityObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::AllergyStatusObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ) - - + + OCL self.participant->one(participant : cda::Participant2 | not participant.oclIsUndefined() and participant.oclIsKindOf(cda::Participant2)) - - + + OCL self.participant->excluding(null).participantRole->excluding(null).playingEntity->excluding(null).code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((originalText.oclIsUndefined() or originalText.isNullFlavorUndefined()) implies (not originalText.oclIsUndefined()) ))) - - + + OCL self.participant->excluding(null).participantRole->excluding(null).playingEntity->excluding(null).code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((translation->isEmpty() or translation->exists(element | element.isNullFlavorUndefined())) implies (not translation->isEmpty()) ))) - - + + OCL self.participant->excluding(null).participantRole->excluding(null).playingEntity->excluding(null)->reject(not code.originalText.reference.value.oclIsUndefined() implies not getSection().text.getText(code.originalText.reference.value.substring(2, code.originalText.reference.value.size())).oclIsUndefined()) - - + + OCL self.participant->excluding(null).participantRole->excluding(null).playingEntity->excluding(null)->reject(not code.originalText.reference.oclIsUndefined() implies code.originalText.reference.value->size() = 1) - - + + OCL self.participant->excluding(null).participantRole->excluding(null).playingEntity->excluding(null)->reject(not code.originalText.oclIsUndefined() implies not code.originalText.reference.oclIsUndefined()) - - + + OCL self.participant->excluding(null).participantRole->excluding(null).playingEntity->excluding(null)->reject(( code.oclIsUndefined() or code.isNullFlavorUndefined() ) implies ( not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CE) and ( ( let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.3.26.1.5' and not value.code.oclIsUndefined() ) or ( let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.6.88' and not value.code.oclIsUndefined() ) or ( let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.4.9' and not value.code.oclIsUndefined() ) or ( let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined() ) ) )) - - + + OCL self.participant->excluding(null).participantRole->excluding(null).playingEntity->excluding(null)->reject(isDefined('classCode')) - - + + OCL self.participant->excluding(null).participantRole->excluding(null).playingEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.participant->excluding(null).participantRole->excluding(null)->reject(not classCode.oclIsUndefined() and classCode.oclIsKindOf(vocab::RoleClassRoot) and let value : vocab::RoleClassRoot = classCode.oclAsType(vocab::RoleClassRoot) in value = vocab::RoleClassRoot::MANU) - - + + OCL self.participant->excluding(null).participantRole->excluding(null)->reject(playingEntity->one(playingEntity : cda::PlayingEntity | not playingEntity.oclIsUndefined() and playingEntity.oclIsKindOf(cda::PlayingEntity))) - - + + OCL self.participant->excluding(null)->reject(not typeCode.oclIsUndefined() and typeCode.oclIsKindOf(vocab::ParticipationType) and let value : vocab::ParticipationType = typeCode.oclAsType(vocab::ParticipationType) in value = vocab::ParticipationType::CSM) - - + + OCL self.participant->excluding(null)->reject(participantRole->one(participantRole : cda::ParticipantRole | not participantRole.oclIsUndefined() and participantRole.oclIsKindOf(cda::ParticipantRole))) - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ReactionObservation)).oclAsType(consol::ReactionObservation) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::SeverityObservation))->asSequence()->any(true).oclAsType(consol::SeverityObservation) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::AllergyStatusObservation))->asSequence()->any(true).oclAsType(consol::AllergyStatusObservation) - - + + @@ -2247,54 +2247,54 @@ value = vocab::ParticipationType::CSM) self.value.oclAsType(datatypes::PQ).unit->size() = 1 - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.31') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '445518008' and value.codeSystem = '2.16.840.1.113883.6.96') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | element.oclIsTypeOf(datatypes::PQ))) @@ -2325,56 +2325,56 @@ value.code = 'completed') not self.text.reference.value.oclIsUndefined() implies not self.getSection().text.getText(self.text.reference.value.substring(2, self.text.reference.value.size())).oclIsUndefined() - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.5') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '11323-3' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (not self.text.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in 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' or value.code = '419099009' or value.code = '135818000' or value.code = '135815002'))) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | element.oclIsTypeOf(datatypes::CD))) @@ -2435,84 +2435,84 @@ value.codeSystem = '2.16.840.1.113883.6.96' and (value.code = '81323004' or valu self.entryRelationship->select(er : cda::EntryRelationship | er.substanceAdministration.oclIsTypeOf(consol::MedicationActivity))->forAll(ent : cda::EntryRelationship | ent.inversionInd=true) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.9') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (self.id->size() = 1) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (not self.text.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined())) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | element.oclIsTypeOf(datatypes::CD))) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::SeverityObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.procedure.oclIsUndefined() and entryRelationship.procedure.oclIsKindOf(consol::ProcedureActivityProcedure) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::RSON) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.substanceAdministration.oclIsUndefined() and entryRelationship.substanceAdministration.oclIsKindOf(consol::MedicationActivity) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::RSON) @@ -2520,37 +2520,37 @@ value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined()) - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::SeverityObservation))->asSequence()->any(true).oclAsType(consol::SeverityObservation) - - + + - - - + + + OCL self.getProcedures()->select(procedure : cda::Procedure | not procedure.oclIsUndefined() and procedure.oclIsKindOf(consol::ProcedureActivityProcedure)).oclAsType(consol::ProcedureActivityProcedure) - - + + - - - + + + OCL self.getSubstanceAdministrations()->select(substanceAdministration : cda::SubstanceAdministration | not substanceAdministration.oclIsUndefined() and substanceAdministration.oclIsKindOf(consol::MedicationActivity)).oclAsType(consol::MedicationActivity) - - + + @@ -2576,56 +2576,56 @@ value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined()) not self.text.reference.value.oclIsUndefined() implies not self.getSection().text.getText(self.text.reference.value.substring(2, self.text.reference.value.size())).oclIsUndefined() - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.8') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = 'SEV' and value.codeSystem = '2.16.840.1.113883.5.4') - - + + OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (not self.text.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in 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'))) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | element.oclIsTypeOf(datatypes::CD))) @@ -2640,42 +2640,42 @@ value.codeSystem = '2.16.840.1.113883.6.96' and (value.code = '255604002' or val This template represents the status of the allergy indicating whether it is active, no longer active, or is an historic allergy. There can be only one allergy status observation per alert observation. </p> - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.28') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '33999-4' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = element.oclAsType(datatypes::CE) in @@ -2708,40 +2708,40 @@ value.codeSystem = '2.16.840.1.113883.6.96' and (value.code = '55561003' or valu not self.text.reference.value.oclIsUndefined() implies not self.getSection().text.getText(self.text.reference.value.substring(2, self.text.reference.value.size())).oclIsUndefined() - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.64') - - + + OCL self.classCode=vocab::x_ActClassDocumentEntryAct::ACT - - + + OCL self.moodCode=vocab::x_DocumentActMood::EVN - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '48767-8' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (not self.text.oclIsUndefined()) - - + + OCL self.author->one(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(consol::AuthorParticipation)) @@ -2842,184 +2842,184 @@ Medication timing is complex. This template requires that there be a substanceAd not self.rateQuantity.oclIsUndefined() implies self.rateQuantity.oclAsType(datatypes::PQ).unit->size() = 1 - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.16') - - + + OCL self.classCode=vocab::ActClass::SBADM - - + + OCL not self.moodCode.oclIsUndefined() and self.moodCode.oclIsKindOf(vocab::x_DocumentSubstanceMood) and let value : vocab::x_DocumentSubstanceMood = self.moodCode.oclAsType(vocab::x_DocumentSubstanceMood) in value = vocab::x_DocumentSubstanceMood::EVN or value = vocab::x_DocumentSubstanceMood::INT - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.routeCode.oclIsUndefined() or self.routeCode.isNullFlavorUndefined()) implies (not self.routeCode.oclIsUndefined()) - - + + OCL (self.routeCode.oclIsUndefined() or self.routeCode.isNullFlavorUndefined()) implies (not self.routeCode.oclIsUndefined() and self.routeCode.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.routeCode.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.3.26.1.1' and not value.code.oclIsUndefined()) - - + + OCL (self.approachSiteCode->isEmpty() or self.approachSiteCode->exists(element | element.isNullFlavorUndefined())) implies (self.approachSiteCode->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined())) - - + + OCL (self.approachSiteCode->isEmpty() or self.approachSiteCode->exists(element | element.isNullFlavorUndefined())) implies (( not self.approachSiteCode->isEmpty()) ) - - + + OCL (self.doseQuantity.oclIsUndefined() or self.doseQuantity.isNullFlavorUndefined()) implies (not self.doseQuantity.oclIsUndefined()) - - + + OCL (self.rateQuantity.oclIsUndefined() or self.rateQuantity.isNullFlavorUndefined()) implies (not self.rateQuantity.oclIsUndefined()) - - + + OCL (self.maxDoseQuantity.oclIsUndefined() or self.maxDoseQuantity.isNullFlavorUndefined()) implies (not self.maxDoseQuantity.oclIsUndefined()) - - + + OCL (self.administrationUnitCode.oclIsUndefined() or self.administrationUnitCode.isNullFlavorUndefined()) implies (not self.administrationUnitCode.oclIsUndefined()) - - + + OCL (self.administrationUnitCode.oclIsUndefined() or self.administrationUnitCode.isNullFlavorUndefined()) implies (not self.administrationUnitCode.oclIsUndefined() and self.administrationUnitCode.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.administrationUnitCode.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.3.26.1.1' and (value.code = 'C42887' or value.code = 'C42888' or value.code = 'C42960' or value.code = 'C42971' or value.code = 'C42889' or value.code = 'C42892' or value.code = 'C42890' or value.code = 'C43451' or value.code = 'C42891' or value.code = 'C25158' or value.code = 'C42895' or value.code = 'C42896' or value.code = 'C42917' or value.code = 'C42902' or value.code = 'C42904' or value.code = 'C42916' or value.code = 'C42928' or value.code = 'C42936' or value.code = 'C42954' or value.code = 'C45414' or value.code = 'C42678' or value.code = 'C60884' or value.code = 'C60891' or value.code = 'C42900' or value.code = 'C42919' or value.code = 'C28944' or value.code = 'C60897' or value.code = 'C42901' or value.code = 'C45415' or value.code = 'C47890' or value.code = 'C43525' or value.code = 'C42679' or value.code = 'C42763' or value.code = 'C17423' or value.code = 'C42912' or value.code = 'C42913' or value.code = 'C42915' or value.code = 'C42929' or value.code = 'C60926' or value.code = 'C42932' or value.code = 'C42920' or value.code = 'C42984' or value.code = 'C60927' or value.code = 'C60928' or value.code = 'C60929' or value.code = 'C42933' or value.code = 'C42934' or value.code = 'C42906' or value.code = 'C60930' or value.code = 'C48193' or value.code = 'C42937' or value.code = 'C45416' or value.code = 'C42938' or value.code = 'C42903' or value.code = 'C42909' or value.code = 'C42939' or value.code = 'C42940' or value.code = 'C42921' or value.code = 'C42941' or value.code = 'C42894' or value.code = 'C42978' or value.code = 'C42942' or value.code = 'C42944' or value.code = 'C60931' or value.code = 'C42946' or value.code = 'C42914' or value.code = 'C42950' or value.code = 'C42974' or value.code = 'C42976' or value.code = 'C42977' or value.code = 'C42959' or value.code = 'C42957' or value.code = 'C42958' or value.code = 'C42956' or value.code = 'C42945' or value.code = 'C42899' or value.code = 'C42995' or value.code = 'C42926' or value.code = 'C42951' or value.code = 'C42988' or value.code = 'C60933' or value.code = 'C42922' or value.code = 'C47915' or value.code = 'C42947' or value.code = 'C42948' or value.code = 'C47916' or value.code = 'C45413' or value.code = 'C42949' or value.code = 'C42952' or value.code = 'C42953' or value.code = 'C60934' or value.code = 'C29167' or value.code = 'C60957' or value.code = 'C60958' or value.code = 'C42955' or value.code = 'C29269' or value.code = 'C42965' or value.code = 'C42966' or value.code = 'C60984' or value.code = 'C47887' or value.code = 'C42967' or value.code = 'C42907' or value.code = 'C60985' or value.code = 'C42968' or value.code = 'C42923' or value.code = 'C42911' or value.code = 'C42969' or value.code = 'C42943' or value.code = 'C42918' or value.code = 'C25394' or value.code = 'C42970' or value.code = 'C47913' or value.code = 'C42972' or value.code = 'C42908' or value.code = 'C42973' or value.code = 'C42975' or value.code = 'C42961' or value.code = 'C60988' or value.code = 'C42979' or value.code = 'C42980' or value.code = 'C42981' or value.code = 'C42982' or value.code = 'C42983' or value.code = 'C42986' or value.code = 'C42898' or value.code = 'C42987' or value.code = 'C60994' or value.code = 'C42935' or value.code = 'C60992' or value.code = 'C47912' or value.code = 'C42989' or value.code = 'C42962' or value.code = 'C42990' or value.code = 'C42991' or value.code = 'C47914' or value.code = 'C42993' or value.code = 'C42924' or value.code = 'C42994' or value.code = 'C42925' or value.code = 'C60995' or value.code = 'C47889' or value.code = 'C47898' or value.code = 'C42996' or value.code = 'C42998' or value.code = 'C42893' or value.code = 'C42897' or value.code = 'C60997' or value.code = 'C42905' or value.code = 'C42997' or value.code = 'C42910' or value.code = 'C42927' or value.code = 'C42931' or value.code = 'C42930' or value.code = 'C61004' or value.code = 'C61005' or value.code = 'C42964' or value.code = 'C42963' or value.code = 'C42999' or value.code = 'C61006' or value.code = 'C42985' or value.code = 'C42992' or value.code = 'C47892' or value.code = 'C47897' or value.code = 'C43000' or value.code = 'C43001' or value.code = 'C43002' or value.code = 'C43003')) - - + + OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (not self.text.oclIsUndefined()) - - + + OCL (self.repeatNumber.oclIsUndefined() or self.repeatNumber.isNullFlavorUndefined()) implies (not self.repeatNumber.oclIsUndefined()) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.supply.oclIsUndefined() and entryRelationship.supply.oclIsKindOf(consol::MedicationSupplyOrder) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::ReactionObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::CAUS) - - + + OCL self.performer->one(performer : cda::Performer2 | not performer.oclIsUndefined() and performer.oclIsKindOf(rim::Participation)) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::Instructions) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::Indication) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::RSON) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.supply.oclIsUndefined() and entryRelationship.supply.oclIsKindOf(consol::MedicationDispense) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.participant->exists(participant : cda::Participant2 | not participant.participantRole.oclIsUndefined() and participant.participantRole.oclIsKindOf(consol::DrugVehicle)) - - + + OCL self.consumable->one(consumable : cda::Consumable | not consumable.oclIsUndefined() and consumable.oclIsKindOf(cda::Consumable)) - - + + OCL self.precondition->exists(precondition : cda::Precondition | not precondition.oclIsUndefined() and precondition.oclIsKindOf(cda::Precondition)) - - + + OCL self.consumable->excluding(null)->reject(manufacturedProduct->one(manufacturedProduct : cda::ManufacturedProduct | not manufacturedProduct.oclIsUndefined() and manufacturedProduct.oclIsKindOf(consol::MedicationInformation))) - - + + OCL self.precondition->excluding(null)->reject(isDefined('typeCode') and typeCode=vocab::ActRelationshipType::PRCN) - - + + OCL self.precondition->excluding(null)->reject(criterion->one(criterion : cda::Criterion | not criterion.oclIsUndefined() and criterion.oclIsKindOf(consol::PreconditionForSubstanceAdministration))) @@ -3027,70 +3027,70 @@ value.codeSystem = '2.16.840.1.113883.3.26.1.1' and (value.code = 'C42887' or va - - - + + + OCL self.getSupplies()->select(supply : cda::Supply | not supply.oclIsUndefined() and supply.oclIsKindOf(consol::MedicationSupplyOrder))->asSequence()->any(true).oclAsType(consol::MedicationSupplyOrder) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ReactionObservation))->asSequence()->any(true).oclAsType(consol::ReactionObservation) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::Instructions))->asSequence()->any(true).oclAsType(consol::Instructions) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::Indication)).oclAsType(consol::Indication) - - + + - - - + + + OCL self.getSupplies()->select(supply : cda::Supply | not supply.oclIsUndefined() and supply.oclIsKindOf(consol::MedicationDispense)).oclAsType(consol::MedicationDispense) - - + + - - - + + + OCL self.getParticipantRoles()->select(participantRole : cda::ParticipantRole | not participantRole.oclIsUndefined() and participantRole.oclIsKindOf(consol::DrugVehicle)).oclAsType(consol::DrugVehicle) - - + + @@ -3100,44 +3100,44 @@ value.codeSystem = '2.16.840.1.113883.3.26.1.1' and (value.code = 'C42887' or va The FDA Amendments Act specifies the creation of a Unique Device Identification (UDI) System that requires the label of devices to bear a unique identifier that will standardize device identification and identify the device through distribution and use. The UDI should be sent in the participantRole/id. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.37') - - + + OCL isDefined('classCode') and self.classCode=vocab::RoleClassRoot::MANU - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL self.scopingEntity->one(scopingEntity : cda::Entity | not scopingEntity.oclIsUndefined() and scopingEntity.oclIsKindOf(cda::Entity)) - - + + OCL self.playingDevice->one(playingDevice : cda::Device | not playingDevice.oclIsUndefined() and playingDevice.oclIsKindOf(cda::Device)) - - + + OCL self.scopingEntity->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (( not id->isEmpty()) )) - - + + OCL self.playingDevice->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) @@ -3168,46 +3168,46 @@ The UDI should be sent in the participantRole/id. not self.text.reference.value.oclIsUndefined() implies not self.getSection().text.getText(self.text.reference.value.substring(2, self.text.reference.value.size())).oclIsUndefined() - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.20') - - + + OCL self.classCode=vocab::x_ActClassDocumentEntryAct::ACT - - + + OCL self.moodCode=vocab::x_DocumentActMood::INT - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined()) - - + + OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (not self.text.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in @@ -3234,52 +3234,52 @@ value.code = 'completed') self.participant->select(par : cda::Participant2 | par.participantRole.oclIsKindOf(consol::ProductInstance))->forAll(p : cda::Participant2 | p.typeCode=vocab::ParticipationType::PRD) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.50') - - + + OCL self.classCode=vocab::ActClassSupply::SPLY - - + + OCL not self.moodCode.oclIsUndefined() and self.moodCode.oclIsKindOf(vocab::x_DocumentSubstanceMood) and let value : vocab::x_DocumentSubstanceMood = self.moodCode.oclAsType(vocab::x_DocumentSubstanceMood) in value = vocab::x_DocumentSubstanceMood::EVN or value = vocab::x_DocumentSubstanceMood::INT - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.effectiveTime->isEmpty() or self.effectiveTime->exists(element | element.isNullFlavorUndefined())) implies (( not self.effectiveTime->isEmpty()) ) - - + + OCL (self.quantity.oclIsUndefined() or self.quantity.isNullFlavorUndefined()) implies (not self.quantity.oclIsUndefined()) - - + + OCL self.participant->one(participant : cda::Participant2 | not participant.participantRole.oclIsUndefined() and participant.participantRole.oclIsKindOf(consol::ProductInstance)) @@ -3287,15 +3287,15 @@ value = vocab::x_DocumentSubstanceMood::EVN or value = vocab::x_DocumentSubstanc - - - + + + OCL self.getParticipantRoles()->select(participantRole : cda::ParticipantRole | not participantRole.oclIsUndefined() and participantRole.oclIsKindOf(consol::ProductInstance))->asSequence()->any(true).oclAsType(consol::ProductInstance) - - + + @@ -3325,60 +3325,60 @@ Many systems display the nested Problem Observation with the most recent author not self.effectiveTime.high.oclIsUndefined() - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.3') - - + + OCL self.classCode=vocab::x_ActClassDocumentEntryAct::ACT - - + + OCL self.moodCode=vocab::x_DocumentActMood::EVN - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = 'CONC' and value.codeSystem = '2.16.840.1.113883.5.6') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'active' or value.code = 'suspended' or value.code = 'aborted' or value.code = 'completed') - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::ProblemObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ) @@ -3386,15 +3386,15 @@ value.code = 'active' or value.code = 'suspended' or value.code = 'aborted' or v - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ProblemObservation)).oclAsType(consol::ProblemObservation) - - + + @@ -3404,384 +3404,384 @@ value.code = 'active' or value.code = 'suspended' or value.code = 'aborted' or v The CCD is a core data set of the most relevant administrative, demographic, and clinical information facts about a patient's healthcare, covering one or more healthcare encounters. It provides a means for one healthcare practitioner, system, or setting to aggregate all of the pertinent data about a patient and forward it to another practitioner, system, or setting to support the continuity of care. The primary use case for the CCD is to provide a snapshot in time containing the pertinent clinical, demographic, and administrative data for a specific patient . More specific use cases, such as a Discharge Summary or Progress Note, are available as alternative documents in this guide. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.1.2') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '34133-9' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.languageCode.oclIsUndefined() or self.languageCode.isNullFlavorUndefined()) implies (not self.languageCode.oclIsUndefined()) - - + + OCL self.documentationOf->one(documentationOf : cda::DocumentationOf | not documentationOf.oclIsUndefined() and documentationOf.oclIsKindOf(cda::DocumentationOf)) - - + + OCL self.author->exists(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(cda::Author)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AllergiesSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MedicationsSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProblemSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProceduresSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ResultsSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AdvanceDirectivesSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::EncountersSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::FamilyHistorySection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::FunctionalStatusSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ImmunizationsSectionEntriesOptional)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MedicalEquipmentSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PayersSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PlanOfCareSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::SocialHistorySection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::VitalSignsSectionEntriesOptional)) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((high.oclIsUndefined() or high.isNullFlavorUndefined()) implies (not high.oclIsUndefined()) ))) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((low.oclIsUndefined() or low.isNullFlavorUndefined()) implies (not low.oclIsUndefined()) ))) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null)->select(typeCode = vocab::x_ServiceEventPerformer::PRF).assignedEntity->excluding(null)->reject(id->exists(root='2.16.840.1.113883.4.6')) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null)->select(typeCode = vocab::x_ServiceEventPerformer::PRF).assignedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = code.oclAsType(datatypes::CE) in not value.codeSystem.oclIsUndefined() or not value.codeSystemName.oclIsUndefined())) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null)->select(typeCode = vocab::x_ServiceEventPerformer::PRF).assignedEntity->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (not id->isEmpty())) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null)->select(typeCode = vocab::x_ServiceEventPerformer::PRF)->select(typeCode = vocab::x_ServiceEventPerformer::PRF)->reject(typeCode=vocab::x_ServiceEventPerformer::PRF) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null)->select(typeCode = vocab::x_ServiceEventPerformer::PRF)->select(typeCode = vocab::x_ServiceEventPerformer::PRF)->reject(assignedEntity->one(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(cda::AssignedEntity))) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject(isDefined('classCode') and classCode=vocab::ActClassRoot::PCPR) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject((effectiveTime.oclIsUndefined() or effectiveTime.isNullFlavorUndefined()) implies (not effectiveTime.oclIsUndefined())) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject(performer->select(performer : cda::Performer1 | not performer.oclIsUndefined() and performer.oclIsKindOf(cda::Performer1))->select(typeCode = vocab::x_ServiceEventPerformer::PRF)->notEmpty()) - - + + OCL self.documentationOf->excluding(null)->reject(serviceEvent->one(serviceEvent : cda::ServiceEvent | not serviceEvent.oclIsUndefined() and serviceEvent.oclIsKindOf(cda::ServiceEvent))) - - + + OCL self.author->excluding(null).assignedAuthor->excluding(null)->reject((not assignedPerson.oclIsUndefined()) or (not representedOrganization.oclIsUndefined())) - - + + OCL self.author->excluding(null).assignedAuthor->excluding(null)->reject((not representedOrganization.oclIsUndefined() and assignedPerson.oclIsUndefined() and assignedAuthoringDevice.oclIsUndefined()) implies id->exists(id | not id.isNullFlavorUndefined() and id.nullFlavor = vocab::NullFlavor::NA)) - - + + OCL self.author->excluding(null)->reject(assignedAuthor->one(assignedAuthor : cda::AssignedAuthor | not assignedAuthor.oclIsUndefined() and assignedAuthor.oclIsKindOf(cda::AssignedAuthor))) - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AllergiesSection))->asSequence()->any(true).oclAsType(consol::AllergiesSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MedicationsSection))->asSequence()->any(true).oclAsType(consol::MedicationsSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProblemSection))->asSequence()->any(true).oclAsType(consol::ProblemSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProceduresSection))->asSequence()->any(true).oclAsType(consol::ProceduresSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ResultsSection))->asSequence()->any(true).oclAsType(consol::ResultsSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AdvanceDirectivesSection))->asSequence()->any(true).oclAsType(consol::AdvanceDirectivesSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::EncountersSection))->asSequence()->any(true).oclAsType(consol::EncountersSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::FamilyHistorySection))->asSequence()->any(true).oclAsType(consol::FamilyHistorySection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::FunctionalStatusSection))->asSequence()->any(true).oclAsType(consol::FunctionalStatusSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ImmunizationsSectionEntriesOptional))->asSequence()->any(true).oclAsType(consol::ImmunizationsSectionEntriesOptional) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MedicalEquipmentSection))->asSequence()->any(true).oclAsType(consol::MedicalEquipmentSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PayersSection))->asSequence()->any(true).oclAsType(consol::PayersSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PlanOfCareSection))->asSequence()->any(true).oclAsType(consol::PlanOfCareSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::SocialHistorySection))->asSequence()->any(true).oclAsType(consol::SocialHistorySection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::VitalSignsSectionEntriesOptional))->asSequence()->any(true).oclAsType(consol::VitalSignsSectionEntriesOptional) - - + + @@ -3789,40 +3789,40 @@ not value.codeSystem.oclIsUndefined() or not value.codeSystemName.oclIsUndefined This section contains data defining the patient's genetic relatives in terms of possible or relevant health risk factors that have a potential impact on the patient's healthcare risk profile. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.15') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '10157-6' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.organizer.oclIsUndefined() and entry.organizer.oclIsKindOf(consol::FamilyHistoryOrganizer)) @@ -3830,15 +3830,15 @@ value.code = '10157-6' and value.codeSystem = '2.16.840.1.113883.6.1') - - - + + + OCL self.getOrganizers()->select(organizer : cda::Organizer | not organizer.oclIsUndefined() and organizer.oclIsKindOf(consol::FamilyHistoryOrganizer)).oclAsType(consol::FamilyHistoryOrganizer) - - + + @@ -3846,116 +3846,116 @@ value.code = '10157-6' and value.codeSystem = '2.16.840.1.113883.6.1') The Family History Oranizer associates a set of observations with a family member. For example, the Family History Organizer can group a set of observations about the patient's father. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.45') - - + + OCL self.classCode=vocab::x_ActClassDocumentEntryOrganizer::CLUSTER - - + + OCL self.moodCode=vocab::ActMood::EVN - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL self.component->exists(component : cda::Component4 | not component.observation.oclIsUndefined() and component.observation.oclIsKindOf(consol::FamilyHistoryObservation)) - - + + OCL self.subject->one(subject : cda::Subject | not subject.oclIsUndefined() and subject.oclIsKindOf(cda::Subject)) - - + + OCL self.subject->excluding(null).relatedSubject->excluding(null).subject->excluding(null)->reject((administrativeGenderCode.oclIsUndefined() or administrativeGenderCode.isNullFlavorUndefined()) implies (not administrativeGenderCode.oclIsUndefined() and administrativeGenderCode.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = administrativeGenderCode.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.5.1' and (value.code = 'F' or value.code = 'M' or value.code = 'UN'))) - - + + OCL self.subject->excluding(null).relatedSubject->excluding(null).subject->excluding(null)->reject((administrativeGenderCode.oclIsUndefined() or administrativeGenderCode.isNullFlavorUndefined()) implies (not administrativeGenderCode.oclIsUndefined())) - - + + OCL self.subject->excluding(null).relatedSubject->excluding(null).subject->excluding(null)->reject((birthTime.oclIsUndefined() or birthTime.isNullFlavorUndefined()) implies (not birthTime.oclIsUndefined())) - - + + OCL self.subject->excluding(null).relatedSubject->excluding(null).subject->excluding(null)->reject((sDTCDeceasedInd.oclIsUndefined() or sDTCDeceasedInd.isNullFlavorUndefined()) implies (not sDTCDeceasedInd.oclIsUndefined())) - - + + OCL self.subject->excluding(null).relatedSubject->excluding(null).subject->excluding(null)->reject((sDTCDeceasedTime.oclIsUndefined() or sDTCDeceasedTime.isNullFlavorUndefined()) implies (not sDTCDeceasedTime.oclIsUndefined())) - - + + OCL self.subject->excluding(null).relatedSubject->excluding(null).subject->excluding(null)->reject((sDTCId->isEmpty() or sDTCId->exists(element | element.isNullFlavorUndefined())) implies (not sDTCId->isEmpty())) - - + + OCL self.subject->excluding(null).relatedSubject->excluding(null)->reject(isDefined('classCode') and classCode=vocab::x_DocumentSubject::PRS) - - + + OCL self.subject->excluding(null).relatedSubject->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = code.oclAsType(datatypes::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'))) - - + + OCL self.subject->excluding(null).relatedSubject->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.subject->excluding(null).relatedSubject->excluding(null)->reject(subject->one(subject : cda::SubjectPerson | not subject.oclIsUndefined() and subject.oclIsKindOf(cda::SubjectPerson))) - - + + OCL self.subject->excluding(null)->reject(relatedSubject->one(relatedSubject : cda::RelatedSubject | not relatedSubject.oclIsUndefined() and relatedSubject.oclIsKindOf(cda::RelatedSubject))) @@ -3963,15 +3963,15 @@ value.codeSystem = '2.16.840.1.113883.5.111' and (value.code = 'ADOPT' or value. - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::FamilyHistoryObservation)).oclAsType(consol::FamilyHistoryObservation) - - + + @@ -3985,80 +3985,80 @@ value.codeSystem = '2.16.840.1.113883.5.111' and (value.code = 'ADOPT' or value. self.entryRelationship->forAll(ent : cda::EntryRelationship | ent.observation.oclIsTypeOf(consol::AgeObservation) implies ent.inversionInd=true) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.46') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in 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')) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined())) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::AgeObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::FamilyHistoryDeathObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::CAUS) @@ -4066,26 +4066,26 @@ value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined()) - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::AgeObservation))->asSequence()->any(true).oclAsType(consol::AgeObservation) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::FamilyHistoryDeathObservation))->asSequence()->any(true).oclAsType(consol::FamilyHistoryDeathObservation) - - + + @@ -4093,58 +4093,58 @@ value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined()) This section contains data defining the patient's occupational, personal (e.g. lifestyle), social, and environmental history and health risk factors, as well as administrative data such as marital status, race, ethnicity and religious affiliation. Social history can have significant influence on a patient's physical, psychological and emotional health and wellbeing so should be considered in the development of a complete record. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.17') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '29762-2' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::SocialHistoryObservation)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::PregnancyObservation)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::SmokingStatusObservation)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::TobaccoUse)) @@ -4152,48 +4152,48 @@ value.code = '29762-2' and value.codeSystem = '2.16.840.1.113883.6.1') - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::SocialHistoryObservation)).oclAsType(consol::SocialHistoryObservation) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::PregnancyObservation)).oclAsType(consol::PregnancyObservation) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::SmokingStatusObservation)).oclAsType(consol::SmokingStatusObservation) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::TobaccoUse)).oclAsType(consol::TobaccoUse) - - + + @@ -4219,54 +4219,54 @@ value.code = '29762-2' and value.codeSystem = '2.16.840.1.113883.6.1') not self.code.originalText.reference.value.oclIsUndefined() implies not self.getSection().text.getText(self.code.originalText.reference.value.substring(2, self.code.originalText.reference.value.size())).oclIsUndefined() - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.38') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in 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' or value.code = '302160007' or value.code = '423514004' or value.code = '102487004' or value.code = '424483007' or value.code = '442133001' or value.code = '446996006')) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (( not self.value->isEmpty()) ) @@ -4282,40 +4282,40 @@ Laboratory results are typically generated by laboratories providing analytic se Imaging results are typically generated by a clinician reviewing the output of an imaging procedure, such as where a cardiologist reports the left ventricular ejection fraction based on the review of a cardiac echocardiogram. Procedure results are typically generated by a clinician to provide more granular information about component observations made during a procedure, such as where a gastroenterologist reports the size of a polyp observed during a colonoscopy. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.3.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '30954-2' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.organizer.oclIsUndefined() and entry.organizer.oclIsKindOf(consol::ResultOrganizer)) @@ -4325,15 +4325,15 @@ value.code = '30954-2' and value.codeSystem = '2.16.840.1.113883.6.1') couple - - - + + + OCL self.getOrganizers()->select(organizer : cda::Organizer | not organizer.oclIsUndefined() and organizer.oclIsKindOf(consol::ResultOrganizer)).oclAsType(consol::ResultOrganizer) - - + + @@ -4363,52 +4363,52 @@ If any Results Observation within the organizer has a statusCode of 'active', th self.isClassCodeDefined() and (self.classCode = vocab::x_ActClassDocumentEntryOrganizer::CLUSTER or self.classCode = vocab::x_ActClassDocumentEntryOrganizer::BATTERY) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.1') - - + + OCL isDefined('classCode') - - + + OCL self.moodCode=vocab::ActMood::EVN - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'aborted' or value.code = 'active' or value.code = 'cancelled' or value.code = 'completed' or value.code = 'held' or value.code = 'suspended') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL self.component->exists(component : cda::Component4 | not component.observation.oclIsUndefined() and component.observation.oclIsKindOf(consol::ResultObservation)) @@ -4416,15 +4416,15 @@ value.code = 'aborted' or value.code = 'active' or value.code = 'cancelled' or v - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ResultObservation)).oclAsType(consol::ResultObservation) - - + + @@ -4472,82 +4472,82 @@ The result observation includes a statusCode to allow recording the status of an self.author->size()<2 - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.2') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (not self.text.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'aborted' or value.code = 'active' or value.code = 'cancelled' or value.code = 'completed' or value.code = 'held' or value.code = 'suspended') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1) - - + + OCL (self.interpretationCode->isEmpty() or self.interpretationCode->exists(element | element.isNullFlavorUndefined())) implies (not self.interpretationCode->isEmpty()) - - + + OCL (self.methodCode->isEmpty() or self.methodCode->exists(element | element.isNullFlavorUndefined())) implies (( not self.methodCode->isEmpty()) ) - - + + OCL (self.targetSiteCode->isEmpty() or self.targetSiteCode->exists(element | element.isNullFlavorUndefined())) implies (( not self.targetSiteCode->isEmpty()) and self.targetSiteCode->forAll(element | element.oclIsTypeOf(datatypes::CE))) @@ -4560,40 +4560,40 @@ value.code = 'aborted' or value.code = 'active' or value.code = 'cancelled' or v The Medical Equipment section defines a patient's implanted and external medical devices and equipment that their health status depends on, as well as any pertinent equipment or device history. This section is also used to itemize any pertinent current or historical durable medical equipment (DME) used to help maintain the patient's health status. All pertinent equipment relevant to the diagnosis, care, and treatment of a patient should be included. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.23') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '46264-8' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.supply.oclIsUndefined() and entry.supply.oclIsKindOf(consol::NonMedicinalSupplyActivity)) @@ -4601,15 +4601,15 @@ value.code = '46264-8' and value.codeSystem = '2.16.840.1.113883.6.1') - - - + + + OCL self.getSupplies()->select(supply : cda::Supply | not supply.oclIsUndefined() and supply.oclIsKindOf(consol::NonMedicinalSupplyActivity)).oclAsType(consol::NonMedicinalSupplyActivity) - - + + @@ -4639,100 +4639,100 @@ Safety hazards at work, such as communicable diseases, excessive heat, excessive The patient's functional status may be expressed as a problem or as a result observation. A functional or cognitive status problem observation describes a patient's problem, symptoms or condition. A functional or cognitive status result observation may include observations resulting from an assessment scale, evaluation or question and answer assessment. Any deviation from normal function displayed by the patient and recorded in the record should be included. Of particular interest are those limitations that would interfere with self-care or the medical therapeutic process in any way. In addition, a note of normal function, an improvement, or a change in functioning status may be included. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.14') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '47420-5' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.organizer.oclIsUndefined() and entry.organizer.oclIsKindOf(consol::FunctionalStatusResultOrganizer)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.organizer.oclIsUndefined() and entry.organizer.oclIsKindOf(consol::CognitiveStatusResultOrganizer)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::FunctionalStatusResultObservation)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::CognitiveStatusResultObservation)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::FunctionalStatusProblemObservation)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::CognitiveStatusProblemObservation)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::CaregiverCharacteristics)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::AssessmentScaleObservation)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.supply.oclIsUndefined() and entry.supply.oclIsKindOf(consol::NonMedicinalSupplyActivity)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::PressureUlcerObservation)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::NumberOfPressureUlcersObservation)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::HighestPressureUlcerStage)) @@ -4740,174 +4740,174 @@ value.code = '47420-5' and value.codeSystem = '2.16.840.1.113883.6.1') - - - + + + OCL self.getOrganizers()->select(organizer : cda::Organizer | not organizer.oclIsUndefined() and organizer.oclIsKindOf(consol::FunctionalStatusResultOrganizer)).oclAsType(consol::FunctionalStatusResultOrganizer) - - + + - - - + + + OCL self.getOrganizers()->select(organizer : cda::Organizer | not organizer.oclIsUndefined() and organizer.oclIsKindOf(consol::CognitiveStatusResultOrganizer)).oclAsType(consol::CognitiveStatusResultOrganizer) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::FunctionalStatusResultObservation)).oclAsType(consol::FunctionalStatusResultObservation) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::CognitiveStatusResultObservation)).oclAsType(consol::CognitiveStatusResultObservation) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::FunctionalStatusProblemObservation)).oclAsType(consol::FunctionalStatusProblemObservation) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::CognitiveStatusProblemObservation)).oclAsType(consol::CognitiveStatusProblemObservation) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::CaregiverCharacteristics)).oclAsType(consol::CaregiverCharacteristics) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::AssessmentScaleObservation)).oclAsType(consol::AssessmentScaleObservation) - - + + - - - + + + OCL self.getSupplies()->select(supply : cda::Supply | not supply.oclIsUndefined() and supply.oclIsKindOf(consol::NonMedicinalSupplyActivity)).oclAsType(consol::NonMedicinalSupplyActivity) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::PressureUlcerObservation)).oclAsType(consol::PressureUlcerObservation) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::NumberOfPressureUlcersObservation)).oclAsType(consol::NumberOfPressureUlcersObservation) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::HighestPressureUlcerStage)).oclAsType(consol::HighestPressureUlcerStage) - - + + - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.21.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '42348-3' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::AdvanceDirectiveObservation)) @@ -4917,15 +4917,15 @@ value.code = '42348-3' and value.codeSystem = '2.16.840.1.113883.6.1') couple - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::AdvanceDirectiveObservation)).oclAsType(consol::AdvanceDirectiveObservation) - - + + @@ -4945,170 +4945,170 @@ value.code = '42348-3' and value.codeSystem = '2.16.840.1.113883.6.1') self.effectiveTime.high.hasContent() or self.effectiveTime.high.isNullFlavorDefined() - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.48') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in 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')) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL self.participant->select(participant : cda::Participant2 | not participant.oclIsUndefined() and participant.oclIsKindOf(cda::Participant2))->select(typeCode=vocab::ParticipationType::VRF)->notEmpty() - - + + OCL self.participant->select(participant : cda::Participant2 | not participant.oclIsUndefined() and participant.oclIsKindOf(cda::Participant2))->select(typeCode=vocab::ParticipationType::CST)->size() = 1 - - + + OCL self.reference->exists(reference : cda::Reference | not reference.oclIsUndefined() and reference.oclIsKindOf(cda::Reference)) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::VRF)->select(typeCode=vocab::ParticipationType::VRF)->reject((time.oclIsUndefined() or time.isNullFlavorUndefined()) implies (not time.oclIsUndefined())) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::VRF)->select(typeCode=vocab::ParticipationType::VRF)->reject(isDefined('typeCode')) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::VRF)->select(typeCode=vocab::ParticipationType::VRF)->reject(participantRole->one(participantRole : cda::ParticipantRole | not participantRole.oclIsUndefined() and participantRole.oclIsKindOf(rim::Role))) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::CST).participantRole->excluding(null).playingEntity->excluding(null)->reject((name->isEmpty() or name->exists(element | element.isNullFlavorUndefined())) implies (( not name->isEmpty()) )) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::CST).participantRole->excluding(null)->reject((addr->isEmpty() or addr->exists(element | element.isNullFlavorUndefined())) implies (( not addr->isEmpty()) )) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::CST).participantRole->excluding(null)->reject(isDefined('classCode') and classCode=vocab::RoleClassRoot::AGNT) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::CST).participantRole->excluding(null)->reject((telecom->isEmpty() or telecom->exists(element | element.isNullFlavorUndefined())) implies (( not telecom->isEmpty()) )) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::CST).participantRole->excluding(null)->reject(playingEntity->one(playingEntity : cda::PlayingEntity | not playingEntity.oclIsUndefined() and playingEntity.oclIsKindOf(cda::PlayingEntity))) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::CST)->select(typeCode=vocab::ParticipationType::CST)->reject(typeCode=vocab::ParticipationType::CST) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::CST)->select(typeCode=vocab::ParticipationType::CST)->reject(participantRole->one(participantRole : cda::ParticipantRole | not participantRole.oclIsUndefined() and participantRole.oclIsKindOf(cda::ParticipantRole))) - - + + OCL self.reference->excluding(null).externalDocument->excluding(null)->reject(not text.mediaType.oclIsUndefined()) - - + + OCL self.reference->excluding(null).externalDocument->excluding(null)->reject(not text.oclIsUndefined() implies not text.reference.oclIsUndefined()) - - + + OCL self.reference->excluding(null).externalDocument->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (( not id->isEmpty()) )) - - + + OCL self.reference->excluding(null).externalDocument->excluding(null)->reject((text.oclIsUndefined() or text.isNullFlavorUndefined()) implies (not text.oclIsUndefined())) - - + + OCL self.reference->excluding(null)->reject(not typeCode.oclIsUndefined() and typeCode.oclIsKindOf(vocab::x_ActRelationshipExternalReference) and let value : vocab::x_ActRelationshipExternalReference = typeCode.oclAsType(vocab::x_ActRelationshipExternalReference) in value = vocab::x_ActRelationshipExternalReference::REFR) - - + + OCL self.reference->excluding(null)->reject(externalDocument->one(externalDocument : cda::ExternalDocument | not externalDocument.oclIsUndefined() and externalDocument.oclIsKindOf(cda::ExternalDocument))) @@ -5121,40 +5121,40 @@ value = vocab::x_ActRelationshipExternalReference::REFR) This section lists and describes any medication allergies, adverse reactions, idiosyncratic reactions, anaphylaxis/anaphylactoid reactions to food items, and metabolic variations or adverse reactions/allergies to other substances (such as latex, iodine, tape adhesives) used to assure the safety of health care delivery. At a minimum, it should list currently active and any relevant historical allergies and adverse reactions. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '48765-2' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::AllergyProblemAct)) @@ -5164,15 +5164,15 @@ value.code = '48765-2' and value.codeSystem = '2.16.840.1.113883.6.1') couple - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::AllergyProblemAct)).oclAsType(consol::AllergyProblemAct) - - + + @@ -5180,40 +5180,40 @@ value.code = '48765-2' and value.codeSystem = '2.16.840.1.113883.6.1') This section lists and describes all relevant clinical problems at the time the document is generated. At a minimum, all pertinent current and historical problems should be listed. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.5.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '11450-4' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL not self.text.oclIsUndefined() - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::ProblemConcernAct)) @@ -5223,15 +5223,15 @@ value.code = '11450-4' and value.codeSystem = '2.16.840.1.113883.6.1') couple - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::ProblemConcernAct)).oclAsType(consol::ProblemConcernAct) - - + + @@ -5239,40 +5239,40 @@ value.code = '11450-4' and value.codeSystem = '2.16.840.1.113883.6.1') This section lists and describes any healthcare encounters pertinent to the patient's current health status or historical health history. An Encounter is an interaction, regardless of the setting, between a patient and a practitioner who is vested with primary responsibility for diagnosing, evaluating, or treating the patient's condition. It may include visits, appointments, as well as non face-to-face interactions. It is also a contact between a patient and a practitioner who has primary responsibility for assessing and treating the patient at a given contact, exercising independent judgment. This section may contain all encounters for the time period being summarized, but should include notable encounters. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.22.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '46240-8' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL not self.text.oclIsUndefined() - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.encounter.oclIsUndefined() and entry.encounter.oclIsKindOf(consol::EncounterActivities)) @@ -5282,15 +5282,15 @@ value.code = '46240-8' and value.codeSystem = '2.16.840.1.113883.6.1') couple - - - + + + OCL self.getEncounters()->select(encounter : cda::Encounter | not encounter.oclIsUndefined() and encounter.oclIsKindOf(consol::EncounterActivities)).oclAsType(consol::EncounterActivities) - - + + @@ -5337,82 +5337,82 @@ value.code = '46240-8' and value.codeSystem = '2.16.840.1.113883.6.1') (self.sDTCDischargeDispositionCode->isEmpty() or self.sDTCDischargeDispositionCode->exists(element | element.isNullFlavorUndefined())) implies (self.sDTCDischargeDispositionCode->forAll( element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = element.oclAsType(datatypes::CE) in (value.codeSystem = '2.16.840.1.113883.6.301.5' or value.codeSystem = '2.16.840.1.113883.12.112') and not value.code.oclIsUndefined())) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.49') - - + + OCL self.classCode=vocab::ActClass::ENC - - + + OCL self.moodCode=vocab::x_DocumentEncounterMood::EVN - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.12' and not value.code.oclIsUndefined()) - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL (self.sDTCDischargeDispositionCode->isEmpty() or self.sDTCDischargeDispositionCode->exists(element | element.isNullFlavorUndefined())) implies (( not self.sDTCDischargeDispositionCode->isEmpty()) ) - - + + OCL self.participant->exists(participant : cda::Participant2 | not participant.participantRole.oclIsUndefined() and participant.participantRole.oclIsKindOf(consol::ServiceDeliveryLocation)) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::Indication) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::RSON) - - + + OCL self.performer->exists(performer : cda::Performer2 | not performer.oclIsUndefined() and performer.oclIsKindOf(cda::Performer2)) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::EncounterDiagnosis)) - - + + OCL self.performer->excluding(null).assignedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.performer->excluding(null)->reject(assignedEntity->one(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(cda::AssignedEntity))) @@ -5420,37 +5420,37 @@ value.codeSystem = '2.16.840.1.113883.6.12' and not value.code.oclIsUndefined()) - - - + + + OCL self.getParticipantRoles()->select(participantRole : cda::ParticipantRole | not participantRole.oclIsUndefined() and participantRole.oclIsKindOf(consol::ServiceDeliveryLocation)).oclAsType(consol::ServiceDeliveryLocation) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::Indication)).oclAsType(consol::Indication) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::EncounterDiagnosis)).oclAsType(consol::EncounterDiagnosis) - - + + @@ -5473,34 +5473,34 @@ value.codeSystem = '2.16.840.1.113883.6.12' and not value.code.oclIsUndefined()) self.playingEntity->size()>0 implies self.playingEntity.name->size() = 1 - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.32') - - + + OCL isDefined('classCode') and self.classCode=vocab::RoleClassRoot::SDLOC - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.6.259' and not value.code.oclIsUndefined()) - - + + OCL (self.addr->isEmpty() or self.addr->exists(element | element.isNullFlavorUndefined())) implies (not self.addr->isEmpty()) - - + + OCL (self.telecom->isEmpty() or self.telecom->exists(element | element.isNullFlavorUndefined())) implies (not self.telecom->isEmpty()) @@ -5510,40 +5510,40 @@ value.codeSystem = '2.16.840.1.113883.6.259' and not value.code.oclIsUndefined() - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.2.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '11369-6' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.substanceAdministration.oclIsUndefined() and entry.substanceAdministration.oclIsKindOf(consol::ImmunizationActivity)) @@ -5553,15 +5553,15 @@ value.code = '11369-6' and value.codeSystem = '2.16.840.1.113883.6.1') couple - - - + + + OCL self.getSubstanceAdministrations()->select(substanceAdministration : cda::SubstanceAdministration | not substanceAdministration.oclIsUndefined() and substanceAdministration.oclIsKindOf(consol::ImmunizationActivity)).oclAsType(consol::ImmunizationActivity) - - + + @@ -5626,190 +5626,190 @@ value.code = '11369-6' and value.codeSystem = '2.16.840.1.113883.6.1') self.participant->select(par : cda::Participant2 | par.participantRole.oclIsKindOf(consol::DrugVehicle))->forAll(p : cda::Participant2 | p.typeCode=vocab::ParticipationType::CSM) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.52') - - + + OCL self.classCode=vocab::ActClass::SBADM - - + + OCL not self.moodCode.oclIsUndefined() and self.moodCode.oclIsKindOf(vocab::x_DocumentSubstanceMood) and let value : vocab::x_DocumentSubstanceMood = self.moodCode.oclAsType(vocab::x_DocumentSubstanceMood) in value = vocab::x_DocumentSubstanceMood::EVN or value = vocab::x_DocumentSubstanceMood::INT - - + + OCL not self.negationInd.oclIsUndefined() - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (not self.text.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.effectiveTime->isEmpty() or self.effectiveTime->exists(element | element.isNullFlavorUndefined())) implies (self.effectiveTime->size() = 1) - - + + OCL (self.repeatNumber.oclIsUndefined() or self.repeatNumber.isNullFlavorUndefined()) implies (not self.repeatNumber.oclIsUndefined()) - - + + OCL (self.routeCode.oclIsUndefined() or self.routeCode.isNullFlavorUndefined()) implies (not self.routeCode.oclIsUndefined()) - - + + OCL (self.routeCode.oclIsUndefined() or self.routeCode.isNullFlavorUndefined()) implies (not self.routeCode.oclIsUndefined() and self.routeCode.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.routeCode.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.3.26.1.1' and not value.code.oclIsUndefined()) - - + + OCL (self.approachSiteCode->isEmpty() or self.approachSiteCode->exists(element | element.isNullFlavorUndefined())) implies (self.approachSiteCode->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined())) - - + + OCL (self.approachSiteCode->isEmpty() or self.approachSiteCode->exists(element | element.isNullFlavorUndefined())) implies (( not self.approachSiteCode->isEmpty()) ) - - + + OCL (self.doseQuantity.oclIsUndefined() or self.doseQuantity.isNullFlavorUndefined()) implies (not self.doseQuantity.oclIsUndefined()) - - + + OCL (self.administrationUnitCode.oclIsUndefined() or self.administrationUnitCode.isNullFlavorUndefined()) implies (not self.administrationUnitCode.oclIsUndefined()) - - + + OCL (self.administrationUnitCode.oclIsUndefined() or self.administrationUnitCode.isNullFlavorUndefined()) implies (not self.administrationUnitCode.oclIsUndefined() and self.administrationUnitCode.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.administrationUnitCode.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.3.26.1.1' and (value.code = 'C42887' or value.code = 'C42888' or value.code = 'C42960' or value.code = 'C42971' or value.code = 'C42889' or value.code = 'C42892' or value.code = 'C42890' or value.code = 'C43451' or value.code = 'C42891' or value.code = 'C25158' or value.code = 'C42895' or value.code = 'C42896' or value.code = 'C42917' or value.code = 'C42902' or value.code = 'C42904' or value.code = 'C42916' or value.code = 'C42928' or value.code = 'C42936' or value.code = 'C42954' or value.code = 'C45414' or value.code = 'C42678' or value.code = 'C60884' or value.code = 'C60891' or value.code = 'C42900' or value.code = 'C42919' or value.code = 'C28944' or value.code = 'C60897' or value.code = 'C42901' or value.code = 'C45415' or value.code = 'C47890' or value.code = 'C43525' or value.code = 'C42679' or value.code = 'C42763' or value.code = 'C17423' or value.code = 'C42912' or value.code = 'C42913' or value.code = 'C42915' or value.code = 'C42929' or value.code = 'C60926' or value.code = 'C42932' or value.code = 'C42920' or value.code = 'C42984' or value.code = 'C60927' or value.code = 'C60928' or value.code = 'C60929' or value.code = 'C42933' or value.code = 'C42934' or value.code = 'C42906' or value.code = 'C60930' or value.code = 'C48193' or value.code = 'C42937' or value.code = 'C45416' or value.code = 'C42938' or value.code = 'C42903' or value.code = 'C42909' or value.code = 'C42939' or value.code = 'C42940' or value.code = 'C42921' or value.code = 'C42941' or value.code = 'C42894' or value.code = 'C42978' or value.code = 'C42942' or value.code = 'C42944' or value.code = 'C60931' or value.code = 'C42946' or value.code = 'C42914' or value.code = 'C42950' or value.code = 'C42974' or value.code = 'C42976' or value.code = 'C42977' or value.code = 'C42959' or value.code = 'C42957' or value.code = 'C42958' or value.code = 'C42956' or value.code = 'C42945' or value.code = 'C42899' or value.code = 'C42995' or value.code = 'C42926' or value.code = 'C42951' or value.code = 'C42988' or value.code = 'C60933' or value.code = 'C42922' or value.code = 'C47915' or value.code = 'C42947' or value.code = 'C42948' or value.code = 'C47916' or value.code = 'C45413' or value.code = 'C42949' or value.code = 'C42952' or value.code = 'C42953' or value.code = 'C60934' or value.code = 'C29167' or value.code = 'C60957' or value.code = 'C60958' or value.code = 'C42955' or value.code = 'C29269' or value.code = 'C42965' or value.code = 'C42966' or value.code = 'C60984' or value.code = 'C47887' or value.code = 'C42967' or value.code = 'C42907' or value.code = 'C60985' or value.code = 'C42968' or value.code = 'C42923' or value.code = 'C42911' or value.code = 'C42969' or value.code = 'C42943' or value.code = 'C42918' or value.code = 'C25394' or value.code = 'C42970' or value.code = 'C47913' or value.code = 'C42972' or value.code = 'C42908' or value.code = 'C42973' or value.code = 'C42975' or value.code = 'C42961' or value.code = 'C60988' or value.code = 'C42979' or value.code = 'C42980' or value.code = 'C42981' or value.code = 'C42982' or value.code = 'C42983' or value.code = 'C42986' or value.code = 'C42898' or value.code = 'C42987' or value.code = 'C60994' or value.code = 'C42935' or value.code = 'C60992' or value.code = 'C47912' or value.code = 'C42989' or value.code = 'C42962' or value.code = 'C42990' or value.code = 'C42991' or value.code = 'C47914' or value.code = 'C42993' or value.code = 'C42924' or value.code = 'C42994' or value.code = 'C42925' or value.code = 'C60995' or value.code = 'C47889' or value.code = 'C47898' or value.code = 'C42996' or value.code = 'C42998' or value.code = 'C42893' or value.code = 'C42897' or value.code = 'C60997' or value.code = 'C42905' or value.code = 'C42997' or value.code = 'C42910' or value.code = 'C42927' or value.code = 'C42931' or value.code = 'C42930' or value.code = 'C61004' or value.code = 'C61005' or value.code = 'C42964' or value.code = 'C42963' or value.code = 'C42999' or value.code = 'C61006' or value.code = 'C42985' or value.code = 'C42992' or value.code = 'C47892' or value.code = 'C47897' or value.code = 'C43000' or value.code = 'C43001' or value.code = 'C43002' or value.code = 'C43003')) - - + + OCL self.participant->one(participant : cda::Participant2 | not participant.participantRole.oclIsUndefined() and participant.participantRole.oclIsKindOf(consol::DrugVehicle)) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::Indication) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::RSON) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::Instructions) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.supply.oclIsUndefined() and entryRelationship.supply.oclIsKindOf(consol::MedicationDispense) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::ReactionObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::CAUS) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::ImmunizationRefusalReason) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::RSON) - - + + OCL self.consumable->one(consumable : cda::Consumable | not consumable.oclIsUndefined() and consumable.oclIsKindOf(cda::Consumable)) - - + + OCL self.performer->one(performer : cda::Performer2 | not performer.oclIsUndefined() and performer.oclIsKindOf(rim::Participation)) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.supply.oclIsUndefined() and entryRelationship.supply.oclIsKindOf(consol::MedicationSupplyOrder) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.precondition->exists(precondition : cda::Precondition | not precondition.oclIsUndefined() and precondition.oclIsKindOf(cda::Precondition)) - - + + OCL self.consumable->excluding(null)->reject(manufacturedProduct->one(manufacturedProduct : cda::ManufacturedProduct | not manufacturedProduct.oclIsUndefined() and manufacturedProduct.oclIsKindOf(consol::ImmunizationMedicationInformation))) - - + + OCL self.precondition->excluding(null)->reject(isDefined('typeCode') and typeCode=vocab::ActRelationshipType::PRCN) - - + + OCL self.precondition->excluding(null)->reject(criterion->one(criterion : cda::Criterion | not criterion.oclIsUndefined() and criterion.oclIsKindOf(consol::PreconditionForSubstanceAdministration))) @@ -5817,81 +5817,81 @@ value.codeSystem = '2.16.840.1.113883.3.26.1.1' and (value.code = 'C42887' or va - - - + + + OCL self.getParticipantRoles()->select(participantRole : cda::ParticipantRole | not participantRole.oclIsUndefined() and participantRole.oclIsKindOf(consol::DrugVehicle))->asSequence()->any(true).oclAsType(consol::DrugVehicle) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::Indication))->asSequence()->any(true).oclAsType(consol::Indication) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::Instructions))->asSequence()->any(true).oclAsType(consol::Instructions) - - + + - - - + + + OCL self.getSupplies()->select(supply : cda::Supply | not supply.oclIsUndefined() and supply.oclIsKindOf(consol::MedicationDispense))->asSequence()->any(true).oclAsType(consol::MedicationDispense) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ReactionObservation))->asSequence()->any(true).oclAsType(consol::ReactionObservation) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ImmunizationRefusalReason))->asSequence()->any(true).oclAsType(consol::ImmunizationRefusalReason) - - + + - - - + + + OCL self.getSupplies()->select(supply : cda::Supply | not supply.oclIsUndefined() and supply.oclIsKindOf(consol::MedicationSupplyOrder))->asSequence()->any(true).oclAsType(consol::MedicationSupplyOrder) - - + + @@ -5917,40 +5917,40 @@ that represents the preference order. Each policy or program identifies the cove with respect to the payer, so that the identifiers can be recorded. </p> - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.18') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '48768-6' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::CoverageActivity)) @@ -5958,53 +5958,53 @@ value.code = '48768-6' and value.codeSystem = '2.16.840.1.113883.6.1') - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::CoverageActivity)).oclAsType(consol::CoverageActivity) - - + + - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.1.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '10160-0' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.substanceAdministration.oclIsUndefined() and entry.substanceAdministration.oclIsKindOf(consol::MedicationActivity)) @@ -6014,15 +6014,15 @@ value.code = '10160-0' and value.codeSystem = '2.16.840.1.113883.6.1') couple - - - + + + OCL self.getSubstanceAdministrations()->select(substanceAdministration : cda::SubstanceAdministration | not substanceAdministration.oclIsUndefined() and substanceAdministration.oclIsKindOf(consol::MedicationActivity)).oclAsType(consol::MedicationActivity) - - + + @@ -6030,76 +6030,76 @@ value.code = '10160-0' and value.codeSystem = '2.16.840.1.113883.6.1') The Plan of Care section contains data that defines pending orders, interventions, encounters, services, and procedures for the patient. It is limited to prospective, unfulfilled, or incomplete orders and requests only, which are indicated by the @moodCode of the entries within this section. All active, incomplete, or pending orders, appointments, referrals, procedures, services, or any other pending event of clinical significance to the current care of the patient should be listed unless constrained due to privacy issues. The plan may also contain information about ongoing care of the patient and information regarding goals and clinical reminders. Clinical reminders are placed here to provide prompts for disease prevention and management, patient safety, and health-care quality improvements, including widely accepted performance measures. The plan may also indicate that patient education was given or will be provided. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.10') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '18776-5' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::PlanOfCareActivityAct)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.encounter.oclIsUndefined() and entry.encounter.oclIsKindOf(consol::PlanOfCareActivityEncounter)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::PlanOfCareActivityObservation)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.procedure.oclIsUndefined() and entry.procedure.oclIsKindOf(consol::PlanOfCareActivityProcedure)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.substanceAdministration.oclIsUndefined() and entry.substanceAdministration.oclIsKindOf(consol::PlanOfCareActivitySubstanceAdministration)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.supply.oclIsUndefined() and entry.supply.oclIsKindOf(consol::PlanOfCareActivitySupply)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::Instructions)) @@ -6107,107 +6107,107 @@ value.code = '18776-5' and value.codeSystem = '2.16.840.1.113883.6.1') - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::PlanOfCareActivityAct)).oclAsType(consol::PlanOfCareActivityAct) - - + + - - - + + + OCL self.getEncounters()->select(encounter : cda::Encounter | not encounter.oclIsUndefined() and encounter.oclIsKindOf(consol::PlanOfCareActivityEncounter)).oclAsType(consol::PlanOfCareActivityEncounter) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::PlanOfCareActivityObservation)).oclAsType(consol::PlanOfCareActivityObservation) - - + + - - - + + + OCL self.getProcedures()->select(procedure : cda::Procedure | not procedure.oclIsUndefined() and procedure.oclIsKindOf(consol::PlanOfCareActivityProcedure)).oclAsType(consol::PlanOfCareActivityProcedure) - - + + - - - + + + OCL self.getSubstanceAdministrations()->select(substanceAdministration : cda::SubstanceAdministration | not substanceAdministration.oclIsUndefined() and substanceAdministration.oclIsKindOf(consol::PlanOfCareActivitySubstanceAdministration)).oclAsType(consol::PlanOfCareActivitySubstanceAdministration) - - + + - - - + + + OCL self.getSupplies()->select(supply : cda::Supply | not supply.oclIsUndefined() and supply.oclIsKindOf(consol::PlanOfCareActivitySupply)).oclAsType(consol::PlanOfCareActivitySupply) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::Instructions)).oclAsType(consol::Instructions) - - + + - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.39') - - + + OCL self.classCode=vocab::x_ActClassDocumentEntryAct::ACT - - + + OCL not self.moodCode.oclIsUndefined() and self.moodCode.oclIsKindOf(vocab::x_DocumentActMood) and let value : vocab::x_DocumentActMood = self.moodCode.oclAsType(vocab::x_DocumentActMood) in value = vocab::x_DocumentActMood::INT or value = vocab::x_DocumentActMood::ARQ or value = vocab::x_DocumentActMood::PRMS or value = vocab::x_DocumentActMood::PRP or value = vocab::x_DocumentActMood::RQO - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) @@ -6217,28 +6217,28 @@ value = vocab::x_DocumentActMood::INT or value = vocab::x_DocumentActMood::ARQ o - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.40') - - + + OCL self.classCode=vocab::ActClass::ENC - - + + OCL not self.moodCode.oclIsUndefined() and self.moodCode.oclIsKindOf(vocab::x_DocumentEncounterMood) and let value : vocab::x_DocumentEncounterMood = self.moodCode.oclAsType(vocab::x_DocumentEncounterMood) in value = vocab::x_DocumentEncounterMood::INT or value = vocab::x_DocumentEncounterMood::ARQ or value = vocab::x_DocumentEncounterMood::PRMS or value = vocab::x_DocumentEncounterMood::PRP or value = vocab::x_DocumentEncounterMood::RQO - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) @@ -6248,28 +6248,28 @@ value = vocab::x_DocumentEncounterMood::INT or value = vocab::x_DocumentEncounte - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.44') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL not self.moodCode.oclIsUndefined() and self.moodCode.oclIsKindOf(vocab::x_ActMoodDocumentObservation) and let value : vocab::x_ActMoodDocumentObservation = self.moodCode.oclAsType(vocab::x_ActMoodDocumentObservation) in value = vocab::x_ActMoodDocumentObservation::INT or value = vocab::x_ActMoodDocumentObservation::GOL or value = vocab::x_ActMoodDocumentObservation::PRMS or value = vocab::x_ActMoodDocumentObservation::PRP or value = vocab::x_ActMoodDocumentObservation::RQO - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) @@ -6279,28 +6279,28 @@ value = vocab::x_ActMoodDocumentObservation::INT or value = vocab::x_ActMoodDocu - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.41') - - + + OCL self.classCode=vocab::ActClass::PROC - - + + OCL not self.moodCode.oclIsUndefined() and self.moodCode.oclIsKindOf(vocab::x_DocumentProcedureMood) and let value : vocab::x_DocumentProcedureMood = self.moodCode.oclAsType(vocab::x_DocumentProcedureMood) in value = vocab::x_DocumentProcedureMood::INT or value = vocab::x_DocumentProcedureMood::ARQ or value = vocab::x_DocumentProcedureMood::PRMS or value = vocab::x_DocumentProcedureMood::PRP or value = vocab::x_DocumentProcedureMood::RQO - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) @@ -6310,28 +6310,28 @@ value = vocab::x_DocumentProcedureMood::INT or value = vocab::x_DocumentProcedur - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.42') - - + + OCL self.classCode=vocab::ActClass::SBADM - - + + OCL not self.moodCode.oclIsUndefined() and self.moodCode.oclIsKindOf(vocab::x_DocumentSubstanceMood) and let value : vocab::x_DocumentSubstanceMood = self.moodCode.oclAsType(vocab::x_DocumentSubstanceMood) in value = vocab::x_DocumentSubstanceMood::INT or value = vocab::x_DocumentSubstanceMood::PRMS or value = vocab::x_DocumentSubstanceMood::PRP or value = vocab::x_DocumentSubstanceMood::RQO - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) @@ -6341,28 +6341,28 @@ value = vocab::x_DocumentSubstanceMood::INT or value = vocab::x_DocumentSubstanc - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.43') - - + + OCL self.classCode=vocab::ActClassSupply::SPLY - - + + OCL not self.moodCode.oclIsUndefined() and self.moodCode.oclIsKindOf(vocab::x_DocumentSubstanceMood) and let value : vocab::x_DocumentSubstanceMood = self.moodCode.oclAsType(vocab::x_DocumentSubstanceMood) in value = vocab::x_DocumentSubstanceMood::INT or value = vocab::x_DocumentSubstanceMood::PRMS or value = vocab::x_DocumentSubstanceMood::PRP or value = vocab::x_DocumentSubstanceMood::RQO - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) @@ -6375,68 +6375,68 @@ value = vocab::x_DocumentSubstanceMood::INT or value = vocab::x_DocumentSubstanc This clinical statement represents current and/or prior pregnancy dates enabling investigators to determine if the subject of the case report was pregnant during the course of a condition. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.15.3.8') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = 'ASSERTION' and value.codeSystem = '2.16.840.1.113883.5.4') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.code = '77386006' and value.codeSystem = '2.16.840.1.113883.6.96')) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | element.oclIsTypeOf(datatypes::CD))) - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::EstimatedDateOfDelivery) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) @@ -6444,15 +6444,15 @@ value.code = '77386006' and value.codeSystem = '2.16.840.1.113883.6.96')) - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::EstimatedDateOfDelivery))->asSequence()->any(true).oclAsType(consol::EstimatedDateOfDelivery) - - + + @@ -6467,52 +6467,52 @@ The length of an encounter is documented in the documentationOf/encompassingEnco self.nullFlavor <> vocab::NullFlavor::NI implies self.getActs()->exists(a : cda::Act | a.oclIsKindOf(consol::ProcedureActivityAct)) or self.getObservations()->exists(o : cda::Observation | o.oclIsKindOf(consol::ProcedureActivityObservation)) or self.getProcedures()->exists(p : cda::Procedure | p.oclIsKindOf(consol::ProcedureActivityProcedure)) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.7.1') - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '47519-4' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL not self.text.oclIsUndefined() - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.procedure.oclIsUndefined() and entry.procedure.oclIsKindOf(consol::ProcedureActivityProcedure)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::ProcedureActivityObservation)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::ProcedureActivityAct)) @@ -6522,37 +6522,37 @@ value.code = '47519-4' and value.codeSystem = '2.16.840.1.113883.6.1') couple - - - + + + OCL self.getProcedures()->select(procedure : cda::Procedure | not procedure.oclIsUndefined() and procedure.oclIsKindOf(consol::ProcedureActivityProcedure)).oclAsType(consol::ProcedureActivityProcedure) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ProcedureActivityObservation)).oclAsType(consol::ProcedureActivityObservation) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::ProcedureActivityAct)).oclAsType(consol::ProcedureActivityAct) - - + + @@ -6615,232 +6615,232 @@ This clinical statement represents procedures whose immediate and primary outcom self.entryRelationship->select(er : cda::EntryRelationship | er.act.oclIsTypeOf(consol::Instructions))->forAll(ent : cda::EntryRelationship | ent.inversionInd=true) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.14') - - + + OCL self.classCode=vocab::ActClass::PROC - - + + OCL not self.moodCode.oclIsUndefined() and self.moodCode.oclIsKindOf(vocab::x_DocumentProcedureMood) and let value : vocab::x_DocumentProcedureMood = self.moodCode.oclAsType(vocab::x_DocumentProcedureMood) in value = vocab::x_DocumentProcedureMood::EVN or value = vocab::x_DocumentProcedureMood::INT - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed' or value.code = 'active' or value.code = 'aborted' or value.code = 'cancelled') - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL (self.priorityCode.oclIsUndefined() or self.priorityCode.isNullFlavorUndefined()) implies (not self.priorityCode.oclIsUndefined()) - - + + OCL (self.priorityCode.oclIsUndefined() or self.priorityCode.isNullFlavorUndefined()) implies (not self.priorityCode.oclIsUndefined() and self.priorityCode.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.priorityCode.oclAsType(datatypes::CE) in 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')) - - + + OCL (self.methodCode->isEmpty() or self.methodCode->exists(element | element.isNullFlavorUndefined())) implies (( not self.methodCode->isEmpty()) ) - - + + OCL (self.targetSiteCode->isEmpty() or self.targetSiteCode->exists(element | element.isNullFlavorUndefined())) implies (not self.targetSiteCode->isEmpty()) - - + + OCL (self.targetSiteCode->isEmpty() or self.targetSiteCode->exists(element | element.isNullFlavorUndefined())) implies (self.targetSiteCode->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined())) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::Indication) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::RSON) - - + + OCL self.specimen->exists(specimen : cda::Specimen | not specimen.oclIsUndefined() and specimen.oclIsKindOf(cda::Specimen)) - - + + OCL self.participant->exists(participant : cda::Participant2 | not participant.participantRole.oclIsUndefined() and participant.participantRole.oclIsKindOf(consol::ServiceDeliveryLocation)) - - + + OCL self.performer->exists(performer : cda::Performer2 | not performer.oclIsUndefined() and performer.oclIsKindOf(cda::Performer2)) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.substanceAdministration.oclIsUndefined() and entryRelationship.substanceAdministration.oclIsKindOf(consol::MedicationActivity) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::COMP) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::Instructions) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ) - - + + OCL self.participant->exists(participant : cda::Participant2 | not participant.participantRole.oclIsUndefined() and participant.participantRole.oclIsKindOf(consol::ProductInstance)) - - + + OCL self.entryRelationship->select(entryRelationship : cda::EntryRelationship | not entryRelationship.oclIsUndefined() and entryRelationship.oclIsKindOf(cda::EntryRelationship))->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and not encounter.oclIsUndefined() and encounter.oclIsKindOf(cda::Encounter))->notEmpty() - - + + OCL self.specimen->excluding(null)->reject(specimenRole->size() = 1) - - + + OCL self.specimen->excluding(null)->reject(specimenRole.id->size() > 0) - - + + OCL self.performer->excluding(null).assignedEntity->excluding(null).representedOrganization->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (not id->isEmpty())) - - + + OCL self.performer->excluding(null).assignedEntity->excluding(null).representedOrganization->excluding(null)->reject((name->isEmpty() or name->exists(element | element.isNullFlavorUndefined())) implies (not name->isEmpty())) - - + + OCL self.performer->excluding(null).assignedEntity->excluding(null).representedOrganization->excluding(null)->reject((telecom->isEmpty() or telecom->exists(element | element.isNullFlavorUndefined())) implies (telecom->size() = 1)) - - + + OCL self.performer->excluding(null).assignedEntity->excluding(null).representedOrganization->excluding(null)->reject((addr->isEmpty() or addr->exists(element | element.isNullFlavorUndefined())) implies (addr->size() = 1)) - - + + OCL self.performer->excluding(null).assignedEntity->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (not id->isEmpty())) - - + + OCL self.performer->excluding(null).assignedEntity->excluding(null)->reject((addr->isEmpty() or addr->exists(element | element.isNullFlavorUndefined())) implies (addr->size() = 1)) - - + + OCL self.performer->excluding(null).assignedEntity->excluding(null)->reject((telecom->isEmpty() or telecom->exists(element | element.isNullFlavorUndefined())) implies (telecom->size() = 1)) - - + + OCL self.performer->excluding(null).assignedEntity->excluding(null)->reject(representedOrganization->one(representedOrganization : cda::Organization | not representedOrganization.oclIsUndefined() and representedOrganization.oclIsKindOf(cda::Organization))) - - + + OCL self.performer->excluding(null)->reject(assignedEntity->one(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(cda::AssignedEntity))) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and not encounter.oclIsUndefined() and encounter.oclIsKindOf(cda::Encounter)).encounter->excluding(null)->reject(classCode=vocab::ActClass::ENC) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and not encounter.oclIsUndefined() and encounter.oclIsKindOf(cda::Encounter)).encounter->excluding(null)->reject(moodCode=vocab::x_DocumentEncounterMood::EVN) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and not encounter.oclIsUndefined() and encounter.oclIsKindOf(cda::Encounter)).encounter->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (id->size() = 1)) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and not encounter.oclIsUndefined() and encounter.oclIsKindOf(cda::Encounter))->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and not encounter.oclIsUndefined() and encounter.oclIsKindOf(cda::Encounter))->reject(not inversionInd.oclIsUndefined() and inversionInd=true) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and not encounter.oclIsUndefined() and encounter.oclIsKindOf(cda::Encounter))->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and not encounter.oclIsUndefined() and encounter.oclIsKindOf(cda::Encounter))->reject(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and not encounter.oclIsUndefined() and encounter.oclIsKindOf(cda::Encounter))->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and not encounter.oclIsUndefined() and encounter.oclIsKindOf(cda::Encounter))->reject(encounter->one(encounter : cda::Encounter | not encounter.oclIsUndefined() and encounter.oclIsKindOf(cda::Encounter))) @@ -6848,97 +6848,97 @@ value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined()) - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::Indication)).oclAsType(consol::Indication) - - + + - - - + + + OCL self.getParticipantRoles()->select(participantRole : cda::ParticipantRole | not participantRole.oclIsUndefined() and participantRole.oclIsKindOf(consol::ServiceDeliveryLocation)).oclAsType(consol::ServiceDeliveryLocation) - - + + - - - + + + OCL self.getSubstanceAdministrations()->select(substanceAdministration : cda::SubstanceAdministration | not substanceAdministration.oclIsUndefined() and substanceAdministration.oclIsKindOf(consol::MedicationActivity)).oclAsType(consol::MedicationActivity) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::Instructions))->asSequence()->any(true).oclAsType(consol::Instructions) - - + + - - - + + + OCL self.getParticipantRoles()->select(participantRole : cda::ParticipantRole | not participantRole.oclIsUndefined() and participantRole.oclIsKindOf(consol::ProductInstance)).oclAsType(consol::ProductInstance) - - + + - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.4.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '8716-3' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL not self.text.oclIsUndefined() - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.organizer.oclIsUndefined() and entry.organizer.oclIsKindOf(consol::VitalSignsOrganizer)) @@ -6948,15 +6948,15 @@ value.code = '8716-3' and value.codeSystem = '2.16.840.1.113883.6.1') couple - - - + + + OCL self.getOrganizers()->select(organizer : cda::Organizer | not organizer.oclIsUndefined() and organizer.oclIsKindOf(consol::VitalSignsOrganizer)).oclAsType(consol::VitalSignsOrganizer) - - + + @@ -6966,66 +6966,66 @@ value.code = '8716-3' and value.codeSystem = '2.16.840.1.113883.6.1') <p>An appropriate nullFlavor can be used when organizer/code or organizer/id is unknown.</p> - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.26') - - + + OCL self.classCode=vocab::x_ActClassDocumentEntryOrganizer::CLUSTER - - + + OCL self.moodCode=vocab::ActMood::EVN - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '46680005' and value.codeSystem = '2.16.840.1.113883.6.96') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL self.component->exists(component : cda::Component4 | not component.observation.oclIsUndefined() and component.observation.oclIsKindOf(consol::VitalSignObservation)) @@ -7033,15 +7033,15 @@ value.code = 'completed') - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::VitalSignObservation)).oclAsType(consol::VitalSignObservation) - - + + @@ -7067,96 +7067,96 @@ value.code = 'completed') not self.text.reference.value.oclIsUndefined() implies not self.getSection().text.getText(self.text.reference.value.substring(2, self.text.reference.value.size())).oclIsUndefined() - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.27') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.1' and not value.code.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | element.oclIsTypeOf(datatypes::PQ))) - - + + OCL (self.interpretationCode->isEmpty() or self.interpretationCode->exists(element | element.isNullFlavorUndefined())) implies (( not self.interpretationCode->isEmpty()) ) - - + + OCL (self.methodCode->isEmpty() or self.methodCode->exists(element | element.isNullFlavorUndefined())) implies (( not self.methodCode->isEmpty()) ) - - + + OCL (self.targetSiteCode->isEmpty() or self.targetSiteCode->exists(element | element.isNullFlavorUndefined())) implies (( not self.targetSiteCode->isEmpty()) ) - - + + OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (not self.text.oclIsUndefined()) - - + + OCL self.author->one(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(rim::Participation)) @@ -7169,40 +7169,40 @@ value.code = 'completed') This section contains a record of the patient's past complaints, problems, and diagnoses. It contains data from the patient's past up to the patient's current complaint or reason for seeking medical care. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.20') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '11348-0' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::ProblemObservation)) @@ -7210,15 +7210,15 @@ value.code = '11348-0' and value.codeSystem = '2.16.840.1.113883.6.1') - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ProblemObservation)).oclAsType(consol::ProblemObservation) - - + + @@ -7226,34 +7226,34 @@ value.code = '11348-0' and value.codeSystem = '2.16.840.1.113883.6.1') This section records the patient's chief complaint (the patient's own description). - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '1.3.6.1.4.1.19376.1.5.3.1.1.13.2.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '10154-3' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) @@ -7266,34 +7266,34 @@ value.code = '10154-3' and value.codeSystem = '2.16.840.1.113883.6.1') A Reason for Referral section records the reason the patient is being referred for a consultation by a provider. An optional Chief Complaint section may capture the patient's description of the reason for the consultation. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '1.3.6.1.4.1.19376.1.5.3.1.3.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '42349-1' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() @@ -7306,34 +7306,34 @@ value.code = '42349-1' and value.codeSystem = '2.16.840.1.113883.6.1') The History of Present Illness section describes the history related to the reason for the encounter. It contains the historical details leading up to and pertaining to the patient's current complaint or reason for seeking medical care. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '1.3.6.1.4.1.19376.1.5.3.1.3.4') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '10164-2' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() @@ -7346,40 +7346,40 @@ value.code = '10164-2' and value.codeSystem = '2.16.840.1.113883.6.1') The Hospital Admitting Diagnosis section contains a narrative description of the primary reason for admission to a hospital facility. The section includes an optional entry to record patient conditions. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.43') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '46241-6' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->one(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::HospitalAdmissionDiagnosis)) @@ -7387,15 +7387,15 @@ value.code = '46241-6' and value.codeSystem = '2.16.840.1.113883.6.1') - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::HospitalAdmissionDiagnosis))->asSequence()->any(true).oclAsType(consol::HospitalAdmissionDiagnosis) - - + + @@ -7403,40 +7403,40 @@ value.code = '46241-6' and value.codeSystem = '2.16.840.1.113883.6.1') The Hospital Admission Medications section defines the relevant medications administered prior to admission to the facility. The currently active medications must be listed. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.44') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '42346-7' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::AdmissionMedication)) @@ -7444,15 +7444,15 @@ value.code = '42346-7' and value.codeSystem = '2.16.840.1.113883.6.1') - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::AdmissionMedication)).oclAsType(consol::AdmissionMedication) - - + + @@ -7460,40 +7460,40 @@ value.code = '42346-7' and value.codeSystem = '2.16.840.1.113883.6.1') The Medications Administered section defines medications and fluids administered during the procedure, encounter, or other activity excluding anesthetic medications. This guide recommends anesthesia medications be documented as described in the section on Anesthesia. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.38') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '29549-3' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.substanceAdministration.oclIsUndefined() and entry.substanceAdministration.oclIsKindOf(consol::MedicationActivity)) @@ -7501,15 +7501,15 @@ value.code = '29549-3' and value.codeSystem = '2.16.840.1.113883.6.1') - - - + + + OCL self.getSubstanceAdministrations()->select(substanceAdministration : cda::SubstanceAdministration | not substanceAdministration.oclIsUndefined() and substanceAdministration.oclIsKindOf(consol::MedicationActivity)).oclAsType(consol::MedicationActivity) - - + + @@ -7518,52 +7518,52 @@ value.code = '29549-3' and value.codeSystem = '2.16.840.1.113883.6.1') The Physical Exam section includes direct observations made by the clinician. The examination may include the use of simple instruments and may also describe simple maneuvers performed directly on the patient's body. This section includes only observations made by the examining clinician using inspection, palpation, auscultation, and percussion; it does not include laboratory or imaging findings. The exam may be limited to pertinent body systems based on the patient's chief complaint or it may include a comprehensive examination. The examination may be reported as a collection of random clinical statements or it may be reported categorically. The Physical Exam section may contain multiple nested subsections: Vital Signs, General Status, and those listed in the Additional Physical Examination Subsections appendix. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.2.10') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '29545-1' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::PressureUlcerObservation)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::NumberOfPressureUlcersObservation)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::HighestPressureUlcerStage)) @@ -7571,37 +7571,37 @@ value.code = '29545-1' and value.codeSystem = '2.16.840.1.113883.6.1') - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::PressureUlcerObservation)).oclAsType(consol::PressureUlcerObservation) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::NumberOfPressureUlcersObservation)).oclAsType(consol::NumberOfPressureUlcersObservation) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::HighestPressureUlcerStage)).oclAsType(consol::HighestPressureUlcerStage) - - + + @@ -7609,34 +7609,34 @@ value.code = '29545-1' and value.codeSystem = '2.16.840.1.113883.6.1') The General Status section describes general observations and readily observable attributes of the patient, including affect and demeanor, apparent age compared to actual age, gender, ethnicity, nutritional status based on appearance, body build and habitus (e.g., muscular, cachectic, obese), developmental or other deformities, gait and mobility, personal hygiene, evidence of distress, and voice quality and speech. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.2.5') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '10210-3' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() @@ -7649,34 +7649,34 @@ value.code = '10210-3' and value.codeSystem = '2.16.840.1.113883.6.1') The Review of Systems section contains a relevant collection of symptoms and functions systematically gathered by a clinician. It includes symptoms the patient is currently experiencing, some of which were not elicited during the history of present illness, as well as a potentially large number of pertinent negatives, for example, symptoms that the patient denied experiencing. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '1.3.6.1.4.1.19376.1.5.3.1.3.18') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '10187-3' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() @@ -7690,34 +7690,34 @@ value.code = '10187-3' and value.codeSystem = '2.16.840.1.113883.6.1') The Assessment and Plan sections may be combined or separated to meet local policy requirements. The Assessment and Plan section represents both the clinician's conclusions and working assumptions that will guide treatment of the patient (see Assessment Section above) and pending orders, interventions, encounters, services, and procedures for the patient (see Plan of Care Section below). - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.9') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '51847-2' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::PlanOfCareActivityAct)) @@ -7725,15 +7725,15 @@ value.code = '51847-2' and value.codeSystem = '2.16.840.1.113883.6.1') - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::PlanOfCareActivityAct)).oclAsType(consol::PlanOfCareActivityAct) - - + + @@ -7741,50 +7741,50 @@ value.code = '51847-2' and value.codeSystem = '2.16.840.1.113883.6.1') This clinical statement records whether the family member is deceased - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.47') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = 'ASSERTION' and value.codeSystem = '2.16.840.1.113883.5.4') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.code = '419099009' and value.codeSystem = '2.16.840.1.113883.6.96')) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | element.oclIsTypeOf(datatypes::CD))) @@ -7797,34 +7797,34 @@ value.code = '419099009' and value.codeSystem = '2.16.840.1.113883.6.96')) The Surgical Drains section may be used to record drains placed during the surgical procedure. Optionally, surgical drain placement may be represented with a text element in the Procedure Description Section. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.7.13') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '11537-8' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) @@ -7842,98 +7842,98 @@ For guidance on how to handle multiple files, on the selection of media types fo IHE's XDS-SD (Cross-Transaction Specifications and Content Specifications, Scanned Documents Module) profile addresses a similar, more restricted use case, specifically for scanned documents or documents electronically created from existing text sources, and limits content to PDF-A or text. This Unstructured Documents implementation guide is applicable not only for scanned documents in non-PDF formats, but also for clinical documents produced through word processing applications, etc. For conformance with both specifications, please review the appendix on XDS-SD and US Realm Clinical Document Header Comparison and ensure that your documents at a minimum conform to all the SHALL constraints from either specification . - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.1.10') - - + + OCL self.recordTarget->one(recordTarget : cda::RecordTarget | not recordTarget.oclIsUndefined() and recordTarget.oclIsKindOf(cda::RecordTarget)) - - + + OCL self.author->one(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(cda::Author)) - - + + OCL self.component->one(component : cda::Component2 | not component.oclIsUndefined() and component.oclIsKindOf(cda::Component2)) - - + + OCL self.custodian->one(custodian : cda::Custodian | not custodian.oclIsUndefined() and custodian.oclIsKindOf(cda::Custodian)) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (id->size() = 1)) - - + + OCL self.recordTarget->excluding(null)->reject(patientRole->one(patientRole : cda::PatientRole | not patientRole.oclIsUndefined() and patientRole.oclIsKindOf(cda::PatientRole))) - - + + OCL self.author->excluding(null).assignedAuthor->excluding(null)->reject((addr->isEmpty() or addr->exists(element | element.isNullFlavorUndefined())) implies (addr->size() = 1)) - - + + OCL self.author->excluding(null).assignedAuthor->excluding(null)->reject((telecom->isEmpty() or telecom->exists(element | element.isNullFlavorUndefined())) implies (telecom->size() = 1)) - - + + OCL self.author->excluding(null)->reject(assignedAuthor->one(assignedAuthor : cda::AssignedAuthor | not assignedAuthor.oclIsUndefined() and assignedAuthor.oclIsKindOf(cda::AssignedAuthor))) - - + + OCL self.custodian->excluding(null).assignedCustodian->excluding(null).representedCustodianOrganization->excluding(null)->reject((addr.oclIsUndefined() or addr.isNullFlavorUndefined()) implies (not addr.oclIsUndefined())) - - + + OCL self.custodian->excluding(null).assignedCustodian->excluding(null).representedCustodianOrganization->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (id->size() = 1)) - - + + OCL self.custodian->excluding(null).assignedCustodian->excluding(null).representedCustodianOrganization->excluding(null)->reject((name.oclIsUndefined() or name.isNullFlavorUndefined()) implies (not name.oclIsUndefined())) - - + + OCL self.custodian->excluding(null).assignedCustodian->excluding(null).representedCustodianOrganization->excluding(null)->reject((telecom.oclIsUndefined() or telecom.isNullFlavorUndefined()) implies (not telecom.oclIsUndefined())) - - + + OCL self.custodian->excluding(null).assignedCustodian->excluding(null)->reject(representedCustodianOrganization->one(representedCustodianOrganization : cda::CustodianOrganization | not representedCustodianOrganization.oclIsUndefined() and representedCustodianOrganization.oclIsKindOf(cda::CustodianOrganization))) - - + + OCL self.custodian->excluding(null)->reject(assignedCustodian->one(assignedCustodian : cda::AssignedCustodian | not assignedCustodian.oclIsUndefined() and assignedCustodian.oclIsKindOf(cda::AssignedCustodian))) @@ -7944,62 +7944,62 @@ For conformance with both specifications, please review the appendix on XDS-SD a The medication can be recorded as a precoordinated product strength, product form, or product concentration (e.g. "metoprolol 25mg tablet", "amoxicillin 400mg/5mL suspension"); or not pre-coordinated (e.g. "metoprolol product"). - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.23') - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (not self.id->isEmpty()) - - + + OCL isDefined('classCode') and self.classCode=vocab::RoleClassManufacturedProduct::MANU - - + + OCL self.manufacturerOrganization->one(manufacturerOrganization : cda::Organization | not manufacturerOrganization.oclIsUndefined() and manufacturerOrganization.oclIsKindOf(rim::Entity)) - - + + OCL self.manufacturedMaterial->one(manufacturedMaterial : cda::Material | not manufacturedMaterial.oclIsUndefined() and manufacturedMaterial.oclIsKindOf(cda::Material)) - - + + OCL self.manufacturedMaterial->excluding(null)->reject(code.originalText->size() = 1) - - + + OCL self.manufacturedMaterial->excluding(null)->reject(code.originalText->size() = 1 implies code.originalText->one(reference->size() = 1)) - - + + OCL self.manufacturedMaterial->excluding(null)->reject(code.originalText.reference->size() = 1 implies code.originalText.reference.value->size() = 1) - - + + OCL self.manufacturedMaterial->excluding(null)->reject(code->size() = 1 implies code.translation->size() > 0) - - + + OCL self.manufacturedMaterial->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = code.oclAsType(datatypes::CE) in @@ -8017,534 +8017,534 @@ value.codeSystem = '2.16.840.1.113883.6.88' and not value.code.oclIsUndefined()) ( self.getAllSections()->exists(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintAndReasonForVisitSection)) ) implies not ( self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintSection)) or self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReasonForVisitSection)) ) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.1.8') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in 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')) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HospitalAdmissionMedicationsSectionEntriesOptional)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HospitalAdmissionDiagnosisSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HospitalDischargeDiagnosisSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::DischargeDietSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HospitalDischargeMedicationsSectionEntriesOptional)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::FunctionalStatusSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HistoryOfPresentIllnessSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HospitalCourseSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PlanOfCareSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HistoryOfPastIllnessSection)) - - + + OCL self.componentOf->one(componentOf : cda::Component1 | not componentOf.oclIsUndefined() and componentOf.oclIsKindOf(cda::Component1)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintAndReasonForVisitSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::FamilyHistorySection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HospitalConsultationsSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HospitalDischargeInstructionsSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HospitalDischargePhysicalSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HospitalDischargeStudiesSummarySection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ImmunizationsSectionEntriesOptional)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProblemSectionEntriesOptional)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProceduresSectionEntriesOptional)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReasonForVisitSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReviewOfSystemsSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::SocialHistorySection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AllergiesSectionEntriesOptional)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::VitalSignsSectionEntriesOptional)) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).responsibleParty->excluding(null)->reject(not assignedEntity.assignedPerson.oclIsUndefined() or not assignedEntity.representedOrganization->isEmpty()) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).responsibleParty->excluding(null)->reject(assignedEntity->exists(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(rim::Role))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).encounterParticipant->excluding(null)->reject(not assignedEntity.assignedPerson.oclIsUndefined() or not assignedEntity.representedOrganization->isEmpty()) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).encounterParticipant->excluding(null)->reject(assignedEntity->exists(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(rim::Role))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject(not effectiveTime.low.oclIsUndefined()) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject(not effectiveTime.high.oclIsUndefined()) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject(dischargeDispositionCode.oclIsUndefined() or dischargeDispositionCode.isNullFlavorUndefined() implies let value : datatypes::CE = dischargeDispositionCode.oclAsType(datatypes::CE) in value.codeSystem <> '2.16.840.1.113883.12.112' implies value.codeSystem = '2.16.840.1.113883.6.301.5' and not value.code.oclIsUndefined()) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject(dischargeDispositionCode.oclIsUndefined() or dischargeDispositionCode.isNullFlavorUndefined() implies let value : datatypes::CE = dischargeDispositionCode.oclAsType(datatypes::CE) in value.codeSystem <> '2.16.840.1.113883.6.301.5' implies value.codeSystem = '2.16.840.1.113883.12.112' and not value.code.oclIsUndefined()) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject((dischargeDispositionCode.oclIsUndefined() or dischargeDispositionCode.isNullFlavorUndefined()) implies (not dischargeDispositionCode.oclIsUndefined())) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject((effectiveTime.oclIsUndefined() or effectiveTime.isNullFlavorUndefined()) implies (not effectiveTime.oclIsUndefined())) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject(responsibleParty->one(responsibleParty : cda::ResponsibleParty | not responsibleParty.oclIsUndefined() and responsibleParty.oclIsKindOf(cda::ResponsibleParty))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject(encounterParticipant->one(encounterParticipant : cda::EncounterParticipant | not encounterParticipant.oclIsUndefined() and encounterParticipant.oclIsKindOf(cda::EncounterParticipant))) - - + + OCL self.componentOf->excluding(null)->reject(encompassingEncounter->one(encompassingEncounter : cda::EncompassingEncounter | not encompassingEncounter.oclIsUndefined() and encompassingEncounter.oclIsKindOf(cda::EncompassingEncounter))) - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HospitalAdmissionMedicationsSectionEntriesOptional))->asSequence()->any(true).oclAsType(consol::HospitalAdmissionMedicationsSectionEntriesOptional) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HospitalAdmissionDiagnosisSection))->asSequence()->any(true).oclAsType(consol::HospitalAdmissionDiagnosisSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HospitalDischargeDiagnosisSection))->asSequence()->any(true).oclAsType(consol::HospitalDischargeDiagnosisSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::DischargeDietSection))->asSequence()->any(true).oclAsType(consol::DischargeDietSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HospitalDischargeMedicationsSectionEntriesOptional))->asSequence()->any(true).oclAsType(consol::HospitalDischargeMedicationsSectionEntriesOptional) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::FunctionalStatusSection))->asSequence()->any(true).oclAsType(consol::FunctionalStatusSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HistoryOfPresentIllnessSection))->asSequence()->any(true).oclAsType(consol::HistoryOfPresentIllnessSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HospitalCourseSection))->asSequence()->any(true).oclAsType(consol::HospitalCourseSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PlanOfCareSection))->asSequence()->any(true).oclAsType(consol::PlanOfCareSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HistoryOfPastIllnessSection))->asSequence()->any(true).oclAsType(consol::HistoryOfPastIllnessSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintAndReasonForVisitSection))->asSequence()->any(true).oclAsType(consol::ChiefComplaintAndReasonForVisitSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintSection))->asSequence()->any(true).oclAsType(consol::ChiefComplaintSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::FamilyHistorySection))->asSequence()->any(true).oclAsType(consol::FamilyHistorySection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HospitalConsultationsSection))->asSequence()->any(true).oclAsType(consol::HospitalConsultationsSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HospitalDischargeInstructionsSection))->asSequence()->any(true).oclAsType(consol::HospitalDischargeInstructionsSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HospitalDischargePhysicalSection))->asSequence()->any(true).oclAsType(consol::HospitalDischargePhysicalSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HospitalDischargeStudiesSummarySection))->asSequence()->any(true).oclAsType(consol::HospitalDischargeStudiesSummarySection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ImmunizationsSectionEntriesOptional))->asSequence()->any(true).oclAsType(consol::ImmunizationsSectionEntriesOptional) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProblemSectionEntriesOptional))->asSequence()->any(true).oclAsType(consol::ProblemSectionEntriesOptional) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProceduresSectionEntriesOptional))->asSequence()->any(true).oclAsType(consol::ProceduresSectionEntriesOptional) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReasonForVisitSection))->asSequence()->any(true).oclAsType(consol::ReasonForVisitSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReviewOfSystemsSection))->asSequence()->any(true).oclAsType(consol::ReviewOfSystemsSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::SocialHistorySection))->asSequence()->any(true).oclAsType(consol::SocialHistorySection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AllergiesSectionEntriesOptional))->asSequence()->any(true).oclAsType(consol::AllergiesSectionEntriesOptional) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::VitalSignsSectionEntriesOptional))->asSequence()->any(true).oclAsType(consol::VitalSignsSectionEntriesOptional) - - + + @@ -8558,68 +8558,68 @@ value.codeSystem = '2.16.840.1.113883.6.1' and (value.code = '18842-5' or value. self.value.nullFlavor->size() = 1 - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.19') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (self.id->size() = 1) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in 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')) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined())) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (( not self.value->isEmpty()) and self.value->forAll(element | element.oclIsTypeOf(datatypes::CD))) @@ -8644,28 +8644,28 @@ value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined()) not self.playingEntity.oclIsUndefined() implies self.playingEntity.name->size() =1 - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.24') - - + + OCL isDefined('classCode') and self.classCode=vocab::RoleClassRoot::MANU - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '412307009' and value.codeSystem = '2.16.840.1.113883.6.96') - - + + OCL self.playingEntity->one(playingEntity : cda::PlayingEntity | not playingEntity.oclIsUndefined() and playingEntity.oclIsKindOf(rim::Entity)) @@ -8681,138 +8681,138 @@ value.code = '412307009' and value.codeSystem = '2.16.840.1.113883.6.96') self.product.manufacturedProduct.oclIsTypeOf(consol::MedicationInformation) xor self.product.manufacturedProduct.oclIsTypeOf(consol::ImmunizationMedicationInformation) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.18') - - + + OCL self.classCode=vocab::ActClassSupply::SPLY - - + + OCL (self.effectiveTime->isEmpty() or self.effectiveTime->exists(element | element.isNullFlavorUndefined())) implies (( not self.effectiveTime->isEmpty()) ) - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL self.moodCode=vocab::x_DocumentSubstanceMood::EVN - - + + OCL (self.repeatNumber.oclIsUndefined() or self.repeatNumber.isNullFlavorUndefined()) implies (not self.repeatNumber.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'aborted' or value.code = 'completed') - - + + OCL (self.quantity.oclIsUndefined() or self.quantity.isNullFlavorUndefined()) implies (not self.quantity.oclIsUndefined()) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.supply.oclIsUndefined() and entryRelationship.supply.oclIsKindOf(consol::MedicationSupplyOrder) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.performer->one(performer : cda::Performer2 | not performer.oclIsUndefined() and performer.oclIsKindOf(cda::Performer2)) - - + + OCL self.performer->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() implies ( streetAddressLine->size() >=1 and streetAddressLine->size() <=4)) - - + + OCL self.performer->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() and country->exists(c : datatypes::ADXP | c.getText() = 'US') implies state->size() >= 1) - - + + OCL self.performer->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() and country->exists(c : datatypes::ADXP | c.getText() = 'US') implies postalCode->size() >= 1) - - + + OCL self.performer->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (use->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(vocab::PostalAddressUse) and let value : vocab::PostalAddressUse = element.oclAsType(vocab::PostalAddressUse) in value = vocab::PostalAddressUse::BAD or value = vocab::PostalAddressUse::DIR or value = vocab::PostalAddressUse::H or value = vocab::PostalAddressUse::HP or value = vocab::PostalAddressUse::HV or value = vocab::PostalAddressUse::PHYS or value = vocab::PostalAddressUse::PST or value = vocab::PostalAddressUse::PUB or value = vocab::PostalAddressUse::TMP or value = vocab::PostalAddressUse::WP) ))) - - + + OCL self.performer->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (( not use->isEmpty()) ))) - - + + OCL self.performer->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((country->isEmpty() or country->exists(element | element.isNullFlavorUndefined())) implies (( not country->isEmpty()) ) ))) - - + + OCL self.performer->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((state->isEmpty() or state->exists(element | element.isNullFlavorUndefined())) implies (( not state->isEmpty()) ) ))) - - + + OCL self.performer->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((city->isEmpty() or city->exists(element | element.isNullFlavorUndefined())) implies (city->size() = 1) ))) - - + + OCL self.performer->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((postalCode->isEmpty() or postalCode->exists(element | element.isNullFlavorUndefined())) implies (( not postalCode->isEmpty()) ) ))) - - + + OCL self.performer->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((streetAddressLine->isEmpty() or streetAddressLine->exists(element | element.isNullFlavorUndefined())) implies (( not streetAddressLine->isEmpty()) ) ))) - - + + OCL self.performer->excluding(null).assignedEntity->excluding(null)->reject((addr->isEmpty() or addr->exists(element | element.isNullFlavorUndefined())) implies (( not addr->isEmpty()) )) - - + + OCL self.performer->excluding(null)->reject(assignedEntity->one(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(cda::AssignedEntity))) @@ -8820,39 +8820,39 @@ value = vocab::PostalAddressUse::BAD or value = vocab::PostalAddressUse::DIR or - - - + + + OCL self.getSupplies()->select(supply : cda::Supply | not supply.oclIsUndefined() and supply.oclIsKindOf(consol::MedicationSupplyOrder))->asSequence()->any(true).oclAsType(consol::MedicationSupplyOrder) - - + + - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.25') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (not self.text.oclIsUndefined()) - - + + OCL (self.value.oclIsUndefined() or self.value.isNullFlavorUndefined()) implies (self.value.oclIsTypeOf(datatypes::CD)) @@ -8865,572 +8865,572 @@ value = vocab::PostalAddressUse::BAD or value = vocab::PostalAddressUse::DIR or A policy activity represents the policy or program providing the coverage. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.61') - - + + OCL self.classCode=vocab::x_ActClassDocumentEntryAct::ACT - - + + OCL self.moodCode=vocab::x_DocumentActMood::EVN - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '12' or value.code = '13' or value.code = '14' or value.code = '15' or value.code = '16' or value.code = '41' or value.code = '42' or value.code = '43' or value.code = '47' or value.code = 'AP' or value.code = 'C1' or value.code = 'CO' or value.code = 'CP' or value.code = 'D' or value.code = 'DB' or value.code = 'EP' or value.code = 'FF' or value.code = 'GP' or value.code = 'HM' or value.code = 'HN' or value.code = 'HS' or value.code = 'IN' or value.code = 'IP' or value.code = 'LC' or value.code = 'LD' or value.code = 'LI' or value.code = 'LT' or value.code = 'MA' or value.code = 'MB' or value.code = 'MC' or value.code = 'MH' or value.code = 'MI' or value.code = 'MP' or value.code = 'OT' or value.code = 'PE' or value.code = 'PL' or value.code = 'PP' or value.code = 'PR' or value.code = 'PS' or value.code = 'QM' or value.code = 'RP' or value.code = 'SP' or value.code = 'TF' or value.code = 'WC' or value.code = 'WU') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL self.performer->select(performer : cda::Performer2 | not performer.oclIsUndefined() and performer.oclIsKindOf(cda::Performer2))->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.87'))->size() = 1 - - + + OCL self.performer->select(performer : cda::Performer2 | not performer.oclIsUndefined() and performer.oclIsKindOf(cda::Performer2))->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.88'))->size() = 1 - - + + OCL self.participant->select(participant : cda::Participant2 | not participant.oclIsUndefined() and participant.oclIsKindOf(cda::Participant2))->select(typeCode=vocab::ParticipationType::COV)->size() = 1 - - + + OCL self.participant->select(participant : cda::Participant2 | not participant.oclIsUndefined() and participant.oclIsKindOf(cda::Participant2))->select(typeCode=vocab::ParticipationType::HLD)->size() = 1 - - + + OCL self.entryRelationship->select(entryRelationship : cda::EntryRelationship | not entryRelationship.oclIsUndefined() and entryRelationship.oclIsKindOf(cda::EntryRelationship))->select(typeCode=vocab::x_ActRelationshipEntryRelationship::REFR)->notEmpty() - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.87')).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() implies ( streetAddressLine->size() >=1 and streetAddressLine->size() <=4)) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.87')).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() and country->exists(c : datatypes::ADXP | c.getText() = 'US') implies state->size() >= 1) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.87')).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() and country->exists(c : datatypes::ADXP | c.getText() = 'US') implies postalCode->size() >= 1) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.87')).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (use->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(vocab::PostalAddressUse) and let value : vocab::PostalAddressUse = element.oclAsType(vocab::PostalAddressUse) in value = vocab::PostalAddressUse::BAD or value = vocab::PostalAddressUse::DIR or value = vocab::PostalAddressUse::H or value = vocab::PostalAddressUse::HP or value = vocab::PostalAddressUse::HV or value = vocab::PostalAddressUse::PHYS or value = vocab::PostalAddressUse::PST or value = vocab::PostalAddressUse::PUB or value = vocab::PostalAddressUse::TMP or value = vocab::PostalAddressUse::WP) ))) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.87')).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (( not use->isEmpty()) ))) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.87')).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((country->isEmpty() or country->exists(element | element.isNullFlavorUndefined())) implies (( not country->isEmpty()) ) ))) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.87')).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((state->isEmpty() or state->exists(element | element.isNullFlavorUndefined())) implies (( not state->isEmpty()) ) ))) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.87')).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((city->isEmpty() or city->exists(element | element.isNullFlavorUndefined())) implies (city->size() = 1) ))) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.87')).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((postalCode->isEmpty() or postalCode->exists(element | element.isNullFlavorUndefined())) implies (( not postalCode->isEmpty()) ) ))) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.87')).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((streetAddressLine->isEmpty() or streetAddressLine->exists(element | element.isNullFlavorUndefined())) implies (( not streetAddressLine->isEmpty()) ) ))) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.87')).assignedEntity->excluding(null).representedOrganization->excluding(null)->reject((name->isEmpty() or name->exists(element | element.isNullFlavorUndefined())) implies (( not name->isEmpty()) )) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.87')).assignedEntity->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (not id->isEmpty())) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.87')).assignedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.87')).assignedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.5.110' and (value.code = 'AFFL' or value.code = 'AGNT' or value.code = 'CIT' or value.code = 'CRINV' or value.code = 'CRSPNSR' or value.code = 'SPNSR' or value.code = 'COVPTY' or value.code = 'EMP' or value.code = 'GUAR' or value.code = 'INVSBJ' or value.code = 'PAYOR' or value.code = 'LIC' or value.code = 'PAT' or value.code = 'PAYEE' or value.code = 'POLHOLD' or value.code = 'QUAL' or value.code = 'STD' or value.code = 'UNDWRT'))) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.87')).assignedEntity->excluding(null)->reject((addr->isEmpty() or addr->exists(element | element.isNullFlavorUndefined())) implies (( not addr->isEmpty()) )) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.87')).assignedEntity->excluding(null)->reject((telecom->isEmpty() or telecom->exists(element | element.isNullFlavorUndefined())) implies (( not telecom->isEmpty()) )) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.87')).assignedEntity->excluding(null)->reject(representedOrganization->one(representedOrganization : cda::Organization | not representedOrganization.oclIsUndefined() and representedOrganization.oclIsKindOf(cda::Organization))) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.87'))->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.87'))->reject(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.87')) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.87'))->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.87'))->reject(isDefined('typeCode') and typeCode=vocab::ParticipationPhysicalPerformer::PRF) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.87'))->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.87'))->reject(assignedEntity->one(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(cda::AssignedEntity))) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.88')).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() implies ( streetAddressLine->size() >=1 and streetAddressLine->size() <=4)) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.88')).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() and country->exists(c : datatypes::ADXP | c.getText() = 'US') implies state->size() >= 1) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.88')).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() and country->exists(c : datatypes::ADXP | c.getText() = 'US') implies postalCode->size() >= 1) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.88')).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (use->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(vocab::PostalAddressUse) and let value : vocab::PostalAddressUse = element.oclAsType(vocab::PostalAddressUse) in value = vocab::PostalAddressUse::BAD or value = vocab::PostalAddressUse::DIR or value = vocab::PostalAddressUse::H or value = vocab::PostalAddressUse::HP or value = vocab::PostalAddressUse::HV or value = vocab::PostalAddressUse::PHYS or value = vocab::PostalAddressUse::PST or value = vocab::PostalAddressUse::PUB or value = vocab::PostalAddressUse::TMP or value = vocab::PostalAddressUse::WP) ))) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.88')).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (( not use->isEmpty()) ))) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.88')).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((country->isEmpty() or country->exists(element | element.isNullFlavorUndefined())) implies (( not country->isEmpty()) ) ))) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.88')).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((state->isEmpty() or state->exists(element | element.isNullFlavorUndefined())) implies (( not state->isEmpty()) ) ))) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.88')).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((city->isEmpty() or city->exists(element | element.isNullFlavorUndefined())) implies (city->size() = 1) ))) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.88')).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((postalCode->isEmpty() or postalCode->exists(element | element.isNullFlavorUndefined())) implies (( not postalCode->isEmpty()) ) ))) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.88')).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((streetAddressLine->isEmpty() or streetAddressLine->exists(element | element.isNullFlavorUndefined())) implies (( not streetAddressLine->isEmpty()) ) ))) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.88')).assignedEntity->excluding(null)->reject((performer.assignedEntity.assignedPerson->exists(not oclIsUndefined()) and performer.assignedEntity.assignedPerson.name->size() >0) or (performer.assignedEntity.representedOrganization->exists(not oclIsUndefined()) and performer.assignedEntity.representedOrganization.name->size() >0 )) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.88')).assignedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.code = 'GUAR' and value.codeSystem = '2.16.840.1.113883.5.110')) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.88')).assignedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.88')).assignedEntity->excluding(null)->reject((addr->isEmpty() or addr->exists(element | element.isNullFlavorUndefined())) implies (( not addr->isEmpty()) )) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.88')).assignedEntity->excluding(null)->reject((telecom->isEmpty() or telecom->exists(element | element.isNullFlavorUndefined())) implies (( not telecom->isEmpty()) )) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.88'))->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.88'))->reject(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.88')) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.88'))->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.88'))->reject((time.oclIsUndefined() or time.isNullFlavorUndefined()) implies (not time.oclIsUndefined())) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.88'))->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.88'))->reject(typeCode=vocab::ParticipationPhysicalPerformer::PRF) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.88'))->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.88'))->reject(assignedEntity->one(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(cda::AssignedEntity))) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::COV).participantRole->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() implies ( streetAddressLine->size() >=1 and streetAddressLine->size() <=4)) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::COV).participantRole->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() and country->exists(c : datatypes::ADXP | c.getText() = 'US') implies state->size() >= 1) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::COV).participantRole->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() and country->exists(c : datatypes::ADXP | c.getText() = 'US') implies postalCode->size() >= 1) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::COV).participantRole->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (use->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(vocab::PostalAddressUse) and let value : vocab::PostalAddressUse = element.oclAsType(vocab::PostalAddressUse) in value = vocab::PostalAddressUse::BAD or value = vocab::PostalAddressUse::DIR or value = vocab::PostalAddressUse::H or value = vocab::PostalAddressUse::HP or value = vocab::PostalAddressUse::HV or value = vocab::PostalAddressUse::PHYS or value = vocab::PostalAddressUse::PST or value = vocab::PostalAddressUse::PUB or value = vocab::PostalAddressUse::TMP or value = vocab::PostalAddressUse::WP) ))) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::COV).participantRole->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (( not use->isEmpty()) ))) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::COV).participantRole->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((country->isEmpty() or country->exists(element | element.isNullFlavorUndefined())) implies (( not country->isEmpty()) ) ))) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::COV).participantRole->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((state->isEmpty() or state->exists(element | element.isNullFlavorUndefined())) implies (( not state->isEmpty()) ) ))) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::COV).participantRole->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((city->isEmpty() or city->exists(element | element.isNullFlavorUndefined())) implies (city->size() = 1) ))) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::COV).participantRole->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((postalCode->isEmpty() or postalCode->exists(element | element.isNullFlavorUndefined())) implies (( not postalCode->isEmpty()) ) ))) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::COV).participantRole->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((streetAddressLine->isEmpty() or streetAddressLine->exists(element | element.isNullFlavorUndefined())) implies (( not streetAddressLine->isEmpty()) ) ))) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::COV).participantRole->excluding(null).playingEntity->excluding(null)->reject((name->isEmpty() or name->exists(element | element.isNullFlavorUndefined())) implies (name->size() = 1)) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::COV).participantRole->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (( not id->isEmpty()) )) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::COV).participantRole->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.5.111' and (value.code = 'FAMDEP' or value.code = 'FSTUD' or value.code = 'HANDIC' or value.code = 'INJ' or value.code = 'PSTUD' or value.code = 'SELF' or value.code = 'SPON' or value.code = 'STUD'))) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::COV).participantRole->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::COV).participantRole->excluding(null)->reject((addr->isEmpty() or addr->exists(element | element.isNullFlavorUndefined())) implies (( not addr->isEmpty()) )) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::COV).participantRole->excluding(null)->reject(playingEntity->one(playingEntity : cda::PlayingEntity | not playingEntity.oclIsUndefined() and playingEntity.oclIsKindOf(cda::PlayingEntity))) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::COV)->select(typeCode=vocab::ParticipationType::COV)->reject(not time.oclIsUndefined() implies not time.low.oclIsUndefined()) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::COV)->select(typeCode=vocab::ParticipationType::COV)->reject(not time.oclIsUndefined() implies not time.high.oclIsUndefined()) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::COV)->select(typeCode=vocab::ParticipationType::COV)->reject(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.89')) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::COV)->select(typeCode=vocab::ParticipationType::COV)->reject(typeCode=vocab::ParticipationType::COV) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::COV)->select(typeCode=vocab::ParticipationType::COV)->reject((time.oclIsUndefined() or time.isNullFlavorUndefined()) implies (not time.oclIsUndefined())) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::COV)->select(typeCode=vocab::ParticipationType::COV)->reject(participantRole->one(participantRole : cda::ParticipantRole | not participantRole.oclIsUndefined() and participantRole.oclIsKindOf(cda::ParticipantRole))) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::HLD).participantRole->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() implies ( streetAddressLine->size() >=1 and streetAddressLine->size() <=4)) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::HLD).participantRole->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() and country->exists(c : datatypes::ADXP | c.getText() = 'US') implies state->size() >= 1) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::HLD).participantRole->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() and country->exists(c : datatypes::ADXP | c.getText() = 'US') implies postalCode->size() >= 1) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::HLD).participantRole->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (use->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(vocab::PostalAddressUse) and let value : vocab::PostalAddressUse = element.oclAsType(vocab::PostalAddressUse) in value = vocab::PostalAddressUse::BAD or value = vocab::PostalAddressUse::DIR or value = vocab::PostalAddressUse::H or value = vocab::PostalAddressUse::HP or value = vocab::PostalAddressUse::HV or value = vocab::PostalAddressUse::PHYS or value = vocab::PostalAddressUse::PST or value = vocab::PostalAddressUse::PUB or value = vocab::PostalAddressUse::TMP or value = vocab::PostalAddressUse::WP) ))) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::HLD).participantRole->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (( not use->isEmpty()) ))) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::HLD).participantRole->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((country->isEmpty() or country->exists(element | element.isNullFlavorUndefined())) implies (( not country->isEmpty()) ) ))) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::HLD).participantRole->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((state->isEmpty() or state->exists(element | element.isNullFlavorUndefined())) implies (( not state->isEmpty()) ) ))) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::HLD).participantRole->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((city->isEmpty() or city->exists(element | element.isNullFlavorUndefined())) implies (city->size() = 1) ))) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::HLD).participantRole->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((postalCode->isEmpty() or postalCode->exists(element | element.isNullFlavorUndefined())) implies (( not postalCode->isEmpty()) ) ))) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::HLD).participantRole->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((streetAddressLine->isEmpty() or streetAddressLine->exists(element | element.isNullFlavorUndefined())) implies (( not streetAddressLine->isEmpty()) ) ))) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::HLD).participantRole->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (( not id->isEmpty()) )) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::HLD).participantRole->excluding(null)->reject((addr->isEmpty() or addr->exists(element | element.isNullFlavorUndefined())) implies (( not addr->isEmpty()) )) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::HLD)->select(typeCode=vocab::ParticipationType::HLD)->reject(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.90')) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::HLD)->select(typeCode=vocab::ParticipationType::HLD)->reject(typeCode=vocab::ParticipationType::HLD) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::HLD)->select(typeCode=vocab::ParticipationType::HLD)->reject((time.oclIsUndefined() or time.isNullFlavorUndefined()) implies (not time.oclIsUndefined())) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::HLD)->select(typeCode=vocab::ParticipationType::HLD)->reject(participantRole->one(participantRole : cda::ParticipantRole | not participantRole.oclIsUndefined() and participantRole.oclIsKindOf(cda::ParticipantRole))) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::REFR)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::REFR)->reject(act->one(a : cda::Act | a.oclIsTypeOf(consol::AuthorizationActivity) or (a.classCode=vocab::x_ActClassDocumentEntryAct::ACT and a.moodCode=vocab::x_DocumentActMood::DEF))) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::REFR)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::REFR)->reject(act->select(a : cda::Act | a.classCode=vocab::x_ActClassDocumentEntryAct::ACT and (a.moodCode=vocab::x_DocumentActMood::DEF))->forAll(id->size() > 0 and text->size() = 1)) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::REFR)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::REFR)->reject(typeCode=vocab::x_ActRelationshipEntryRelationship::REFR) @@ -9446,48 +9446,48 @@ value = vocab::PostalAddressUse::BAD or value = vocab::PostalAddressUse::DIR or self.entryRelationship->forAll(er : cda::EntryRelationship | not er.sequenceNumber.oclIsUndefined()) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.60') - - + + OCL self.classCode=vocab::x_ActClassDocumentEntryAct::ACT - - + + OCL self.moodCode=vocab::x_DocumentActMood::EVN - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '48768-6' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::PolicyActivity) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::COMP) @@ -9495,15 +9495,15 @@ value.code = 'completed') - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::PolicyActivity)).oclAsType(consol::PolicyActivity) - - + + @@ -9573,98 +9573,98 @@ value.code = 'completed') self.value.oclAsType(datatypes::CD).translation->size()>0 implies self.value.oclAsType(datatypes::CD).translation->forAll(code->size() = 1) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.4') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL not self.negationInd.oclIsUndefined() - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in 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')) - - + + OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (not self.text.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined())) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | element.oclIsTypeOf(datatypes::CD))) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::AgeObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::HealthStatusObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::ProblemStatus) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) @@ -9672,37 +9672,37 @@ value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined()) - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::AgeObservation))->asSequence()->any(true).oclAsType(consol::AgeObservation) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::HealthStatusObservation))->asSequence()->any(true).oclAsType(consol::HealthStatusObservation) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ProblemStatus))->asSequence()->any(true).oclAsType(consol::ProblemStatus) - - + + @@ -9730,48 +9730,48 @@ The Problem Status records whether the indicated problem is active, inactive, or not self.text.reference.value.oclIsUndefined() implies not self.getSection().text.getText(self.text.reference.value.substring(2, self.text.reference.value.size())).oclIsUndefined() - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.6') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '33999-4' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (not self.text.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in @@ -9783,40 +9783,40 @@ value.codeSystem = '2.16.840.1.113883.6.96' and (value.code = '55561003' or valu - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.53') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.5.8' and (value.code = 'IMMUNE' or value.code = 'MEDPREC' or value.code = 'OSTOCK' or value.code = 'PATOBJ' or value.code = 'PHILISOP' or value.code = 'RELIG' or value.code = 'VACEFF' or value.code = 'VACSAF')) - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in @@ -9831,70 +9831,70 @@ value.code = 'completed') The Immunization Medication Information represents product information about the immunization substance. The vaccine manufacturer and vaccine lot number are typically recorded in the medical record and should be included if known. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.54') - - + + OCL isDefined('classCode') and self.classCode=vocab::RoleClassManufacturedProduct::MANU - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (not self.id->isEmpty()) - - + + OCL self.manufacturerOrganization->one(manufacturerOrganization : cda::Organization | not manufacturerOrganization.oclIsUndefined() and manufacturerOrganization.oclIsKindOf(rim::Entity)) - - + + OCL self.manufacturedMaterial->one(manufacturedMaterial : cda::Material | not manufacturedMaterial.oclIsUndefined() and manufacturedMaterial.oclIsKindOf(cda::Material)) - - + + OCL self.manufacturedMaterial->excluding(null)->reject(code.originalText->size() = 1) - - + + OCL self.manufacturedMaterial->excluding(null)->reject(code.originalText->size() = 1 implies code.originalText->one(reference->size() = 1)) - - + + OCL self.manufacturedMaterial->excluding(null)->reject(code.originalText.reference->size() = 1 implies code.originalText.reference.value->size() = 1) - - + + OCL self.manufacturedMaterial->excluding(null)->reject(code->size() = 1 implies code.translation->size() > 0) - - + + OCL self.manufacturedMaterial->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.12.292' and not value.code.oclIsUndefined())) - - + + OCL self.manufacturedMaterial->excluding(null)->reject((lotNumberText.oclIsUndefined() or lotNumberText.isNullFlavorUndefined()) implies (not lotNumberText.oclIsUndefined())) @@ -9907,40 +9907,40 @@ value.codeSystem = '2.16.840.1.113883.12.292' and not value.code.oclIsUndefined( This section lists and describes any medication allergies, adverse reactions, idiosyncratic reactions, anaphylaxis/anaphylactoid reactions to food items, and metabolic variations or adverse reactions/allergies to other substances (such as latex, iodine, tape adhesives) used to assure the safety of health care delivery. At a minimum, it should list currently active and any relevant historical allergies and adverse reactions. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.6') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '48765-2' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::AllergyProblemAct)) @@ -9948,15 +9948,15 @@ value.code = '48765-2' and value.codeSystem = '2.16.840.1.113883.6.1') - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::AllergyProblemAct)).oclAsType(consol::AllergyProblemAct) - - + + @@ -9965,40 +9965,40 @@ value.code = '48765-2' and value.codeSystem = '2.16.840.1.113883.6.1') The Medications section defines a patient's current medications and pertinent medication history. At a minimum, the currently active medications are to be listed, with an entire medication history as an option. The section may also include a patient's prescription and dispense history. This section requires that there be either an entry indicating the subject is not known to be on any medications, or that there be entries summarizing the subject's medications. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '10160-0' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.substanceAdministration.oclIsUndefined() and entry.substanceAdministration.oclIsKindOf(consol::MedicationActivity)) @@ -10006,15 +10006,15 @@ value.code = '10160-0' and value.codeSystem = '2.16.840.1.113883.6.1') - - - + + + OCL self.getSubstanceAdministrations()->select(substanceAdministration : cda::SubstanceAdministration | not substanceAdministration.oclIsUndefined() and substanceAdministration.oclIsKindOf(consol::MedicationActivity)).oclAsType(consol::MedicationActivity) - - + + @@ -10022,40 +10022,40 @@ value.code = '10160-0' and value.codeSystem = '2.16.840.1.113883.6.1') This section lists and describes all relevant clinical problems at the time the document is generated. At a minimum, all pertinent current and historical problems should be listed. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.5') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '11450-4' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::ProblemConcernAct)) @@ -10063,15 +10063,15 @@ value.code = '11450-4' and value.codeSystem = '2.16.840.1.113883.6.1') - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::ProblemConcernAct)).oclAsType(consol::ProblemConcernAct) - - + + @@ -10080,52 +10080,52 @@ value.code = '11450-4' and value.codeSystem = '2.16.840.1.113883.6.1') This section defines all interventional, surgical, diagnostic, or therapeutic procedures or treatments pertinent to the patient historically at the time the document is generated. The section is intended to include notable procedures, but can contain all procedures for the period of time being summarized. The common notion of "procedure" is broader than that specified by the HL7 Version 3 Reference Information Model (RIM). Therefore this section contains procedure templates represented with three RIM classes: Act. Observation, and Procedure. Procedure act is for procedures the alter that physical condition of a patient (Splenectomy). Observation act is for procedures that result in new information about a patient but do not cause physical alteration (EEG). Act is for all other types of procedures (dressing change). The length of an encounter is documented in the documentationOf/encompassingEncounter/effectiveTime and length of service in documentationOf/ServiceEvent/effectiveTime. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.7') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '47519-4' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.procedure.oclIsUndefined() and entry.procedure.oclIsKindOf(consol::ProcedureActivityProcedure)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::ProcedureActivityObservation)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::ProcedureActivityAct)) @@ -10133,37 +10133,37 @@ value.code = '47519-4' and value.codeSystem = '2.16.840.1.113883.6.1') - - - + + + OCL self.getProcedures()->select(procedure : cda::Procedure | not procedure.oclIsUndefined() and procedure.oclIsKindOf(consol::ProcedureActivityProcedure)).oclAsType(consol::ProcedureActivityProcedure) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ProcedureActivityObservation)).oclAsType(consol::ProcedureActivityObservation) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::ProcedureActivityAct)).oclAsType(consol::ProcedureActivityAct) - - + + @@ -10180,40 +10180,40 @@ Imaging results are typically generated by a clinician reviewing the output of a Procedure results are typically generated by a clinician to provide more granular information about component observations made during a procedure, such as where a gastroenterologist reports the size of a polyp observed during a colonoscopy. </p> - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.3') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '30954-2' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.organizer.oclIsUndefined() and entry.organizer.oclIsKindOf(consol::ResultOrganizer)) @@ -10221,15 +10221,15 @@ value.code = '30954-2' and value.codeSystem = '2.16.840.1.113883.6.1') - - - + + + OCL self.getOrganizers()->select(organizer : cda::Organizer | not organizer.oclIsUndefined() and organizer.oclIsKindOf(consol::ResultOrganizer)).oclAsType(consol::ResultOrganizer) - - + + @@ -10242,40 +10242,40 @@ This section contains data defining the patient's advance directives and any ref NOTE: The descriptions in this section differentiate between "advance directives" and "advance directive documents". The former are the directions whereas the latter are legal documents containing those directions. Thus, an advance directive might be "no cardiopulmonary resuscitation", and this directive might be stated in a legal advance directive document. </p> - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.21') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '42348-3' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::AdvanceDirectiveObservation)) @@ -10283,15 +10283,15 @@ value.code = '42348-3' and value.codeSystem = '2.16.840.1.113883.6.1') - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::AdvanceDirectiveObservation)).oclAsType(consol::AdvanceDirectiveObservation) - - + + @@ -10299,40 +10299,40 @@ value.code = '42348-3' and value.codeSystem = '2.16.840.1.113883.6.1') This section lists and describes any healthcare encounters pertinent to the patient's current health status or historical health history. An Encounter is an interaction, regardless of the setting, between a patient and a practitioner who is vested with primary responsibility for diagnosing, evaluating, or treating the patient's condition. It may include visits, appointments, as well as non face-to-face interactions. It is also a contact between a patient and a practitioner who has primary responsibility for assessing and treating the patient at a given contact, exercising independent judgment. This section may contain all encounters for the time period being summarized, but should include notable encounters. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.22') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '46240-8' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.encounter.oclIsUndefined() and entry.encounter.oclIsKindOf(consol::EncounterActivities)) @@ -10340,15 +10340,15 @@ value.code = '46240-8' and value.codeSystem = '2.16.840.1.113883.6.1') - - - + + + OCL self.getEncounters()->select(encounter : cda::Encounter | not encounter.oclIsUndefined() and encounter.oclIsKindOf(consol::EncounterActivities)).oclAsType(consol::EncounterActivities) - - + + @@ -10356,40 +10356,40 @@ value.code = '46240-8' and value.codeSystem = '2.16.840.1.113883.6.1') The Immunizations section defines a patient's current immunization status and pertinent immunization history. The primary use case for the Immunization section is to enable communication of a patient's immunization status. The section should include current immunization status, and may contain the entire immunization history that is relevant to the period of time being summarized. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.2') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '11369-6' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.substanceAdministration.oclIsUndefined() and entry.substanceAdministration.oclIsKindOf(consol::ImmunizationActivity)) @@ -10397,15 +10397,15 @@ value.code = '11369-6' and value.codeSystem = '2.16.840.1.113883.6.1') - - - + + + OCL self.getSubstanceAdministrations()->select(substanceAdministration : cda::SubstanceAdministration | not substanceAdministration.oclIsUndefined() and substanceAdministration.oclIsKindOf(consol::ImmunizationActivity)).oclAsType(consol::ImmunizationActivity) - - + + @@ -10415,40 +10415,40 @@ value.code = '11369-6' and value.codeSystem = '2.16.840.1.113883.6.1') <p>Vital signs are represented in the same way as other results, but are aggregated into their own section to follow clinical conventions.</p> - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.4') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '8716-3' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.organizer.oclIsUndefined() and entry.organizer.oclIsKindOf(consol::VitalSignsOrganizer)) @@ -10459,15 +10459,15 @@ value.code = '8716-3' and value.codeSystem = '2.16.840.1.113883.6.1') - - - + + + OCL self.getOrganizers()->select(organizer : cda::Organizer | not organizer.oclIsUndefined() and organizer.oclIsKindOf(consol::VitalSignsOrganizer)).oclAsType(consol::VitalSignsOrganizer) - - + + @@ -10524,214 +10524,214 @@ This clinical statement represents procedures that result in new information abo self.entryRelationship->select(er : cda::EntryRelationship | er.act.oclIsTypeOf(consol::Instructions))->forAll(ent : cda::EntryRelationship | ent.inversionInd=true) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.13') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL not self.moodCode.oclIsUndefined() and self.moodCode.oclIsKindOf(vocab::x_ActMoodDocumentObservation) and let value : vocab::x_ActMoodDocumentObservation = self.moodCode.oclAsType(vocab::x_ActMoodDocumentObservation) in value = vocab::x_ActMoodDocumentObservation::EVN or value = vocab::x_ActMoodDocumentObservation::INT - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed' or value.code = 'active' or value.code = 'aborted' or value.code = 'cancelled') - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL (self.priorityCode.oclIsUndefined() or self.priorityCode.isNullFlavorUndefined()) implies (not self.priorityCode.oclIsUndefined()) - - + + OCL (self.priorityCode.oclIsUndefined() or self.priorityCode.isNullFlavorUndefined()) implies (not self.priorityCode.oclIsUndefined() and self.priorityCode.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.priorityCode.oclAsType(datatypes::CE) in 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')) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1) - - + + OCL (self.methodCode->isEmpty() or self.methodCode->exists(element | element.isNullFlavorUndefined())) implies (( not self.methodCode->isEmpty()) ) - - + + OCL (self.targetSiteCode->isEmpty() or self.targetSiteCode->exists(element | element.isNullFlavorUndefined())) implies (not self.targetSiteCode->isEmpty()) - - + + OCL (self.targetSiteCode->isEmpty() or self.targetSiteCode->exists(element | element.isNullFlavorUndefined())) implies (self.targetSiteCode->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined())) - - + + OCL self.performer->exists(performer : cda::Performer2 | not performer.oclIsUndefined() and performer.oclIsKindOf(cda::Performer2)) - - + + OCL self.participant->exists(participant : cda::Participant2 | not participant.participantRole.oclIsUndefined() and participant.participantRole.oclIsKindOf(consol::ServiceDeliveryLocation)) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::Instructions) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::Indication) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::RSON) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.substanceAdministration.oclIsUndefined() and entryRelationship.substanceAdministration.oclIsKindOf(consol::MedicationActivity) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::COMP) - - + + OCL self.entryRelationship->select(entryRelationship : cda::EntryRelationship | not entryRelationship.oclIsUndefined() and entryRelationship.oclIsKindOf(cda::EntryRelationship))->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and not encounter.oclIsUndefined() and encounter.oclIsKindOf(cda::Encounter))->notEmpty() - - + + OCL self.performer->excluding(null).assignedEntity->excluding(null).representedOrganization->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (not id->isEmpty())) - - + + OCL self.performer->excluding(null).assignedEntity->excluding(null).representedOrganization->excluding(null)->reject((name->isEmpty() or name->exists(element | element.isNullFlavorUndefined())) implies (not name->isEmpty())) - - + + OCL self.performer->excluding(null).assignedEntity->excluding(null).representedOrganization->excluding(null)->reject((telecom->isEmpty() or telecom->exists(element | element.isNullFlavorUndefined())) implies (telecom->size() = 1)) - - + + OCL self.performer->excluding(null).assignedEntity->excluding(null).representedOrganization->excluding(null)->reject((addr->isEmpty() or addr->exists(element | element.isNullFlavorUndefined())) implies (addr->size() = 1)) - - + + OCL self.performer->excluding(null).assignedEntity->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (not id->isEmpty())) - - + + OCL self.performer->excluding(null).assignedEntity->excluding(null)->reject((addr->isEmpty() or addr->exists(element | element.isNullFlavorUndefined())) implies (addr->size() = 1)) - - + + OCL self.performer->excluding(null).assignedEntity->excluding(null)->reject((telecom->isEmpty() or telecom->exists(element | element.isNullFlavorUndefined())) implies (telecom->size() = 1)) - - + + OCL self.performer->excluding(null).assignedEntity->excluding(null)->reject(representedOrganization->one(representedOrganization : cda::Organization | not representedOrganization.oclIsUndefined() and representedOrganization.oclIsKindOf(cda::Organization))) - - + + OCL self.performer->excluding(null)->reject(assignedEntity->one(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(cda::AssignedEntity))) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and not encounter.oclIsUndefined() and encounter.oclIsKindOf(cda::Encounter)).encounter->excluding(null)->reject(classCode=vocab::ActClass::ENC) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and not encounter.oclIsUndefined() and encounter.oclIsKindOf(cda::Encounter)).encounter->excluding(null)->reject(moodCode=vocab::x_DocumentEncounterMood::EVN) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and not encounter.oclIsUndefined() and encounter.oclIsKindOf(cda::Encounter)).encounter->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (id->size() = 1)) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and not encounter.oclIsUndefined() and encounter.oclIsKindOf(cda::Encounter))->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and not encounter.oclIsUndefined() and encounter.oclIsKindOf(cda::Encounter))->reject(not inversionInd.oclIsUndefined() and inversionInd=true) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and not encounter.oclIsUndefined() and encounter.oclIsKindOf(cda::Encounter))->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and not encounter.oclIsUndefined() and encounter.oclIsKindOf(cda::Encounter))->reject(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and not encounter.oclIsUndefined() and encounter.oclIsKindOf(cda::Encounter))->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and not encounter.oclIsUndefined() and encounter.oclIsKindOf(cda::Encounter))->reject(encounter->one(encounter : cda::Encounter | not encounter.oclIsUndefined() and encounter.oclIsKindOf(cda::Encounter))) @@ -10739,48 +10739,48 @@ value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined()) - - - + + + OCL self.getParticipantRoles()->select(participantRole : cda::ParticipantRole | not participantRole.oclIsUndefined() and participantRole.oclIsKindOf(consol::ServiceDeliveryLocation)).oclAsType(consol::ServiceDeliveryLocation) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::Instructions))->asSequence()->any(true).oclAsType(consol::Instructions) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::Indication)).oclAsType(consol::Indication) - - + + - - - + + + OCL self.getSubstanceAdministrations()->select(substanceAdministration : cda::SubstanceAdministration | not substanceAdministration.oclIsUndefined() and substanceAdministration.oclIsKindOf(consol::MedicationActivity)).oclAsType(consol::MedicationActivity) - - + + @@ -10837,188 +10837,188 @@ This clinical statement represents any procedure that cannot be classified as an self.entryRelationship->select(er : cda::EntryRelationship | er.act.oclIsTypeOf(consol::Instructions))->forAll(ent : cda::EntryRelationship | ent.inversionInd=true) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.12') - - + + OCL self.classCode=vocab::x_ActClassDocumentEntryAct::ACT - - + + OCL not self.moodCode.oclIsUndefined() and self.moodCode.oclIsKindOf(vocab::x_DocumentActMood) and let value : vocab::x_DocumentActMood = self.moodCode.oclAsType(vocab::x_DocumentActMood) in value = vocab::x_DocumentActMood::EVN or value = vocab::x_DocumentActMood::INT - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed' or value.code = 'active' or value.code = 'aborted' or value.code = 'cancelled') - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL (self.priorityCode.oclIsUndefined() or self.priorityCode.isNullFlavorUndefined()) implies (not self.priorityCode.oclIsUndefined()) - - + + OCL (self.priorityCode.oclIsUndefined() or self.priorityCode.isNullFlavorUndefined()) implies (not self.priorityCode.oclIsUndefined() and self.priorityCode.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.priorityCode.oclAsType(datatypes::CE) in 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')) - - + + OCL self.performer->exists(performer : cda::Performer2 | not performer.oclIsUndefined() and performer.oclIsKindOf(cda::Performer2)) - - + + OCL self.participant->exists(participant : cda::Participant2 | not participant.participantRole.oclIsUndefined() and participant.participantRole.oclIsKindOf(consol::ServiceDeliveryLocation)) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::Instructions) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::Indication) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::RSON) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.substanceAdministration.oclIsUndefined() and entryRelationship.substanceAdministration.oclIsKindOf(consol::MedicationActivity) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::COMP) - - + + OCL self.entryRelationship->select(entryRelationship : cda::EntryRelationship | not entryRelationship.oclIsUndefined() and entryRelationship.oclIsKindOf(cda::EntryRelationship))->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and not encounter.oclIsUndefined() and encounter.oclIsKindOf(cda::Encounter))->notEmpty() - - + + OCL self.performer->excluding(null).assignedEntity->excluding(null).representedOrganization->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (not id->isEmpty())) - - + + OCL self.performer->excluding(null).assignedEntity->excluding(null).representedOrganization->excluding(null)->reject((name->isEmpty() or name->exists(element | element.isNullFlavorUndefined())) implies (not name->isEmpty())) - - + + OCL self.performer->excluding(null).assignedEntity->excluding(null).representedOrganization->excluding(null)->reject((telecom->isEmpty() or telecom->exists(element | element.isNullFlavorUndefined())) implies (telecom->size() = 1)) - - + + OCL self.performer->excluding(null).assignedEntity->excluding(null).representedOrganization->excluding(null)->reject((addr->isEmpty() or addr->exists(element | element.isNullFlavorUndefined())) implies (addr->size() = 1)) - - + + OCL self.performer->excluding(null).assignedEntity->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (not id->isEmpty())) - - + + OCL self.performer->excluding(null).assignedEntity->excluding(null)->reject((addr->isEmpty() or addr->exists(element | element.isNullFlavorUndefined())) implies (addr->size() = 1)) - - + + OCL self.performer->excluding(null).assignedEntity->excluding(null)->reject((telecom->isEmpty() or telecom->exists(element | element.isNullFlavorUndefined())) implies (telecom->size() = 1)) - - + + OCL self.performer->excluding(null).assignedEntity->excluding(null)->reject(representedOrganization->one(representedOrganization : cda::Organization | not representedOrganization.oclIsUndefined() and representedOrganization.oclIsKindOf(cda::Organization))) - - + + OCL self.performer->excluding(null)->reject(assignedEntity->one(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(cda::AssignedEntity))) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and not encounter.oclIsUndefined() and encounter.oclIsKindOf(cda::Encounter)).encounter->excluding(null)->reject(classCode=vocab::ActClass::ENC) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and not encounter.oclIsUndefined() and encounter.oclIsKindOf(cda::Encounter)).encounter->excluding(null)->reject(moodCode=vocab::x_DocumentEncounterMood::EVN) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and not encounter.oclIsUndefined() and encounter.oclIsKindOf(cda::Encounter)).encounter->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (id->size() = 1)) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and not encounter.oclIsUndefined() and encounter.oclIsKindOf(cda::Encounter))->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and not encounter.oclIsUndefined() and encounter.oclIsKindOf(cda::Encounter))->reject(not inversionInd.oclIsUndefined() and inversionInd=true) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and not encounter.oclIsUndefined() and encounter.oclIsKindOf(cda::Encounter))->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and not encounter.oclIsUndefined() and encounter.oclIsKindOf(cda::Encounter))->reject(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and not encounter.oclIsUndefined() and encounter.oclIsKindOf(cda::Encounter))->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and not encounter.oclIsUndefined() and encounter.oclIsKindOf(cda::Encounter))->reject(encounter->one(encounter : cda::Encounter | not encounter.oclIsUndefined() and encounter.oclIsKindOf(cda::Encounter))) @@ -11026,48 +11026,48 @@ value.codeSystem = '2.16.840.1.113883.5.7' and (value.code = 'A' or value.code = - - - + + + OCL self.getParticipantRoles()->select(participantRole : cda::ParticipantRole | not participantRole.oclIsUndefined() and participantRole.oclIsKindOf(consol::ServiceDeliveryLocation)).oclAsType(consol::ServiceDeliveryLocation) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::Instructions))->asSequence()->any(true).oclAsType(consol::Instructions) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::Indication)).oclAsType(consol::Indication) - - + + - - - + + + OCL self.getSubstanceAdministrations()->select(substanceAdministration : cda::SubstanceAdministration | not substanceAdministration.oclIsUndefined() and substanceAdministration.oclIsKindOf(consol::MedicationActivity)).oclAsType(consol::MedicationActivity) - - + + @@ -11076,44 +11076,44 @@ value.codeSystem = '2.16.840.1.113883.5.7' and (value.code = 'A' or value.code = An Authorization Activity represents authorizations or pre-authorizations currently active for the patient for the particular payer. Authorizations are represented using an act subordinate to the policy or program that provided it. The authorization refers to the policy or program. Authorized treatments can be grouped into an organizer class, where common properties, such as the reason for the authorization, can be expressed. Subordinate acts represent what was authorized. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.1.19') - - + + OCL self.classCode=vocab::x_ActClassDocumentEntryAct::ACT - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (self.id->size() = 1) - - + + OCL self.moodCode=vocab::x_DocumentActMood::EVN - - + + OCL self.entryRelationship->select(entryRelationship : cda::EntryRelationship | not entryRelationship.oclIsUndefined() and entryRelationship.oclIsKindOf(cda::EntryRelationship))->select(typeCode=vocab::x_ActRelationshipEntryRelationship::SUBJ)->size() = 1 - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::SUBJ)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::SUBJ)->reject(act->exists(moodCode = vocab::x_DocumentActMood::PRMS) or encounter->exists(moodCode = vocab::x_DocumentEncounterMood::PRMS) or observation->exists(moodCode = vocab::x_ActMoodDocumentObservation::PRMS) or observationMedia->exists(moodCode = vocab::ActMood::PRMS) or organizer->exists(moodCode = vocab::ActMood::PRMS) or procedure->exists(moodCode = vocab::x_DocumentProcedureMood::PRMS) or regionOfInterest->exists(moodCode = vocab::ActMood::PRMS) or substanceAdministration->exists(moodCode = vocab::x_DocumentSubstanceMood::PRMS) or supply->exists(moodCode = vocab::x_DocumentSubstanceMood::PRMS)) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::SUBJ)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::SUBJ)->reject(act->forAll( (moodCode = vocab::x_DocumentActMood::PRMS and performer->size() > 0) or moodCode <> vocab::x_DocumentActMood::PRMS ) and encounter->forAll((moodCode = vocab::x_DocumentEncounterMood::PRMS and performer->size() > 0) or moodCode <> vocab::x_DocumentEncounterMood::PRMS) and @@ -11126,8 +11126,8 @@ substanceAdministration->forAll((moodCode = vocab::x_DocumentSubstanceMood::PRMS supply->forAll((moodCode = vocab::x_DocumentSubstanceMood::PRMS and performer->size() > 0) or moodCode <> vocab::x_DocumentSubstanceMood::PRMS)) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::SUBJ)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::SUBJ)->reject(typeCode=vocab::x_ActRelationshipEntryRelationship::SUBJ) @@ -11155,62 +11155,62 @@ supply->forAll((moodCode = vocab::x_DocumentSubstanceMood::PRMS and performer->s self.product.manufacturedProduct.oclIsTypeOf(consol::MedicationInformation) xor self.product.manufacturedProduct.oclIsTypeOf(consol::ImmunizationMedicationInformation) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.17') - - + + OCL self.classCode=vocab::ActClassSupply::SPLY - - + + OCL self.moodCode=vocab::x_DocumentSubstanceMood::INT - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.effectiveTime->isEmpty() or self.effectiveTime->exists(element | element.isNullFlavorUndefined())) implies (( not self.effectiveTime->isEmpty()) ) - - + + OCL (self.repeatNumber.oclIsUndefined() or self.repeatNumber.isNullFlavorUndefined()) implies (not self.repeatNumber.oclIsUndefined()) - - + + OCL (self.quantity.oclIsUndefined() or self.quantity.isNullFlavorUndefined()) implies (not self.quantity.oclIsUndefined()) - - + + OCL self.author->one(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(rim::Participation)) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::Instructions) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ) @@ -11218,15 +11218,15 @@ supply->forAll((moodCode = vocab::x_DocumentSubstanceMood::PRMS and performer->s - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::Instructions))->asSequence()->any(true).oclAsType(consol::Instructions) - - + + @@ -11234,42 +11234,42 @@ supply->forAll((moodCode = vocab::x_DocumentSubstanceMood::PRMS and performer->s This clinical statement represents the anticipated date when a woman will give birth. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.15.3.1') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '11778-8' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | element.oclIsTypeOf(datatypes::TS))) @@ -11282,40 +11282,40 @@ value.code = 'completed') The Hospital Discharge Diagnosis section describes the relevant problems or diagnoses at the time of discharge that occurred during the hospitalization or that need to be followed after hospitalization. This section includes an optional entry to record patient conditions. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.24') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '11535-2' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->one(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::HospitalDischargeDiagnosis)) @@ -11323,15 +11323,15 @@ value.code = '11535-2' and value.codeSystem = '2.16.840.1.113883.6.1') - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::HospitalDischargeDiagnosis))->asSequence()->any(true).oclAsType(consol::HospitalDischargeDiagnosis) - - + + @@ -11339,40 +11339,40 @@ value.code = '11535-2' and value.codeSystem = '2.16.840.1.113883.6.1') The Hospital Discharge Medications section defines the medications that the patient is intended to take (or stop) after discharge. The currently active medications must be listed. The section may also include a patient's prescription history and indicate the source of the medication list, for example, from a pharmacy system versus from the patient. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.11') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '10183-2' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::DischargeMedication)) @@ -11380,15 +11380,15 @@ value.code = '10183-2' and value.codeSystem = '2.16.840.1.113883.6.1') - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::DischargeMedication)).oclAsType(consol::DischargeMedication) - - + + @@ -11396,34 +11396,34 @@ value.code = '10183-2' and value.codeSystem = '2.16.840.1.113883.6.1') The Hospital Course section describes the sequence of events from admission to discharge in a hospital facility. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '1.3.6.1.4.1.19376.1.5.3.1.3.5') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '8648-8' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() @@ -11436,34 +11436,34 @@ value.code = '8648-8' and value.codeSystem = '2.16.840.1.113883.6.1') This section records a narrative description of the expectations for diet, including proposals, goals, and order requests for monitoring, tracking, or improving the dietary control of the patient, used in a discharge from a facility such as an emergency department, hospital, or nursing home. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '1.3.6.1.4.1.19376.1.5.3.1.3.33') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '42344-2' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() @@ -11480,34 +11480,34 @@ Imaging results are typically generated by a clinician reviewing the output of a Procedure results are typically generated by a clinician wanting to provide more granular information about component observations made during the performance of a procedure, such as when a gastroenterologist reports the size of a polyp observed during a colonoscopy. Note that there are discrepancies between CCD and the lab domain model, such as the effectiveTime in specimen collection. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.16') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '11493-4' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() @@ -11520,32 +11520,32 @@ value.code = '11493-4' and value.codeSystem = '2.16.840.1.113883.6.1') The Discharge Medications entry codes medications that the patient is intended to take (or stop) after discharge. - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.substanceAdministration.oclIsUndefined() and entryRelationship.substanceAdministration.oclIsKindOf(consol::MedicationActivity) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.35') - - + + OCL self.classCode=vocab::x_ActClassDocumentEntryAct::ACT - - + + OCL self.moodCode=vocab::x_DocumentActMood::EVN - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in @@ -11555,15 +11555,15 @@ value.code = '10183-2' and value.codeSystem = '2.16.840.1.113883.6.1') - - - + + + OCL self.getSubstanceAdministrations()->select(substanceAdministration : cda::SubstanceAdministration | not substanceAdministration.oclIsUndefined() and substanceAdministration.oclIsKindOf(consol::MedicationActivity)).oclAsType(consol::MedicationActivity) - - + + @@ -11571,32 +11571,32 @@ value.code = '10183-2' and value.codeSystem = '2.16.840.1.113883.6.1') The Hospital Discharge Diagnosis act wraps relevant problems or diagnoses at the time of discharge that occurred during the hospitalization or that need to be followed after hospitalization. This entry requires at least one Problem Observation entry. - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::ProblemObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.33') - - + + OCL self.classCode=vocab::x_ActClassDocumentEntryAct::ACT - - + + OCL self.moodCode=vocab::x_DocumentActMood::EVN - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in @@ -11606,15 +11606,15 @@ value.code = '11535-2' and value.codeSystem = '2.16.840.1.113883.6.1') - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ProblemObservation)).oclAsType(consol::ProblemObservation) - - + + @@ -11622,34 +11622,34 @@ value.code = '11535-2' and value.codeSystem = '2.16.840.1.113883.6.1') The Hospital Discharge Instructions section records instructions at discharge. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.41') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '8653-8' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() @@ -11662,40 +11662,40 @@ value.code = '8653-8' and value.codeSystem = '2.16.840.1.113883.6.1') The Hospital Discharge Medications section defines the medications that the patient is intended to take (or stop) after discharge. The currently active medications must be listed. The section may also include a patient's prescription history and indicate the source of the medication list, for example, from a pharmacy system versus from the patient. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.11.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '10183-2' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL not self.text.oclIsUndefined() - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::DischargeMedication)) @@ -11705,15 +11705,15 @@ value.code = '10183-2' and value.codeSystem = '2.16.840.1.113883.6.1') couple - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::DischargeMedication)).oclAsType(consol::DischargeMedication) - - + + @@ -11721,34 +11721,34 @@ value.code = '10183-2' and value.codeSystem = '2.16.840.1.113883.6.1') The Hospital Discharge Physical section records a narrative description of the patient's physical findings. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '1.3.6.1.4.1.19376.1.5.3.1.3.26') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '10184-0' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() @@ -11761,34 +11761,34 @@ value.code = '10184-0' and value.codeSystem = '2.16.840.1.113883.6.1') This section records the patient's chief complaint (the patient's own description) and/or the reason for the patient's visit (the provider's description of the reason for visit). Local policy determines whether the information is divided into two sections or recorded in one section serving both purposes. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.13') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '46239-0' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) @@ -11801,34 +11801,34 @@ value.code = '46239-0' and value.codeSystem = '2.16.840.1.113883.6.1') This section records the patient's reason for the patient's visit (as documented by the provider). Local policy determines whether Reason for Visit and Chief Complaint are in separate or combined sections. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.12') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '29299-5' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) @@ -11841,46 +11841,46 @@ value.code = '29299-5' and value.codeSystem = '2.16.840.1.113883.6.1') The Anesthesia section briefly records the type of anesthesia (e.g., general or local) and may state the actual agent used. This may or may not be a subsection of the Procedure Description section. The full details of anesthesia are usually found in a separate Anesthesia Note. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.25') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '59774-0' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.procedure.oclIsUndefined() and entry.procedure.oclIsKindOf(consol::ProcedureActivityProcedure)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.substanceAdministration.oclIsUndefined() and entry.substanceAdministration.oclIsKindOf(consol::MedicationActivity)) @@ -11888,26 +11888,26 @@ value.code = '59774-0' and value.codeSystem = '2.16.840.1.113883.6.1') - - - + + + OCL self.getProcedures()->select(procedure : cda::Procedure | not procedure.oclIsUndefined() and procedure.oclIsKindOf(consol::ProcedureActivityProcedure)).oclAsType(consol::ProcedureActivityProcedure) - - + + - - - + + + OCL self.getSubstanceAdministrations()->select(substanceAdministration : cda::SubstanceAdministration | not substanceAdministration.oclIsUndefined() and substanceAdministration.oclIsKindOf(consol::MedicationActivity)).oclAsType(consol::MedicationActivity) - - + + @@ -11915,40 +11915,40 @@ value.code = '59774-0' and value.codeSystem = '2.16.840.1.113883.6.1') The Complications section records problems that occurred during the procedure or other activity. The complications may have been known risks or unanticipated problems. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.37') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '55109-3' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::ProblemObservation)) @@ -11956,15 +11956,15 @@ value.code = '55109-3' and value.codeSystem = '2.16.840.1.113883.6.1') - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ProblemObservation)).oclAsType(consol::ProblemObservation) - - + + @@ -11973,28 +11973,28 @@ value.code = '55109-3' and value.codeSystem = '2.16.840.1.113883.6.1') DICOM Object Catalog lists all referenced objects and their parent Series and Studies, plus other DICOM attributes required for retrieving the objects. DICOM Object Catalog sections are not intended for viewing and contain empty section text. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.6.1.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '121181' and value.codeSystem = '1.2.840.10008.2.16.4') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::StudyAct)) @@ -12002,21 +12002,21 @@ value.code = '121181' and value.codeSystem = '1.2.840.10008.2.16.4') - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::StudyAct)).oclAsType(consol::StudyAct) - - + + - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.6.1.2') @@ -12029,34 +12029,34 @@ value.code = '121181' and value.codeSystem = '1.2.840.10008.2.16.4') The Hospital Consultations section records consultations that occurred during the admission. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.42') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '18841-7' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) @@ -12072,34 +12072,34 @@ Interventions include actions that may be ongoing (e.g., maintenance medications Instructions are nested within interventions and may include self-care instructions. Instructions are information or directions to the patient and other providers including how to care for the individual's condition, what to do at home, when to call for help, any additional appointments, testing, and changes to the medication list or medication instructions, clinical guidelines and a summary of best practice. Instructions are information or directions to the patient. Use the Instructions Section when instructions are included as part of a document that is not a Care Plan. Use the Interventions Section, containing the Intervention Act containing the Instruction entry, when instructions are part of a structured care plan. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.21.2.3') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '62387-6' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() @@ -12112,34 +12112,34 @@ value.code = '62387-6' and value.codeSystem = '2.16.840.1.113883.6.1') The Medical History section describes all aspects of the medical history of the patient even if not pertinent to the current procedure, and may include chief complaint, past medical history, social history, family history, surgical or procedure history, medication history, and other history information. The history may be limited to information pertinent to the current procedure or may be more comprehensive. The history may be reported as a collection of random clinical statements or it may be reported categorically. Categorical report formats may be divided into multiple subsections including Past Medical History, Social History. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.39') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '11329-0' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) @@ -12152,34 +12152,34 @@ value.code = '11329-0' and value.codeSystem = '2.16.840.1.113883.6.1') The Objective section contains data about the patient gathered through tests, measures, or observations that produce a quantified or categorized result. It includes important and relevant positive and negative test results, physical findings, review of systems, and other measurements and observations. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.21.2.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '61149-1' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) @@ -12192,34 +12192,34 @@ value.code = '61149-1' and value.codeSystem = '2.16.840.1.113883.6.1') The Operative Note Fluids section may be used to record fluids administered during the surgical procedure. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.7.12') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '10216-0' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) @@ -12232,34 +12232,34 @@ value.code = '10216-0' and value.codeSystem = '2.16.840.1.113883.6.1') The Operative Note Surgical Procedure section can be used to restate the procedures performed if appropriate for an enterprise workflow. The procedure(s) performed associated with the Operative Note are formally modeled in the header using serviceEvent. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.7.14') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '10223-6' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) @@ -12272,40 +12272,40 @@ value.code = '10223-6' and value.codeSystem = '2.16.840.1.113883.6.1') The Planned Procedure section records the procedure(s) that a clinician thought would need to be done based on the preoperative assessment. It may be important to record the procedure(s) that were originally planned for, consented to, and perhaps pre-approved by the payor, particularly if different from the actual procedure(s) and procedure details, to provide evidence to various stakeholders that the providers are aware of the discrepancy and the justification can be found in the procedure details. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.30') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '59772-4' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.procedure.oclIsUndefined() and entry.procedure.oclIsKindOf(consol::PlanOfCareActivityProcedure)) @@ -12313,15 +12313,15 @@ value.code = '59772-4' and value.codeSystem = '2.16.840.1.113883.6.1') - - - + + + OCL self.getProcedures()->select(procedure : cda::Procedure | not procedure.oclIsUndefined() and procedure.oclIsKindOf(consol::PlanOfCareActivityProcedure)).oclAsType(consol::PlanOfCareActivityProcedure) - - + + @@ -12329,34 +12329,34 @@ value.code = '59772-4' and value.codeSystem = '2.16.840.1.113883.6.1') The Postoperative Diagnosis section records the diagnosis or diagnoses discovered or confirmed during the surgery. Often it is the same as the preoperative diagnosis. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.35') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '10218-6' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) @@ -12369,40 +12369,40 @@ value.code = '10218-6' and value.codeSystem = '2.16.840.1.113883.6.1') The Postprocedure Diagnosis section records the diagnosis or diagnoses discovered or confirmed during the procedure. Often it is the same as the pre-procedure diagnosis or indication. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.36') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '59769-0' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->one(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::PostprocedureDiagnosis)) @@ -12410,15 +12410,15 @@ value.code = '59769-0' and value.codeSystem = '2.16.840.1.113883.6.1') - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::PostprocedureDiagnosis))->asSequence()->any(true).oclAsType(consol::PostprocedureDiagnosis) - - + + @@ -12426,40 +12426,40 @@ value.code = '59769-0' and value.codeSystem = '2.16.840.1.113883.6.1') The Preoperative Diagnosis section records the surgical diagnosis or diagnoses assigned to the patient before the surgical procedure and is the reason for the surgery. The preoperative diagnosis is, in the opinion of the surgeon, the diagnosis that will be confirmed during surgery. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.34') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '10219-4' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->one(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::PreoperativeDiagnosis)) @@ -12467,15 +12467,15 @@ value.code = '10219-4' and value.codeSystem = '2.16.840.1.113883.6.1') - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::PreoperativeDiagnosis))->asSequence()->any(true).oclAsType(consol::PreoperativeDiagnosis) - - + + @@ -12483,34 +12483,34 @@ value.code = '10219-4' and value.codeSystem = '2.16.840.1.113883.6.1') The Procedure Description section records the particulars of the procedure and may include procedure site preparation, surgical site preparation, pertinent details related to sedation/anesthesia, pertinent details related to measurements and markings, procedure times, medications administered, estimated blood loss, specimens removed, implants, instrumentation, sponge counts, tissue manipulation, wound closure, sutures used, vital signs and other monitoring data. Local practice often identifies the level and type of detail required based on the procedure or specialty. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.27') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '29554-3' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) @@ -12523,34 +12523,34 @@ value.code = '29554-3' and value.codeSystem = '2.16.840.1.113883.6.1') The Procedure Disposition section records the status and condition of the patient at the completion of the procedure or surgery. It often also states where the patent was transferred to for the next level of care. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.18.2.12') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '59775-7' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) @@ -12563,34 +12563,34 @@ value.code = '59775-7' and value.codeSystem = '2.16.840.1.113883.6.1') The Estimated Blood Loss section may be a subsection of another section such as the Procedure Description section. The Estimated Blood Loss section records the approximate amount of blood that the patient lost during the procedure or surgery. It may be an accurate quantitative amount, e.g., 250 milliliters, or it may be descriptive, e.g., "minimal" or "none". - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.18.2.9') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '59770-8' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) @@ -12603,40 +12603,40 @@ value.code = '59770-8' and value.codeSystem = '2.16.840.1.113883.6.1') The Procedure Findings section records clinically significant observations confirmed or discovered during the procedure or surgery. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.28') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '59776-5' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::ProblemObservation)) @@ -12644,15 +12644,15 @@ value.code = '59776-5' and value.codeSystem = '2.16.840.1.113883.6.1') - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ProblemObservation)).oclAsType(consol::ProblemObservation) - - + + @@ -12660,34 +12660,34 @@ value.code = '59776-5' and value.codeSystem = '2.16.840.1.113883.6.1') The Procedure Implants section records any materials placed during the procedure including stents, tubes, and drains. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.40') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '59771-6' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) @@ -12700,40 +12700,40 @@ value.code = '59771-6' and value.codeSystem = '2.16.840.1.113883.6.1') The Procedure Indications section records details about the reason for the procedure or surgery. This section may include the pre-procedure diagnosis or diagnoses as well as one or more symptoms that contribute to the reason the procedure is being performed. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.29') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '59768-2' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::Indication)) @@ -12741,15 +12741,15 @@ value.code = '59768-2' and value.codeSystem = '2.16.840.1.113883.6.1') - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::Indication)).oclAsType(consol::Indication) - - + + @@ -12757,34 +12757,34 @@ value.code = '59768-2' and value.codeSystem = '2.16.840.1.113883.6.1') The Procedure Specimens Taken section records the tissues, objects, or samples taken from the patient during the procedure including biopsies, aspiration fluid, or other samples sent for pathological analysis. The narrative may include a description of the specimens. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.31') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '59773-2' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) @@ -12797,34 +12797,34 @@ value.code = '59773-2' and value.codeSystem = '2.16.840.1.113883.6.1') The Subjective section describes in a narrative format the patient's current condition and/or interval changes as reported by the patient or by the patient's guardian or another informant. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.21.2.2') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '61150-9' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) @@ -12864,484 +12864,484 @@ Reports on visits requested by a patient, family member, or other third party ar self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReasonForReferralSection)) xor self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReasonForVisitSection)) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.1.4') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in 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')) - - + + OCL self.componentOf->one(componentOf : cda::Component1 | not componentOf.oclIsUndefined() and componentOf.oclIsKindOf(cda::Component1)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AssessmentSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AssessmentAndPlanSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PlanOfCareSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HistoryOfPresentIllnessSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PhysicalExamSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReasonForReferralSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReasonForVisitSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AllergiesSectionEntriesOptional)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintAndReasonForVisitSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::FamilyHistorySection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::GeneralStatusSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HistoryOfPastIllnessSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ImmunizationsSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MedicationsSectionEntriesOptional)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProblemSectionEntriesOptional)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProceduresSectionEntriesOptional)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ResultsSectionEntriesOptional)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReviewOfSystemsSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::SocialHistorySection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::VitalSignsSectionEntriesOptional)) - - + + OCL self.inFulfillmentOf->exists(inFulfillmentOf : cda::InFulfillmentOf | not inFulfillmentOf.oclIsUndefined() and inFulfillmentOf.oclIsKindOf(cda::InFulfillmentOf)) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).responsibleParty->excluding(null)->reject(not assignedEntity.assignedPerson.oclIsUndefined() or not assignedEntity.representedOrganization->isEmpty()) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).responsibleParty->excluding(null)->reject(assignedEntity->one(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(rim::Role))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).encounterParticipant->excluding(null)->reject(not assignedEntity.assignedPerson.oclIsUndefined() or not assignedEntity.representedOrganization->isEmpty()) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).encounterParticipant->excluding(null)->reject(assignedEntity->one(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(rim::Role))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject(not effectiveTime.value.oclIsUndefined() implies effectiveTime.value.size() >= 8) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject(not effectiveTime.value.oclIsUndefined() implies effectiveTime.value.size() >= 12) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject(not effectiveTime.value.oclIsUndefined() implies effectiveTime.value.size() >= 14) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject(not effectiveTime.value.oclIsUndefined() and effectiveTime.value.size() > 8 implies effectiveTime.value.size() >= 15) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject((effectiveTime.oclIsUndefined() or effectiveTime.isNullFlavorUndefined()) implies (not effectiveTime.oclIsUndefined())) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (id->size() = 1)) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject(responsibleParty->one(responsibleParty : cda::ResponsibleParty | not responsibleParty.oclIsUndefined() and responsibleParty.oclIsKindOf(cda::ResponsibleParty))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject(encounterParticipant->exists(encounterParticipant : cda::EncounterParticipant | not encounterParticipant.oclIsUndefined() and encounterParticipant.oclIsKindOf(cda::EncounterParticipant))) - - + + OCL self.componentOf->excluding(null)->reject(encompassingEncounter->one(encompassingEncounter : cda::EncompassingEncounter | not encompassingEncounter.oclIsUndefined() and encompassingEncounter.oclIsKindOf(cda::EncompassingEncounter))) - - + + OCL self.inFulfillmentOf->excluding(null).order->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (not id->isEmpty())) - - + + OCL self.inFulfillmentOf->excluding(null)->reject(order->one(order : cda::Order | not order.oclIsUndefined() and order.oclIsKindOf(cda::Order))) - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AssessmentSection))->asSequence()->any(true).oclAsType(consol::AssessmentSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AssessmentAndPlanSection))->asSequence()->any(true).oclAsType(consol::AssessmentAndPlanSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PlanOfCareSection))->asSequence()->any(true).oclAsType(consol::PlanOfCareSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HistoryOfPresentIllnessSection))->asSequence()->any(true).oclAsType(consol::HistoryOfPresentIllnessSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PhysicalExamSection))->asSequence()->any(true).oclAsType(consol::PhysicalExamSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReasonForReferralSection))->asSequence()->any(true).oclAsType(consol::ReasonForReferralSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReasonForVisitSection))->asSequence()->any(true).oclAsType(consol::ReasonForVisitSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AllergiesSectionEntriesOptional))->asSequence()->any(true).oclAsType(consol::AllergiesSectionEntriesOptional) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintSection))->asSequence()->any(true).oclAsType(consol::ChiefComplaintSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintAndReasonForVisitSection))->asSequence()->any(true).oclAsType(consol::ChiefComplaintAndReasonForVisitSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::FamilyHistorySection))->asSequence()->any(true).oclAsType(consol::FamilyHistorySection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::GeneralStatusSection))->asSequence()->any(true).oclAsType(consol::GeneralStatusSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HistoryOfPastIllnessSection))->asSequence()->any(true).oclAsType(consol::HistoryOfPastIllnessSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ImmunizationsSection))->asSequence()->any(true).oclAsType(consol::ImmunizationsSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MedicationsSectionEntriesOptional))->asSequence()->any(true).oclAsType(consol::MedicationsSectionEntriesOptional) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProblemSectionEntriesOptional))->asSequence()->any(true).oclAsType(consol::ProblemSectionEntriesOptional) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProceduresSectionEntriesOptional))->asSequence()->any(true).oclAsType(consol::ProceduresSectionEntriesOptional) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ResultsSectionEntriesOptional))->asSequence()->any(true).oclAsType(consol::ResultsSectionEntriesOptional) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReviewOfSystemsSection))->asSequence()->any(true).oclAsType(consol::ReviewOfSystemsSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::SocialHistorySection))->asSequence()->any(true).oclAsType(consol::SocialHistorySection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::VitalSignsSectionEntriesOptional))->asSequence()->any(true).oclAsType(consol::VitalSignsSectionEntriesOptional) - - + + @@ -13349,34 +13349,34 @@ value.codeSystem = '2.16.840.1.113883.6.1' and (value.code = '11488-4' or value. The Assessment section (also referred to as impression or diagnoses outside of the context of CDA) represents the clinician's conclusions and working assumptions that will guide treatment of the patient. The assessment may be a list of specific disease entities or a narrative block. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.8') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '51848-0' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) @@ -13417,478 +13417,478 @@ A History and Physical Examination is required upon hospital admission as well a (self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintSection)) or self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReasonForVisitSection))) xor self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintAndReasonForVisitSection)) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.1.3') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.6.1' and (value.code = '34117-2' or value.code = '11492-6' or value.code = '28626-0' or value.code = '34774-0' or value.code = '34115-6' or value.code = '34116-4' or value.code = '34095-0' or value.code = '34096-8' or value.code = '51849-8' or value.code = '47039-3' or value.code = '34763-3' or value.code = '34094-3' or value.code = '34138-8')) - - + + OCL self.inFulfillmentOf->exists(inFulfillmentOf : cda::InFulfillmentOf | not inFulfillmentOf.oclIsUndefined() and inFulfillmentOf.oclIsKindOf(rim::ActRelationship)) - - + + OCL self.componentOf->one(componentOf : cda::Component1 | not componentOf.oclIsUndefined() and componentOf.oclIsKindOf(cda::Component1)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AllergiesSectionEntriesOptional)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AssessmentSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PlanOfCareSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AssessmentAndPlanSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintAndReasonForVisitSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::FamilyHistorySection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::GeneralStatusSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HistoryOfPastIllnessSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MedicationsSectionEntriesOptional)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PhysicalExamSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReasonForVisitSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ResultsSectionEntriesOptional)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReviewOfSystemsSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::SocialHistorySection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HistoryOfPresentIllnessSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ImmunizationsSectionEntriesOptional)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProblemSectionEntriesOptional)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProceduresSectionEntriesOptional)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::VitalSignsSectionEntriesOptional)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::InstructionsSection)) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).responsibleParty->excluding(null)->reject(not assignedEntity.assignedPerson.oclIsUndefined() or not assignedEntity.representedOrganization->isEmpty()) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).responsibleParty->excluding(null)->reject(assignedEntity->one(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(rim::Role))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).encounterParticipant->excluding(null)->reject(not assignedEntity.assignedPerson.oclIsUndefined() or not assignedEntity.representedOrganization->isEmpty()) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).encounterParticipant->excluding(null)->reject(assignedEntity->one(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(rim::Role))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject(not effectiveTime.value.oclIsUndefined() implies effectiveTime.value.size() >= 8) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject(not effectiveTime.value.oclIsUndefined() implies effectiveTime.value.size() >= 12) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject(not effectiveTime.value.oclIsUndefined() implies effectiveTime.value.size() >= 14) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject(not effectiveTime.value.oclIsUndefined() and effectiveTime.value.size() > 8 implies effectiveTime.value.size() >= 15) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject((effectiveTime.oclIsUndefined() or effectiveTime.isNullFlavorUndefined()) implies (not effectiveTime.oclIsUndefined())) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (id->size() = 1)) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject(location->one(location : cda::Location | not location.oclIsUndefined() and location.oclIsKindOf(rim::Participation))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject(responsibleParty->one(responsibleParty : cda::ResponsibleParty | not responsibleParty.oclIsUndefined() and responsibleParty.oclIsKindOf(cda::ResponsibleParty))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject(encounterParticipant->one(encounterParticipant : cda::EncounterParticipant | not encounterParticipant.oclIsUndefined() and encounterParticipant.oclIsKindOf(cda::EncounterParticipant))) - - + + OCL self.componentOf->excluding(null)->reject(encompassingEncounter->one(encompassingEncounter : cda::EncompassingEncounter | not encompassingEncounter.oclIsUndefined() and encompassingEncounter.oclIsKindOf(cda::EncompassingEncounter))) - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AllergiesSectionEntriesOptional))->asSequence()->any(true).oclAsType(consol::AllergiesSectionEntriesOptional) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AssessmentSection))->asSequence()->any(true).oclAsType(consol::AssessmentSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PlanOfCareSection))->asSequence()->any(true).oclAsType(consol::PlanOfCareSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AssessmentAndPlanSection))->asSequence()->any(true).oclAsType(consol::AssessmentAndPlanSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintSection))->asSequence()->any(true).oclAsType(consol::ChiefComplaintSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintAndReasonForVisitSection))->asSequence()->any(true).oclAsType(consol::ChiefComplaintAndReasonForVisitSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::FamilyHistorySection))->asSequence()->any(true).oclAsType(consol::FamilyHistorySection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::GeneralStatusSection))->asSequence()->any(true).oclAsType(consol::GeneralStatusSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HistoryOfPastIllnessSection))->asSequence()->any(true).oclAsType(consol::HistoryOfPastIllnessSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MedicationsSectionEntriesOptional))->asSequence()->any(true).oclAsType(consol::MedicationsSectionEntriesOptional) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PhysicalExamSection))->asSequence()->any(true).oclAsType(consol::PhysicalExamSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReasonForVisitSection))->asSequence()->any(true).oclAsType(consol::ReasonForVisitSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ResultsSectionEntriesOptional))->asSequence()->any(true).oclAsType(consol::ResultsSectionEntriesOptional) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReviewOfSystemsSection))->asSequence()->any(true).oclAsType(consol::ReviewOfSystemsSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::SocialHistorySection))->asSequence()->any(true).oclAsType(consol::SocialHistorySection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HistoryOfPresentIllnessSection))->asSequence()->any(true).oclAsType(consol::HistoryOfPresentIllnessSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ImmunizationsSectionEntriesOptional))->asSequence()->any(true).oclAsType(consol::ImmunizationsSectionEntriesOptional) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProblemSectionEntriesOptional))->asSequence()->any(true).oclAsType(consol::ProblemSectionEntriesOptional) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProceduresSectionEntriesOptional))->asSequence()->any(true).oclAsType(consol::ProceduresSectionEntriesOptional) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::VitalSignsSectionEntriesOptional))->asSequence()->any(true).oclAsType(consol::VitalSignsSectionEntriesOptional) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::InstructionsSection))->asSequence()->any(true).oclAsType(consol::InstructionsSection) - - + + @@ -13896,401 +13896,401 @@ value.codeSystem = '2.16.840.1.113883.6.1' and (value.code = '34117-2' or value. The Operative Note Fluids section may be used to record fluids administered during the surgical procedure. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.1.7') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.6.1' and (value.code = '11504-8' or value.code = '34137-0' or value.code = '28583-3' or value.code = '28624-5' or value.code = '28573-4' or value.code = '34877-1' or value.code = '34874-8' or value.code = '34870-6' or value.code = '34868-0' or value.code = '34818-5')) - - + + OCL self.documentationOf->exists(documentationOf : cda::DocumentationOf | not documentationOf.oclIsUndefined() and documentationOf.oclIsKindOf(cda::DocumentationOf)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AnesthesiaSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ComplicationsSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PostoperativeDiagnosisSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PreoperativeDiagnosisSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureEstimatedBloodLossSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureFindingsSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureSpecimensTakenSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureDescriptionSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureImplantsSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::OperativeNoteFluidSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::OperativeNoteSurgicalProcedureSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PlanOfCareSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PlannedProcedureSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureDispositionSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureIndicationsSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::SurgicalDrainsSection)) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null)->select(typeCode = vocab::x_ServiceEventPerformer::PPRF).assignedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.6.101' and not value.code.oclIsUndefined())) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null)->select(typeCode = vocab::x_ServiceEventPerformer::PPRF).assignedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null)->select(typeCode = vocab::x_ServiceEventPerformer::PPRF)->select(typeCode = vocab::x_ServiceEventPerformer::PPRF)->reject(typeCode=vocab::x_ServiceEventPerformer::PPRF) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null)->select(typeCode = vocab::x_ServiceEventPerformer::PPRF)->select(typeCode = vocab::x_ServiceEventPerformer::PPRF)->reject(assignedEntity->one(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(cda::AssignedEntity))) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject(code.codeSystem = '2.16.840.1.113883.6.104' or code.codeSystem = '2.16.840.1.113883.6.12' or code.codeSystem = '2.16.840.1.113883.6.96') - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject(not effectiveTime.low.oclIsUndefined()) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject(not effectiveTime.width.oclIsUndefined() xor not effectiveTime.high.oclIsUndefined()) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject(not effectiveTime.width.oclIsUndefined() xor not effectiveTime.high.oclIsUndefined()) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject((not effectiveTime.low.value.oclIsUndefined() implies effectiveTime.low.value.size() >= 8) and (not effectiveTime.high.value.oclIsUndefined() implies effectiveTime.high.value.size() >= 8)) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject((not effectiveTime.low.value.oclIsUndefined() implies effectiveTime.low.value.size() >= 12) and (not effectiveTime.high.value.oclIsUndefined() implies effectiveTime.high.value.size() >= 12)) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject((not effectiveTime.low.value.oclIsUndefined() implies effectiveTime.low.value.size() >= 14) and (not effectiveTime.high.value.oclIsUndefined() implies effectiveTime.high.value.size() >= 14)) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject((not effectiveTime.low.value.oclIsUndefined() and effectiveTime.low.value.size() > 8 implies effectiveTime.low.value.size() >= 15) and (not effectiveTime.high.value.oclIsUndefined() and effectiveTime.high.value.size() > 8 implies effectiveTime.high.value.size() >= 15)) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject((effectiveTime.oclIsUndefined() or effectiveTime.isNullFlavorUndefined()) implies (not effectiveTime.oclIsUndefined())) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject(performer->select(performer : cda::Performer1 | not performer.oclIsUndefined() and performer.oclIsKindOf(cda::Performer1))->select(typeCode = vocab::x_ServiceEventPerformer::PPRF)->size() = 1) - - + + OCL self.documentationOf->excluding(null)->reject(serviceEvent->one(serviceEvent : cda::ServiceEvent | not serviceEvent.oclIsUndefined() and serviceEvent.oclIsKindOf(cda::ServiceEvent))) - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AnesthesiaSection))->asSequence()->any(true).oclAsType(consol::AnesthesiaSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ComplicationsSection))->asSequence()->any(true).oclAsType(consol::ComplicationsSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PostoperativeDiagnosisSection))->asSequence()->any(true).oclAsType(consol::PostoperativeDiagnosisSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PreoperativeDiagnosisSection))->asSequence()->any(true).oclAsType(consol::PreoperativeDiagnosisSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureEstimatedBloodLossSection))->asSequence()->any(true).oclAsType(consol::ProcedureEstimatedBloodLossSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureFindingsSection))->asSequence()->any(true).oclAsType(consol::ProcedureFindingsSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureSpecimensTakenSection))->asSequence()->any(true).oclAsType(consol::ProcedureSpecimensTakenSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureDescriptionSection))->asSequence()->any(true).oclAsType(consol::ProcedureDescriptionSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureImplantsSection))->asSequence()->any(true).oclAsType(consol::ProcedureImplantsSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::OperativeNoteFluidSection))->asSequence()->any(true).oclAsType(consol::OperativeNoteFluidSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::OperativeNoteSurgicalProcedureSection))->asSequence()->any(true).oclAsType(consol::OperativeNoteSurgicalProcedureSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PlanOfCareSection))->asSequence()->any(true).oclAsType(consol::PlanOfCareSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PlannedProcedureSection))->asSequence()->any(true).oclAsType(consol::PlannedProcedureSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureDispositionSection))->asSequence()->any(true).oclAsType(consol::ProcedureDispositionSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureIndicationsSection))->asSequence()->any(true).oclAsType(consol::ProcedureIndicationsSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::SurgicalDrainsSection))->asSequence()->any(true).oclAsType(consol::SurgicalDrainsSection) - - + + @@ -14319,659 +14319,659 @@ value.codeSystem = '2.16.840.1.113883.6.101' and not value.code.oclIsUndefined() self.getAllSections()->forAll(section : cda::Section | not section.title.oclIsUndefined()) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.1.6') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.6.1' and (value.code = '28570-0' or value.code = '11505-5' or value.code = '18744-3' or value.code = '18745-0' or value.code = '18746-8' or value.code = '18751-8' or value.code = '18753-4' or value.code = '18836-7' or value.code = '28577-5' or value.code = '28625-2' or value.code = '29757-2' or value.code = '33721-2' or value.code = '34121-4' or value.code = '34896-1' or value.code = '34899-5' or value.code = '47048-4' or value.code = '48807-2')) - - + + OCL self.componentOf->one(componentOf : cda::Component1 | not componentOf.oclIsUndefined() and componentOf.oclIsKindOf(cda::Component1)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AssessmentSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PlanOfCareSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AssessmentAndPlanSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ComplicationsSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PostprocedureDiagnosisSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureDescriptionSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureIndicationsSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AllergiesSectionEntriesOptional)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AnesthesiaSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintAndReasonForVisitSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::FamilyHistorySection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HistoryOfPastIllnessSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HistoryOfPresentIllnessSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MedicalHistorySection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MedicationsSectionEntriesOptional)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MedicationsAdministeredSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PhysicalExamSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PlannedProcedureSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureDispositionSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureEstimatedBloodLossSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureFindingsSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureImplantsSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureSpecimensTakenSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProceduresSectionEntriesOptional)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReasonForVisitSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReviewOfSystemsSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::SocialHistorySection)) - - + + OCL self.participant->exists(participant : cda::Participant1 | not participant.oclIsUndefined() and participant.oclIsKindOf(rim::Participation)) - - + + OCL self.documentationOf->exists(documentationOf : cda::DocumentationOf | not documentationOf.oclIsUndefined() and documentationOf.oclIsKindOf(cda::DocumentationOf)) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).location->excluding(null).healthCareFacility->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (( not id->isEmpty()) )) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).location->excluding(null)->reject(healthCareFacility->exists(healthCareFacility : cda::HealthCareFacility | not healthCareFacility.oclIsUndefined() and healthCareFacility.oclIsKindOf(cda::HealthCareFacility))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).encounterParticipant->excluding(null)->select(typeCode = vocab::x_EncounterParticipant::REF)->select(typeCode = vocab::x_EncounterParticipant::REF)->reject(typeCode=vocab::x_EncounterParticipant::REF) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject(location->exists(location : cda::Location | not location.oclIsUndefined() and location.oclIsKindOf(cda::Location))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject(encounterParticipant->select(encounterParticipant : cda::EncounterParticipant | not encounterParticipant.oclIsUndefined() and encounterParticipant.oclIsKindOf(cda::EncounterParticipant))->select(typeCode = vocab::x_EncounterParticipant::REF)->size() = 1) - - + + OCL self.componentOf->excluding(null)->reject(encompassingEncounter->one(encompassingEncounter : cda::EncompassingEncounter | not encompassingEncounter.oclIsUndefined() and encompassingEncounter.oclIsKindOf(cda::EncompassingEncounter))) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null)->select(typeCode = vocab::x_ServiceEventPerformer::PPRF).assignedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null)->select(typeCode = vocab::x_ServiceEventPerformer::PPRF).assignedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.6.101' and not value.code.oclIsUndefined())) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null)->select(typeCode = vocab::x_ServiceEventPerformer::PPRF)->select(typeCode = vocab::x_ServiceEventPerformer::PPRF)->reject(typeCode=vocab::x_ServiceEventPerformer::PPRF) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null)->select(typeCode = vocab::x_ServiceEventPerformer::PPRF)->select(typeCode = vocab::x_ServiceEventPerformer::PPRF)->reject(assignedEntity->one(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(cda::AssignedEntity))) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject(code.codeSystem = '2.16.840.1.113883.6.104' or code.codeSystem = '2.16.840.1.113883.6.12' or code.codeSystem = '2.16.840.1.113883.6.96') - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject(not effectiveTime.low.oclIsUndefined()) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject(not effectiveTime.width.oclIsUndefined() xor not effectiveTime.high.oclIsUndefined()) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject(not effectiveTime.width.oclIsUndefined() xor not effectiveTime.high.oclIsUndefined()) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject((not effectiveTime.low.value.oclIsUndefined() implies effectiveTime.low.value.size() >= 8) and (not effectiveTime.high.value.oclIsUndefined() implies effectiveTime.high.value.size() >= 8)) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject((not effectiveTime.low.value.oclIsUndefined() implies effectiveTime.low.value.size() >= 12) and (not effectiveTime.high.value.oclIsUndefined() implies effectiveTime.high.value.size() >= 12)) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject((not effectiveTime.low.value.oclIsUndefined() implies effectiveTime.low.value.size() >= 14) and (not effectiveTime.high.value.oclIsUndefined() implies effectiveTime.high.value.size() >= 14)) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject((not effectiveTime.low.value.oclIsUndefined() and effectiveTime.low.value.size() > 8 implies effectiveTime.low.value.size() >= 15) and (not effectiveTime.high.value.oclIsUndefined() and effectiveTime.high.value.size() > 8 implies effectiveTime.high.value.size() >= 15)) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject((effectiveTime.oclIsUndefined() or effectiveTime.isNullFlavorUndefined()) implies (not effectiveTime.oclIsUndefined())) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject(performer->select(performer : cda::Performer1 | not performer.oclIsUndefined() and performer.oclIsKindOf(cda::Performer1))->select(typeCode = vocab::x_ServiceEventPerformer::PPRF)->size() = 1) - - + + OCL self.documentationOf->excluding(null)->reject(serviceEvent->one(serviceEvent : cda::ServiceEvent | not serviceEvent.oclIsUndefined() and serviceEvent.oclIsKindOf(cda::ServiceEvent))) - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AssessmentSection))->asSequence()->any(true).oclAsType(consol::AssessmentSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PlanOfCareSection))->asSequence()->any(true).oclAsType(consol::PlanOfCareSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AssessmentAndPlanSection))->asSequence()->any(true).oclAsType(consol::AssessmentAndPlanSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ComplicationsSection))->asSequence()->any(true).oclAsType(consol::ComplicationsSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PostprocedureDiagnosisSection))->asSequence()->any(true).oclAsType(consol::PostprocedureDiagnosisSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureDescriptionSection))->asSequence()->any(true).oclAsType(consol::ProcedureDescriptionSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureIndicationsSection))->asSequence()->any(true).oclAsType(consol::ProcedureIndicationsSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AllergiesSectionEntriesOptional))->asSequence()->any(true).oclAsType(consol::AllergiesSectionEntriesOptional) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AnesthesiaSection))->asSequence()->any(true).oclAsType(consol::AnesthesiaSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintSection))->asSequence()->any(true).oclAsType(consol::ChiefComplaintSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintAndReasonForVisitSection))->asSequence()->any(true).oclAsType(consol::ChiefComplaintAndReasonForVisitSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::FamilyHistorySection))->asSequence()->any(true).oclAsType(consol::FamilyHistorySection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HistoryOfPastIllnessSection))->asSequence()->any(true).oclAsType(consol::HistoryOfPastIllnessSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HistoryOfPresentIllnessSection))->asSequence()->any(true).oclAsType(consol::HistoryOfPresentIllnessSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MedicalHistorySection))->asSequence()->any(true).oclAsType(consol::MedicalHistorySection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MedicationsSectionEntriesOptional))->asSequence()->any(true).oclAsType(consol::MedicationsSectionEntriesOptional) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MedicationsAdministeredSection))->asSequence()->any(true).oclAsType(consol::MedicationsAdministeredSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PhysicalExamSection))->asSequence()->any(true).oclAsType(consol::PhysicalExamSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PlannedProcedureSection))->asSequence()->any(true).oclAsType(consol::PlannedProcedureSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureDispositionSection))->asSequence()->any(true).oclAsType(consol::ProcedureDispositionSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureEstimatedBloodLossSection))->asSequence()->any(true).oclAsType(consol::ProcedureEstimatedBloodLossSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureFindingsSection))->asSequence()->any(true).oclAsType(consol::ProcedureFindingsSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureImplantsSection))->asSequence()->any(true).oclAsType(consol::ProcedureImplantsSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureSpecimensTakenSection))->asSequence()->any(true).oclAsType(consol::ProcedureSpecimensTakenSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProceduresSectionEntriesOptional))->asSequence()->any(true).oclAsType(consol::ProceduresSectionEntriesOptional) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReasonForVisitSection))->asSequence()->any(true).oclAsType(consol::ReasonForVisitSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReviewOfSystemsSection))->asSequence()->any(true).oclAsType(consol::ReviewOfSystemsSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::SocialHistorySection))->asSequence()->any(true).oclAsType(consol::SocialHistorySection) - - + + @@ -14994,412 +14994,412 @@ A Progress Note is not a re-evaluation note. A Progress Note is not intended to (self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PlanOfCareSection)) or self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AssessmentSection))) xor self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AssessmentAndPlanSection)) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.1.9') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.6.1' and (value.code = '11506-3' or value.code = '18733-6' or value.code = '18762-5' or value.code = '28569-2' or value.code = '28617-9' or value.code = '34900-1' or value.code = '34904-3' or value.code = '18764-1' or value.code = '28623-7' or value.code = '11507-1' or value.code = '11508-9' or value.code = '11509-7' or value.code = '28627-8' or value.code = '11510-5' or value.code = '28656-7' or value.code = '11512-1' or value.code = '34126-3' or value.code = '15507-7' or value.code = '34129-7' or value.code = '34125-5' or value.code = '34130-5' or value.code = '34131-3' or value.code = '34124-8' or value.code = '34127-1' or value.code = '34128-9' or value.code = '34901-9' or value.code = '34132-1')) - - + + OCL self.documentationOf->one(documentationOf : cda::DocumentationOf | not documentationOf.oclIsUndefined() and documentationOf.oclIsKindOf(cda::DocumentationOf)) - - + + OCL self.componentOf->one(componentOf : cda::Component1 | not componentOf.oclIsUndefined() and componentOf.oclIsKindOf(cda::Component1)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AssessmentSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PlanOfCareSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AssessmentAndPlanSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AllergiesSectionEntriesOptional)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::InterventionsSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MedicationsSectionEntriesOptional)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ObjectiveSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PhysicalExamSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProblemSectionEntriesOptional)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ResultsSectionEntriesOptional)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReviewOfSystemsSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::SubjectiveSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::VitalSignsSectionEntriesOptional)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::InstructionsSection)) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject(effectiveTime->forAll(not low.oclIsUndefined())) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject(effectiveTime->forAll(width.oclIsUndefined() implies not high.oclIsUndefined())) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject((not effectiveTime.low.value.oclIsUndefined() implies effectiveTime.low.value.size() >= 8) and (not effectiveTime.high.value.oclIsUndefined() implies effectiveTime.high.value.size() >= 8)) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject((not effectiveTime.low.value.oclIsUndefined() implies effectiveTime.low.value.size() >= 12) and (not effectiveTime.high.value.oclIsUndefined() implies effectiveTime.high.value.size() >= 12)) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject((not effectiveTime.low.value.oclIsUndefined() implies effectiveTime.low.value.size() >= 14) and (not effectiveTime.high.value.oclIsUndefined() implies effectiveTime.high.value.size() >= 14)) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject((not effectiveTime.low.value.oclIsUndefined() and effectiveTime.low.value.size() > 8 implies effectiveTime.low.value.size() >= 15) and (not effectiveTime.high.value.oclIsUndefined() and effectiveTime.high.value.size() > 8 implies effectiveTime.high.value.size() >= 15)) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.21.3.1')) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject(isDefined('classCode') and classCode=vocab::ActClassRoot::PCPR) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject((effectiveTime.oclIsUndefined() or effectiveTime.isNullFlavorUndefined()) implies (not effectiveTime.oclIsUndefined())) - - + + OCL self.documentationOf->excluding(null)->reject(serviceEvent->one(serviceEvent : cda::ServiceEvent | not serviceEvent.oclIsUndefined() and serviceEvent.oclIsKindOf(cda::ServiceEvent))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).location->excluding(null).healthCareFacility->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (id->size() = 1)) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).location->excluding(null)->reject(healthCareFacility->one(healthCareFacility : cda::HealthCareFacility | not healthCareFacility.oclIsUndefined() and healthCareFacility.oclIsKindOf(cda::HealthCareFacility))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject(not effectiveTime.value.oclIsUndefined() implies effectiveTime.value.size() >= 8) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject(not effectiveTime.value.oclIsUndefined() implies effectiveTime.value.size() >= 12) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject(not effectiveTime.value.oclIsUndefined() implies effectiveTime.value.size() >= 14) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject(not effectiveTime.value.oclIsUndefined() and effectiveTime.value.size() > 8 implies effectiveTime.value.size() >= 15) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject((effectiveTime.oclIsUndefined() or effectiveTime.isNullFlavorUndefined()) implies (not effectiveTime.oclIsUndefined())) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (( not id->isEmpty()) )) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject(location->one(location : cda::Location | not location.oclIsUndefined() and location.oclIsKindOf(cda::Location))) - - + + OCL self.componentOf->excluding(null)->reject(encompassingEncounter->one(encompassingEncounter : cda::EncompassingEncounter | not encompassingEncounter.oclIsUndefined() and encompassingEncounter.oclIsKindOf(cda::EncompassingEncounter))) - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AssessmentSection))->asSequence()->any(true).oclAsType(consol::AssessmentSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PlanOfCareSection))->asSequence()->any(true).oclAsType(consol::PlanOfCareSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AssessmentAndPlanSection))->asSequence()->any(true).oclAsType(consol::AssessmentAndPlanSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AllergiesSectionEntriesOptional))->asSequence()->any(true).oclAsType(consol::AllergiesSectionEntriesOptional) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintSection))->asSequence()->any(true).oclAsType(consol::ChiefComplaintSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::InterventionsSection))->asSequence()->any(true).oclAsType(consol::InterventionsSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MedicationsSectionEntriesOptional))->asSequence()->any(true).oclAsType(consol::MedicationsSectionEntriesOptional) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ObjectiveSection))->asSequence()->any(true).oclAsType(consol::ObjectiveSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PhysicalExamSection))->asSequence()->any(true).oclAsType(consol::PhysicalExamSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProblemSectionEntriesOptional))->asSequence()->any(true).oclAsType(consol::ProblemSectionEntriesOptional) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ResultsSectionEntriesOptional))->asSequence()->any(true).oclAsType(consol::ResultsSectionEntriesOptional) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReviewOfSystemsSection))->asSequence()->any(true).oclAsType(consol::ReviewOfSystemsSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::SubjectiveSection))->asSequence()->any(true).oclAsType(consol::SubjectiveSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::VitalSignsSectionEntriesOptional))->asSequence()->any(true).oclAsType(consol::VitalSignsSectionEntriesOptional) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::InstructionsSection))->asSequence()->any(true).oclAsType(consol::InstructionsSection) - - + + @@ -15407,34 +15407,34 @@ value.codeSystem = '2.16.840.1.113883.6.1' and (value.code = '11506-3' or value. The Postprocedure Diagnosis entry encodes the diagnosis or diagnoses discovered or confirmed during the procedure. Often it is the same as the pre-procedure diagnosis or indication. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.51') - - + + OCL self.classCode=vocab::x_ActClassDocumentEntryAct::ACT - - + + OCL self.moodCode=vocab::x_DocumentActMood::EVN - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '59769-0' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::ProblemObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ) @@ -15442,47 +15442,47 @@ value.code = '59769-0' and value.codeSystem = '2.16.840.1.113883.6.1') - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ProblemObservation)).oclAsType(consol::ProblemObservation) - - + + - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.65') - - + + OCL self.classCode=vocab::x_ActClassDocumentEntryAct::ACT - - + + OCL self.moodCode=vocab::x_DocumentActMood::EVN - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '10219-4' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::ProblemObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ) @@ -15490,15 +15490,15 @@ value.code = '10219-4' and value.codeSystem = '2.16.840.1.113883.6.1') - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ProblemObservation)).oclAsType(consol::ProblemObservation) - - + + @@ -15506,40 +15506,40 @@ value.code = '10219-4' and value.codeSystem = '2.16.840.1.113883.6.1') The Instructions section records instructions given to a patient. List patient decision aids here. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.45') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '69730-0' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::Instructions)) @@ -15547,15 +15547,15 @@ value.code = '69730-0' and value.codeSystem = '2.16.840.1.113883.6.1') - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::Instructions)).oclAsType(consol::Instructions) - - + + @@ -15563,40 +15563,40 @@ value.code = '69730-0' and value.codeSystem = '2.16.840.1.113883.6.1') The Admission Medications entry codes medications that the patient took prior to admission. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.36') - - + + OCL self.classCode=vocab::x_ActClassDocumentEntryAct::ACT - - + + OCL self.moodCode=vocab::x_DocumentActMood::EVN - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in not value.codeSystem.oclIsUndefined() or not value.codeSystemName.oclIsUndefined()) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.substanceAdministration.oclIsUndefined() and entryRelationship.substanceAdministration.oclIsKindOf(consol::MedicationActivity) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ) @@ -15604,15 +15604,15 @@ not value.codeSystem.oclIsUndefined() or not value.codeSystemName.oclIsUndefined - - - + + + OCL self.getSubstanceAdministrations()->select(substanceAdministration : cda::SubstanceAdministration | not substanceAdministration.oclIsUndefined() and substanceAdministration.oclIsKindOf(consol::MedicationActivity)).oclAsType(consol::MedicationActivity) - - + + @@ -15620,34 +15620,34 @@ not value.codeSystem.oclIsUndefined() or not value.codeSystemName.oclIsUndefined The Hospital Admission Diagnosis entry describes the relevant problems or diagnoses at the time of admission. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.34') - - + + OCL self.classCode=vocab::x_ActClassDocumentEntryAct::ACT - - + + OCL self.moodCode=vocab::x_DocumentActMood::EVN - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '46241-6' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::ProblemObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ) @@ -15655,15 +15655,15 @@ value.code = '46241-6' and value.codeSystem = '2.16.840.1.113883.6.1') - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ProblemObservation)).oclAsType(consol::ProblemObservation) - - + + @@ -15689,221 +15689,221 @@ value.code = '46241-6' and value.codeSystem = '2.16.840.1.113883.6.1') self.getAllSections()->reject(section : cda::Section | section.templateId->exists(root = '2.16.840.1.113883.10.20.6.1.1'))->forAll(section : cda::Section | not section.text.oclIsUndefined()) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.1.5') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in 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')) - - + + OCL (self.id.oclIsUndefined() or self.id.isNullFlavorUndefined()) implies (not self.id.oclIsUndefined()) - - + + OCL self.informant->select(informant : cda::Informant12 | not informant.oclIsUndefined() and informant.oclIsKindOf(rim::Participation))->isEmpty() - - + + OCL self.informationRecipient->exists(informationRecipient : cda::InformationRecipient | not informationRecipient.oclIsUndefined() and informationRecipient.oclIsKindOf(rim::Participation)) - - + + OCL self.participant->one(participant : cda::Participant1 | not participant.oclIsUndefined() and participant.oclIsKindOf(cda::Participant1)) - - + + OCL self.inFulfillmentOf->one(inFulfillmentOf : cda::InFulfillmentOf | not inFulfillmentOf.oclIsUndefined() and inFulfillmentOf.oclIsKindOf(cda::InFulfillmentOf)) - - + + OCL self.documentationOf->one(documentationOf : cda::DocumentationOf | not documentationOf.oclIsUndefined() and documentationOf.oclIsKindOf(cda::DocumentationOf)) - - + + OCL self.relatedDocument->one(relatedDocument : cda::RelatedDocument | not relatedDocument.oclIsUndefined() and relatedDocument.oclIsKindOf(cda::RelatedDocument)) - - + + OCL self.componentOf->one(componentOf : cda::Component1 | not componentOf.oclIsUndefined() and componentOf.oclIsKindOf(cda::Component1)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::FindingsSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::DICOMObjectCatalogSection)) - - + + OCL self.participant->excluding(null).associatedEntity->excluding(null).associatedPerson->excluding(null)->reject((name->isEmpty() or name->exists(element | element.isNullFlavorUndefined())) implies (name->size() = 1)) - - + + OCL self.participant->excluding(null).associatedEntity->excluding(null)->reject(associatedPerson->one(associatedPerson : cda::Person | not associatedPerson.oclIsUndefined() and associatedPerson.oclIsKindOf(cda::Person))) - - + + OCL self.participant->excluding(null)->reject(associatedEntity->one(associatedEntity : cda::AssociatedEntity | not associatedEntity.oclIsUndefined() and associatedEntity.oclIsKindOf(cda::AssociatedEntity))) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject(isDefined('classCode') and classCode=vocab::ActClassRoot::ACT) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (not id->isEmpty())) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject(performer->exists(performer : cda::Performer1 | not performer.oclIsUndefined() and performer.oclIsKindOf(consol::PhysicianReadingStudyPerformer))) - - + + OCL self.documentationOf->excluding(null)->reject(serviceEvent->one(serviceEvent : cda::ServiceEvent | not serviceEvent.oclIsUndefined() and serviceEvent.oclIsKindOf(cda::ServiceEvent))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).responsibleParty->excluding(null).assignedEntity->excluding(null)->reject(assignedPerson->size() = 1 or representedOrganization->size() = 1) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).responsibleParty->excluding(null)->reject(assignedEntity->one(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(cda::AssignedEntity))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject(not effectiveTime.value.oclIsUndefined() implies effectiveTime.value.size() >= 8) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject(not effectiveTime.value.oclIsUndefined() implies effectiveTime.value.size() >= 12) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject(not effectiveTime.value.oclIsUndefined() implies effectiveTime.value.size() >= 14) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject(not effectiveTime.value.oclIsUndefined() and effectiveTime.value.size() > 8 implies effectiveTime.value.size() >= 15) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject((effectiveTime.oclIsUndefined() or effectiveTime.isNullFlavorUndefined()) implies (not effectiveTime.oclIsUndefined())) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (( not id->isEmpty()) )) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject(encounterParticipant->one(encounterParticipant : cda::EncounterParticipant | not encounterParticipant.oclIsUndefined() and encounterParticipant.oclIsKindOf(consol::PhysicianofRecordParticipant))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject(responsibleParty->one(responsibleParty : cda::ResponsibleParty | not responsibleParty.oclIsUndefined() and responsibleParty.oclIsKindOf(cda::ResponsibleParty))) - - + + OCL self.componentOf->excluding(null)->reject(encompassingEncounter->one(encompassingEncounter : cda::EncompassingEncounter | not encompassingEncounter.oclIsUndefined() and encompassingEncounter.oclIsKindOf(cda::EncompassingEncounter))) - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::FindingsSection))->asSequence()->any(true).oclAsType(consol::FindingsSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::DICOMObjectCatalogSection))->asSequence()->any(true).oclAsType(consol::DICOMObjectCatalogSection) - - + + @@ -15911,80 +15911,80 @@ value.codeSystem = '2.16.840.1.113883.6.1' and (value.code = '18748-4' or value. This participant is the Physician Reading Study Performer defined in documentationOf/serviceEvent and is usually different from the attending physician. The reading physician??interprets the images and evidence of the study (DICOM Definition) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.6.2.1') - - + + OCL (self.time.oclIsUndefined() or self.time.isNullFlavorUndefined()) implies (not self.time.oclIsUndefined()) - - + + OCL self.typeCode=vocab::x_ServiceEventPerformer::PRF - - + + OCL self.assignedEntity->one(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(cda::AssignedEntity)) - - + + OCL self.time->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() implies ((not value.oclIsUndefined() implies value.size() >= 8) and ((not low.value.oclIsUndefined() and low.isNullFlavorUndefined() implies low.value.size() >= 8) and (not high.value.oclIsUndefined() and high.isNullFlavorUndefined() implies high.value.size() >= 8)))) - - + + OCL self.time->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() implies ((not value.oclIsUndefined() implies value.size() >= 12) and ((not low.value.oclIsUndefined() and low.isNullFlavorUndefined() implies low.value.size() >= 12) and (not high.value.oclIsUndefined() and high.isNullFlavorUndefined() implies high.value.size() >= 12)))) - - + + OCL self.time->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() implies ((not value.oclIsUndefined() implies value.size() >= 14) and ((not low.value.oclIsUndefined() and low.isNullFlavorUndefined() implies low.value.size() >= 14) and (not high.value.oclIsUndefined() and high.isNullFlavorUndefined() implies high.value.size() >= 14)))) - - + + OCL self.time->excluding(null)->select(isNullFlavorUndefined())->reject((not value.oclIsUndefined() and value.size() > 8 implies value.size() >= 15) and ((not low.value.oclIsUndefined() and low.value.size() > 8 implies low.value.size() >= 15) and (not high.value.oclIsUndefined() and high.value.size() > 8 implies high.value.size() >= 15))) - - + + OCL self.assignedEntity->excluding(null)->reject(code.codeSystem = '1.2.840.10008.2.16.4' or code.codeSystem = '2.16.840.1.113883.6.101') - - + + OCL self.assignedEntity->excluding(null)->reject(not assignedPerson->isEmpty() or not representedOrganization->isEmpty()) - - + + OCL self.assignedEntity->excluding(null)->reject(id->exists( root='2.16.840.1.113883.4.6' )) - - + + OCL self.assignedEntity->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (not id->isEmpty())) - - + + OCL self.assignedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) @@ -15997,56 +15997,56 @@ value.codeSystem = '2.16.840.1.113883.6.1' and (value.code = '18748-4' or value. This encounterParticipant is the attending physician and is usually different from the Physician Reading Study Performer defined in documentationOf/serviceEvent. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.6.2.2') - - + + OCL self.typeCode=vocab::x_EncounterParticipant::ATND - - + + OCL self.assignedEntity->one(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(cda::AssignedEntity)) - - + + OCL self.assignedEntity->excluding(null).assignedPerson->excluding(null)->reject((name->isEmpty() or name->exists(element | element.isNullFlavorUndefined())) implies (( not name->isEmpty()) )) - - + + OCL self.assignedEntity->excluding(null)->reject(code.codeSystem = '1.2.840.10008.2.16.4' or code.codeSystem = '2.16.840.1.113883.6.101') - - + + OCL self.assignedEntity->excluding(null)->reject(id->exists( root='2.16.840.1.113883.4.6' )) - - + + OCL self.assignedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.assignedEntity->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (not id->isEmpty())) - - + + OCL self.assignedEntity->excluding(null)->reject(assignedPerson->one(assignedPerson : cda::Person | not assignedPerson.oclIsUndefined() and assignedPerson.oclIsKindOf(cda::Person))) @@ -16092,52 +16092,52 @@ value.codeSystem = '2.16.840.1.113883.6.1' and (value.code = '18748-4' or value. not self.text.reference.value.oclIsUndefined() implies not self.getSection().text.getText(self.text.reference.value.substring(2, self.text.reference.value.size())).oclIsUndefined() - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.6.2.6') - - + + OCL self.classCode=vocab::x_ActClassDocumentEntryAct::ACT - - + + OCL self.moodCode=vocab::x_DocumentActMood::EVN - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '113014' and value.codeSystem = '1.2.840.10008.2.16.4') - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (not self.text.oclIsUndefined()) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::SeriesAct) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::COMP) @@ -16145,15 +16145,15 @@ value.code = '113014' and value.codeSystem = '1.2.840.10008.2.16.4') - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::SeriesAct))->asSequence()->any(true).oclAsType(consol::SeriesAct) - - + + @@ -16200,52 +16200,52 @@ value.code = '113014' and value.codeSystem = '1.2.840.10008.2.16.4') self.code.qualifier.value->one(val | (not val.oclIsUndefined() or val.isNullFlavorUndefined()) implies val.oclIsKindOf(datatypes::ANY) and val.codeSystem = '1.2.840.10008.2.16.4') - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.63') - - + + OCL self.classCode=vocab::x_ActClassDocumentEntryAct::ACT - - + + OCL self.moodCode=vocab::x_DocumentActMood::EVN - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '113015' and value.codeSystem = '1.2.840.10008.2.16.4') - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (not self.text.oclIsUndefined()) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::SOPInstanceObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::COMP) @@ -16253,15 +16253,15 @@ value.code = '113015' and value.codeSystem = '1.2.840.10008.2.16.4') - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::SOPInstanceObservation)).oclAsType(consol::SOPInstanceObservation) - - + + @@ -16305,70 +16305,70 @@ value.code = '113015' and value.codeSystem = '1.2.840.10008.2.16.4') not self.text.oclIsUndefined() implies self.text.reference.value->size() = 1 - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.6.2.8') - - + + OCL self.classCode=vocab::ActClassObservation::DGIMG - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (not self.text.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.codeSystem = '1.2.840.10008.2.6.1') - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::SOPInstanceObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::PurposeofReferenceObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::RSON) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::ReferencedFramesObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::COMP) @@ -16376,37 +16376,37 @@ value.codeSystem = '1.2.840.10008.2.6.1') - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::SOPInstanceObservation)).oclAsType(consol::SOPInstanceObservation) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::PurposeofReferenceObservation)).oclAsType(consol::PurposeofReferenceObservation) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ReferencedFramesObservation)).oclAsType(consol::ReferencedFramesObservation) - - + + @@ -16423,32 +16423,32 @@ value.codeSystem = '1.2.840.10008.2.6.1') self.code.isNullFlavorDefined() or (self.code.code = 'ASSERTION' and self.code.codeSystem = '2.16.840.1.113883.5.4') - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.6.2.9') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in @@ -16463,34 +16463,34 @@ value.codeSystem = '1.2.840.10008.2.16.4' and (value.code = '121079' or value.co A Referenced Frames Observation is used if the referenced DICOM SOP instance is a multiframe image and the reference does not apply to all frames. The list of integer values for the referenced frames of a DICOM multiframe image SOP instance is contained in a Boundary Observation nested inside this class. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.6.2.10') - - + + OCL self.classCode=vocab::ActClassObservation::ROIBND - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '121190' and value.codeSystem = '1.2.840.10008.2.16.4') - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::BoundaryObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::COMP) @@ -16498,15 +16498,15 @@ value.code = '121190' and value.codeSystem = '1.2.840.10008.2.16.4') - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::BoundaryObservation))->asSequence()->any(true).oclAsType(consol::BoundaryObservation) - - + + @@ -16514,34 +16514,34 @@ value.code = '121190' and value.codeSystem = '1.2.840.10008.2.16.4') A Boundary Observation contains a list of integer values for the referenced frames of a DICOM multiframe image SOP instance. It identifies the frame numbers within the referenced SOP instance to which the reference applies. The CDA Boundary Observation numbers frames using the same convention as DICOM, with the first frame in the referenced object being Frame 1. A Boundary Observation must be used if a referenced DICOM SOP instance is a multiframe image and the reference does not apply to all frames. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.6.2.11') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '113036' and value.codeSystem = '1.2.840.10008.2.16.4') - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (( not self.value->isEmpty()) and self.value->forAll(element | element.oclIsTypeOf(datatypes::INT))) @@ -16573,56 +16573,56 @@ A Text Observation is required if the findings in the section text are represent not self.text.reference.value.oclIsUndefined() implies not self.getSection().text.getText(self.text.reference.value.substring(2, self.text.reference.value.size())).oclIsUndefined() - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.6.2.12') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (not self.text.oclIsUndefined()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | element.oclIsTypeOf(datatypes::ED))) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::SOPInstanceObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SPRT) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::QuantityMeasurementObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SPRT) @@ -16630,26 +16630,26 @@ A Text Observation is required if the findings in the section text are represent - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::SOPInstanceObservation)).oclAsType(consol::SOPInstanceObservation) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::QuantityMeasurementObservation)).oclAsType(consol::QuantityMeasurementObservation) - - + + @@ -16669,44 +16669,44 @@ A Text Observation is required if the findings in the section text are represent self.code.isNullFlavorDefined() or self.code.codeSystem='1.2.840.10008.2.16.4' - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.6.2.14') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | element.oclIsTypeOf(datatypes::PQ))) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::SOPInstanceObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SPRT) @@ -16714,15 +16714,15 @@ A Text Observation is required if the findings in the section text are represent - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::SOPInstanceObservation)).oclAsType(consol::SOPInstanceObservation) - - + + @@ -16730,50 +16730,50 @@ A Text Observation is required if the findings in the section text are represent DICOM Template 2000 specifies that Imaging Report Elements of Value Type Code are contained in sections. The Imaging Report Elements are inferred from Basic Diagnostic Imaging Report Observations that consist of image references and measurements (linear, area, volume, and numeric). Coded DICOM Imaging Report Elements in this context are mapped to CDA-coded observations that are section components and are related to the SOP Instance Observations (templateId 2.16.840.1.113883.10.20.6.2.8) or Quantity Measurement Observations (templateId 2.16.840.1.113883.10.20.6.2.14) by the SPRT (Support) act relationship. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.6.2.13') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::SOPInstanceObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SPRT) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::QuantityMeasurementObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SPRT) @@ -16781,26 +16781,26 @@ A Text Observation is required if the findings in the section text are represent - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::SOPInstanceObservation)).oclAsType(consol::SOPInstanceObservation) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::QuantityMeasurementObservation)).oclAsType(consol::QuantityMeasurementObservation) - - + + @@ -16814,32 +16814,32 @@ A Text Observation is required if the findings in the section text are represent not self.effectiveTime.oclIsUndefined() implies self.effectiveTime.value->size() = 1 - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.6.2.5') - - + + OCL self.classCode=vocab::x_ActClassDocumentEntryAct::ACT - - + + OCL self.moodCode=vocab::x_DocumentActMood::EVN - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) @@ -16852,40 +16852,40 @@ A Text Observation is required if the findings in the section text are represent This template wraps relevant problems or diagnoses at the close of a visit or that need to be followed after the visit. If the encounter is associated with a Hospital Discharge, the Hospital Discharge Diagnosis must be used. This entry requires at least one Problem Observation entry. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.80') - - + + OCL self.classCode=vocab::x_ActClassDocumentEntryAct::ACT - - + + OCL self.moodCode=vocab::x_DocumentActMood::EVN - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '29308-4' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::ProblemObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ) @@ -16893,15 +16893,15 @@ value.code = '29308-4' and value.codeSystem = '2.16.840.1.113883.6.1') - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ProblemObservation)).oclAsType(consol::ProblemObservation) - - + + @@ -16911,102 +16911,102 @@ value.code = '29308-4' and value.codeSystem = '2.16.840.1.113883.6.1') If the patient is a smoker (77176002), the effectiveTime/low element must be present. If the patient is an ex-smoker (8517006), both the effectiveTime/low and effectiveTime/high element must be present. The smoking status value set includes a special code to communicate if the smoking status is unknown which is different from how Consolidated CDA generally communicates unknown information. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.78') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and (value.code = '449868002' or value.code = '428041000124106' or value.code = '8517006' or value.code = '266919005' or value.code = '77176002' or value.code = '266927001' or value.code = '428071000124103' or value.code = '428061000124105'))) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | element.oclIsTypeOf(datatypes::CD))) - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined())->reject((code = 'ASSERTION' and codeSystem = '2.16.840.1.113883.5.4') or (code = '72166-2' and codeSystem = '2.16.840.1.113883.6.1')) - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (not code.oclIsUndefined() ))) - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (not codeSystem.oclIsUndefined() ))) - - + + OCL self.effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (center.oclIsUndefined() ))) - - + + OCL self.effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (high.oclIsUndefined() ))) - - + + OCL self.effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (low.oclIsUndefined() ))) - - + + OCL self.effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (width.oclIsUndefined() ))) @@ -17025,78 +17025,78 @@ value.codeSystem = '2.16.840.1.113883.6.96' and (value.code = '449868002' or val not self.effectiveTime.oclIsUndefined() implies not self.effectiveTime.low.oclIsUndefined() - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.85') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined())) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | element.oclIsTypeOf(datatypes::CD))) - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined())->reject((code = 'ASSERTION' and codeSystem = '2.16.840.1.113883.5.4') or (code = '11367-0' and codeSystem = '2.16.840.1.113883.6.1')) - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (not code.oclIsUndefined() ))) - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (not codeSystem.oclIsUndefined() ))) @@ -17121,118 +17121,118 @@ value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined()) self.interpretationCode->size() > 0 implies self.interpretationCode.translation->size() > 0 - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.69') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.derivationExpr.oclIsUndefined() or self.derivationExpr.isNullFlavorUndefined()) implies (not self.derivationExpr.oclIsUndefined()) - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.interpretationCode->isEmpty() or self.interpretationCode->exists(element | element.isNullFlavorUndefined())) implies (not self.interpretationCode->isEmpty()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1) - - + + OCL self.author->exists(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(rim::Participation)) - - + + OCL self.referenceRange->exists(referenceRange : cda::ReferenceRange | not referenceRange.oclIsUndefined() and referenceRange.oclIsKindOf(cda::ReferenceRange)) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::AssessmentScaleSupportingObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::COMP) - - + + OCL self.referenceRange->excluding(null).observationRange->excluding(null)->reject(not text.oclIsUndefined() implies text->forAll(reference->size() = 1)) - - + + OCL self.referenceRange->excluding(null).observationRange->excluding(null)->reject(text->forAll(reference->size() = 1) implies text->forAll(reference->one(value->size() = 1))) - - + + OCL self.referenceRange->excluding(null).observationRange->excluding(null)->reject(not text.reference.value.oclIsUndefined() implies not getSection().text.getText(text.reference.value.substring(2, text.reference.value.size())).oclIsUndefined()) - - + + OCL self.referenceRange->excluding(null).observationRange->excluding(null)->reject((text.oclIsUndefined() or text.isNullFlavorUndefined()) implies (not text.oclIsUndefined())) - - + + OCL self.referenceRange->excluding(null)->reject(observationRange->one(observationRange : cda::ObservationRange | not observationRange.oclIsUndefined() and observationRange.oclIsKindOf(cda::ObservationRange))) @@ -17240,15 +17240,15 @@ value.code = 'completed') - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::AssessmentScaleSupportingObservation)).oclAsType(consol::AssessmentScaleSupportingObservation) - - + + @@ -17268,52 +17268,52 @@ value.code = 'completed') self.value.oclAsType(datatypes::CD).translation->size() = 1 - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.86') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (( not self.value->isEmpty()) ) @@ -17329,94 +17329,94 @@ value.code = 'completed') self.value->forAll(val | val.isNullFlavorDefined() or val.oclAsType(datatypes::CD).codeSystem = '2.16.840.1.113883.6.1' or val.oclAsType(datatypes::CD).codeSystem = '2.16.840.1.113883.6.96') - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.72') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | element.oclIsTypeOf(datatypes::CD))) - - + + OCL self.participant->exists(participant : cda::Participant2 | not participant.oclIsUndefined() and participant.oclIsKindOf(cda::Participant2)) - - + + OCL self.participant->excluding(null).participantRole->excluding(null)->reject(isDefined('classCode') and classCode=vocab::RoleClassRoot::CAREGIVER) - - + + OCL self.participant->excluding(null)->reject(not time.oclIsUndefined() implies time.low->size() = 1) - - + + OCL self.participant->excluding(null)->reject(not time.oclIsUndefined() implies time.high->size() = 1) - - + + OCL self.participant->excluding(null)->reject(typeCode=vocab::ParticipationType::IND) - - + + OCL self.participant->excluding(null)->reject((time.oclIsUndefined() or time.isNullFlavorUndefined()) implies (not time.oclIsUndefined())) - - + + OCL self.participant->excluding(null)->reject(participantRole->one(participantRole : cda::ParticipantRole | not participantRole.oclIsUndefined() and participantRole.oclIsKindOf(cda::ParticipantRole))) @@ -17448,80 +17448,80 @@ This template indicates that the subject is not known to be on any medications.< not self.text.reference.value.oclIsUndefined() implies not self.getSection().text.getText(self.text.reference.value.substring(2, self.text.reference.value.size())).oclIsUndefined() - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.29') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = 'ASSERTION' and value.codeSystem = '2.16.840.1.113883.5.4') - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (not self.text.oclIsUndefined()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.code = '182904002' and value.codeSystem = '2.16.840.1.113883.6.96')) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | element.oclIsTypeOf(datatypes::CD))) @@ -17575,140 +17575,140 @@ Reason for deprecation: Cognitive Status Problem Observation has been merged, wi not self.effectiveTime.high.oclIsUndefined() - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.73') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL not self.negationInd.oclIsUndefined() - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (not self.id->isEmpty()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '373930000' and value.codeSystem = '2.16.840.1.113883.6.96') - - + + OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (not self.text.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL (self.methodCode->isEmpty() or self.methodCode->exists(element | element.isNullFlavorUndefined())) implies (not self.methodCode->isEmpty()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (not self.value->isEmpty()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined())) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.supply.oclIsUndefined() and entryRelationship.supply.oclIsKindOf(consol::NonMedicinalSupplyActivity) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::CaregiverCharacteristics) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::AssessmentScaleObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::COMP) - - - + + + OCL self.getSupplies()->select(supply : cda::Supply | not supply.oclIsUndefined() and supply.oclIsKindOf(consol::NonMedicinalSupplyActivity)).oclAsType(consol::NonMedicinalSupplyActivity) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::CaregiverCharacteristics)).oclAsType(consol::CaregiverCharacteristics) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::AssessmentScaleObservation)).oclAsType(consol::AssessmentScaleObservation) - - + + @@ -17735,168 +17735,168 @@ This is different from a cognitive status problem observation, which is a clinic self.value->forAll(val | val.oclIsTypeOf(datatypes::CD) implies (val.isNullFlavorDefined() or val.oclAsType(datatypes::CD).codeSystem = '2.16.840.1.113883.6.96')) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.74') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (not self.id->isEmpty()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '373930000' and value.codeSystem = '2.16.840.1.113883.6.96') - - + + OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (not self.text.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (not self.value->isEmpty()) - - + + OCL (self.interpretationCode->isEmpty() or self.interpretationCode->exists(element | element.isNullFlavorUndefined())) implies (not self.interpretationCode->isEmpty()) - - + + OCL (self.methodCode->isEmpty() or self.methodCode->exists(element | element.isNullFlavorUndefined())) implies (not self.methodCode->isEmpty()) - - + + OCL (self.targetSiteCode->isEmpty() or self.targetSiteCode->exists(element | element.isNullFlavorUndefined())) implies (not self.targetSiteCode->isEmpty()) - - + + OCL self.author->one(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(rim::Participation)) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.supply.oclIsUndefined() and entryRelationship.supply.oclIsKindOf(consol::NonMedicinalSupplyActivity) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::CaregiverCharacteristics) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::AssessmentScaleObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::COMP) - - + + OCL self.referenceRange->exists(referenceRange : cda::ReferenceRange | not referenceRange.oclIsUndefined() and referenceRange.oclIsKindOf(cda::ReferenceRange)) - - + + OCL self.referenceRange->excluding(null).observationRange->excluding(null)->reject(code.oclIsUndefined()) - - + + OCL self.referenceRange->excluding(null)->reject(observationRange->one(observationRange : cda::ObservationRange | not observationRange.oclIsUndefined() and observationRange.oclIsKindOf(cda::ObservationRange))) - - - + + + OCL self.getSupplies()->select(supply : cda::Supply | not supply.oclIsUndefined() and supply.oclIsKindOf(consol::NonMedicinalSupplyActivity)).oclAsType(consol::NonMedicinalSupplyActivity) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::CaregiverCharacteristics)).oclAsType(consol::CaregiverCharacteristics) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::AssessmentScaleObservation)).oclAsType(consol::AssessmentScaleObservation) - - + + @@ -17911,66 +17911,66 @@ An appropriate nullFlavor can be used when the organizer/code or organizer/id is self.code.isNullFlavorDefined() or self.code.codeSystem = '2.16.840.1.113883.6.254' or self.code.codeSystem = '2.16.840.1.113883.6.96' - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.75') - - + + OCL self.classCode=vocab::x_ActClassDocumentEntryOrganizer::CLUSTER - - + + OCL self.moodCode=vocab::ActMood::EVN - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (not self.id->isEmpty()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL self.component->exists(component : cda::Component4 | not component.observation.oclIsUndefined() and component.observation.oclIsKindOf(consol::CognitiveStatusResultObservation)) - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::CognitiveStatusResultObservation)).oclAsType(consol::CognitiveStatusResultObservation) - - + + @@ -17984,80 +17984,80 @@ value.code = 'completed') not self.effectiveTime.oclIsUndefined() implies self.effectiveTime.low->size() = 1 - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.79') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = 'ASSERTION' and value.codeSystem = '2.16.840.1.113883.5.4') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.code = '419099009' and value.codeSystem = '2.16.840.1.113883.6.96')) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | element.oclIsTypeOf(datatypes::CD))) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::ProblemObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::CAUS) @@ -18065,15 +18065,15 @@ value.code = '419099009' and value.codeSystem = '2.16.840.1.113883.6.96')) - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ProblemObservation))->asSequence()->any(true).oclAsType(consol::ProblemObservation) - - + + @@ -18134,140 +18134,140 @@ Reason for deprecation: Functional Status Problem Observation has been merged, w self.value->forAll(val | not val.isNullFlavorUndefined()) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.68') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL not self.negationInd.oclIsUndefined() - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (not self.id->isEmpty()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '248536006' and value.codeSystem = '2.16.840.1.113883.6.96') - - + + OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (not self.text.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (not self.value->isEmpty()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined())) - - + + OCL (self.methodCode->isEmpty() or self.methodCode->exists(element | element.isNullFlavorUndefined())) implies (( not self.methodCode->isEmpty()) ) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.supply.oclIsUndefined() and entryRelationship.supply.oclIsKindOf(consol::NonMedicinalSupplyActivity) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::CaregiverCharacteristics) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::AssessmentScaleObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::COMP) - - - + + + OCL self.getSupplies()->select(supply : cda::Supply | not supply.oclIsUndefined() and supply.oclIsKindOf(consol::NonMedicinalSupplyActivity)).oclAsType(consol::NonMedicinalSupplyActivity) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::CaregiverCharacteristics)).oclAsType(consol::CaregiverCharacteristics) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::AssessmentScaleObservation)).oclAsType(consol::AssessmentScaleObservation) - - + + @@ -18293,168 +18293,168 @@ value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined()) self.value->forAll(val | val.oclIsTypeOf(datatypes::CD) implies (val.isNullFlavorDefined() or val.oclAsType(datatypes::CD).codeSystem = '2.16.840.1.113883.6.96')) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.67') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (not self.id->isEmpty()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (not self.text.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (not self.value->isEmpty()) - - + + OCL (self.interpretationCode->isEmpty() or self.interpretationCode->exists(element | element.isNullFlavorUndefined())) implies (not self.interpretationCode->isEmpty()) - - + + OCL (self.methodCode->isEmpty() or self.methodCode->exists(element | element.isNullFlavorUndefined())) implies (not self.methodCode->isEmpty()) - - + + OCL (self.targetSiteCode->isEmpty() or self.targetSiteCode->exists(element | element.isNullFlavorUndefined())) implies (not self.targetSiteCode->isEmpty()) - - + + OCL self.author->one(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(rim::Participation)) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.supply.oclIsUndefined() and entryRelationship.supply.oclIsKindOf(consol::NonMedicinalSupplyActivity) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::CaregiverCharacteristics) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::AssessmentScaleObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::COMP) - - + + OCL self.referenceRange->exists(referenceRange : cda::ReferenceRange | not referenceRange.oclIsUndefined() and referenceRange.oclIsKindOf(cda::ReferenceRange)) - - + + OCL self.referenceRange->excluding(null).observationRange->excluding(null)->reject(code.oclIsUndefined()) - - + + OCL self.referenceRange->excluding(null)->reject(observationRange->one(observationRange : cda::ObservationRange | not observationRange.oclIsUndefined() and observationRange.oclIsKindOf(cda::ObservationRange))) - - - + + + OCL self.getSupplies()->select(supply : cda::Supply | not supply.oclIsUndefined() and supply.oclIsKindOf(consol::NonMedicinalSupplyActivity))->asSequence()->any(true).oclAsType(consol::NonMedicinalSupplyActivity) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::CaregiverCharacteristics))->asSequence()->any(true).oclAsType(consol::CaregiverCharacteristics) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::AssessmentScaleObservation))->asSequence()->any(true).oclAsType(consol::AssessmentScaleObservation) - - + + @@ -18469,66 +18469,66 @@ An appropriate nullFlavor can be used when the organizer/code or organizer/id is self.code.isNullFlavorDefined() or self.code.codeSystem = '2.16.840.1.113883.6.254' or self.code.codeSystem = '2.16.840.1.113883.6.96' - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.66') - - + + OCL self.classCode=vocab::x_ActClassDocumentEntryOrganizer::CLUSTER - - + + OCL self.moodCode=vocab::ActMood::EVN - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (not self.id->isEmpty()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL self.component->exists(component : cda::Component4 | not component.observation.oclIsUndefined() and component.observation.oclIsKindOf(consol::FunctionalStatusResultObservation)) - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::FunctionalStatusResultObservation)).oclAsType(consol::FunctionalStatusResultObservation) - - + + @@ -18536,46 +18536,46 @@ value.code = 'completed') This observation contains a description of the wound tissue of the most severe or highest staged pressure ulcer observed on a patient. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.77') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '420905001' and value.codeSystem = '2.16.840.1.113883.6.96') - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1) @@ -18588,116 +18588,116 @@ value.code = '420905001' and value.codeSystem = '2.16.840.1.113883.6.96') This clinical statement enumerates the number of pressure ulcers observed in a particular stage. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.76') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '2264892003' and value.codeSystem = '2.16.840.1.113883.6.96') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | element.oclIsTypeOf(datatypes::INT))) - - + + OCL self.author->one(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(rim::Participation)) - - + + OCL self.entryRelationship->select(entryRelationship : cda::EntryRelationship | not entryRelationship.oclIsUndefined() and entryRelationship.oclIsKindOf(cda::EntryRelationship))->select(typeCode=vocab::x_ActRelationshipEntryRelationship::SUBJ)->size() = 1 - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::SUBJ).observation->excluding(null)->reject(classCode=vocab::ActClassObservation::OBS) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::SUBJ).observation->excluding(null)->reject(moodCode=vocab::x_ActMoodDocumentObservation::EVN) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::SUBJ).observation->excluding(null)->reject((value->isEmpty() or value->exists(element | element.isNullFlavorUndefined())) implies (value->size() = 1 and value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and (value.code = '421076008' or value.code = '420324007' or value.code = '421927004' or value.code = '420597008' or value.code = '421594008')))) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::SUBJ).observation->excluding(null)->reject((value->isEmpty() or value->exists(element | element.isNullFlavorUndefined())) implies (value->size() = 1 and value->forAll(element | element.oclIsTypeOf(datatypes::CD)))) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::SUBJ)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::SUBJ)->reject(typeCode=vocab::x_ActRelationshipEntryRelationship::SUBJ) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::SUBJ)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::SUBJ)->reject(observation->one(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(cda::Observation))) @@ -18764,244 +18764,244 @@ value.codeSystem = '2.16.840.1.113883.6.96' and (value.code = '421076008' or val self.targetSiteCode.qualifier->forAll((value.isNullFlavorDefined()) or (value->size() = 1 and not value.code.oclIsUndefined() and value.codeSystem = '2.16.840.1.113883.6.96')) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.70') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL not self.negationInd.oclIsUndefined() - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = 'ASSERTION' and value.codeSystem = '2.16.840.1.113883.5.4') - - + + OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (not self.text.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and (value.code = '421076008' or value.code = '420324007' or value.code = '421927004' or value.code = '420597008' or value.code = '421594008'))) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | element.oclIsTypeOf(datatypes::CD))) - - + + OCL (self.targetSiteCode->isEmpty() or self.targetSiteCode->exists(element | element.isNullFlavorUndefined())) implies (not self.targetSiteCode->isEmpty()) - - + + OCL (self.targetSiteCode->isEmpty() or self.targetSiteCode->exists(element | element.isNullFlavorUndefined())) implies (self.targetSiteCode->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and (value.code = '79951008' or value.code = '23747009' or value.code = '76552005' or value.code = '45980000' or value.code = '74757004' or value.code = '51027004' or value.code = '304037003' or value.code = '286591006' or value.code = '49812005' or value.code = '29850006' or value.code = '22180002'))) - - + + OCL self.entryRelationship->select(entryRelationship : cda::EntryRelationship | not entryRelationship.oclIsUndefined() and entryRelationship.oclIsKindOf(cda::EntryRelationship))->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and observation.code.code='401238003')->size() = 1 - - + + OCL self.entryRelationship->select(entryRelationship : cda::EntryRelationship | not entryRelationship.oclIsUndefined() and entryRelationship.oclIsKindOf(cda::EntryRelationship))->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and observation.code.code='401239006')->size() = 1 - - + + OCL self.entryRelationship->select(entryRelationship : cda::EntryRelationship | not entryRelationship.oclIsUndefined() and entryRelationship.oclIsKindOf(cda::EntryRelationship))->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and observation.code.code='425094009')->size() = 1 - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and observation.code.code='401238003').observation->excluding(null)->reject(classCode=vocab::ActClassObservation::OBS) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and observation.code.code='401238003').observation->excluding(null)->reject(moodCode=vocab::x_ActMoodDocumentObservation::EVN) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and observation.code.code='401238003').observation->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and observation.code.code='401238003').observation->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = code.oclAsType(datatypes::CD) in value.code = '401238003' and value.codeSystem = '2.16.840.1.113883.6.96')) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and observation.code.code='401238003').observation->excluding(null)->reject((value->isEmpty() or value->exists(element | element.isNullFlavorUndefined())) implies (value->size() = 1 and value->forAll(element | element.oclIsTypeOf(datatypes::PQ)))) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and observation.code.code='401238003')->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and observation.code.code='401238003')->reject(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and observation.code.code='401238003')->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and observation.code.code='401238003')->reject(observation->one(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(cda::Observation))) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and observation.code.code='401239006').observation->excluding(null)->reject(classCode=vocab::ActClassObservation::OBS) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and observation.code.code='401239006').observation->excluding(null)->reject(moodCode=vocab::x_ActMoodDocumentObservation::EVN) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and observation.code.code='401239006').observation->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and observation.code.code='401239006').observation->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = code.oclAsType(datatypes::CD) in value.code = '401239006' and value.codeSystem = '2.16.840.1.113883.6.96')) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and observation.code.code='401239006').observation->excluding(null)->reject((value->isEmpty() or value->exists(element | element.isNullFlavorUndefined())) implies (value->size() = 1 and value->forAll(element | element.oclIsTypeOf(datatypes::PQ)))) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and observation.code.code='401239006')->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and observation.code.code='401239006')->reject(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and observation.code.code='401239006')->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and observation.code.code='401239006')->reject(observation->one(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(cda::Observation))) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and observation.code.code='425094009').observation->excluding(null)->reject(classCode=vocab::ActClassObservation::OBS) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and observation.code.code='425094009').observation->excluding(null)->reject(moodCode=vocab::x_ActMoodDocumentObservation::EVN) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and observation.code.code='425094009').observation->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and observation.code.code='425094009').observation->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = code.oclAsType(datatypes::CD) in value.code = '425094009' and value.codeSystem = '2.16.840.1.113883.6.96')) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and observation.code.code='425094009').observation->excluding(null)->reject((value->isEmpty() or value->exists(element | element.isNullFlavorUndefined())) implies (value->size() = 1 and value->forAll(element | element.oclIsTypeOf(datatypes::PQ)))) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and observation.code.code='425094009')->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and observation.code.code='425094009')->reject(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and observation.code.code='425094009')->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP and observation.code.code='425094009')->reject(observation->one(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(cda::Observation))) @@ -19014,22 +19014,22 @@ value.code = '425094009' and value.codeSystem = '2.16.840.1.113883.6.96')) For reports on mothers and their fetus(es), information on a mother is mapped to recordTarget, PatientRole, and Patient. Information on the fetus is mapped to subject, relatedSubject, and SubjectPerson at the CDA section level. Both context information on the mother and fetus must be included in the document if observations on fetus(es) are contained in the document. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.6.2.3') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '121026' and value.codeSystem = '1.2.840.10008.2.16.4') - - + + OCL self.subject->one(subject : cda::SubjectPerson | not subject.oclIsUndefined() and subject.oclIsKindOf(cda::SubjectPerson)) @@ -19039,14 +19039,14 @@ value.code = '121026' and value.codeSystem = '1.2.840.10008.2.16.4') - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.6.2.4') - - + + OCL self.assignedAuthor->one(assignedAuthor : cda::AssignedAuthor | not assignedAuthor.oclIsUndefined() and assignedAuthor.oclIsKindOf(cda::AssignedAuthor)) @@ -19064,66 +19064,66 @@ This template represents the act of referencing another entry in the same CDA do The id is required and must be the same id as the entry/id it is referencing. The id cannot be a null value. Act/Code is set to nullFlavor="NP" (Not Present). This means the value is not present in the message (in act/Code). </p> - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.122') - - + + OCL self.classCode=vocab::x_ActClassDocumentEntryAct::ACT - - + + OCL self.moodCode=vocab::x_DocumentActMood::EVN - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in not value.codeSystem.oclIsUndefined() or not value.codeSystemName.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL self.id->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (nullFlavor.oclIsUndefined() ))) - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (not nullFlavor.oclIsUndefined() and nullFlavor.oclIsKindOf(vocab::NullFlavor) and let value : vocab::NullFlavor = nullFlavor.oclAsType(vocab::NullFlavor) in value = vocab::NullFlavor::NP ))) - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (isDefined('nullFlavor') ))) @@ -19136,66 +19136,66 @@ value = vocab::NullFlavor::NP ))) This clinical statement groups a set of advance directive observations. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.108' and id.extension = '2015-08-01') - - + + OCL self.classCode=vocab::x_ActClassDocumentEntryOrganizer::CLUSTER - - + + OCL self.moodCode=vocab::ActMood::EVN - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '45473-6' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL self.component->exists(component : cda::Component4 | not component.observation.oclIsUndefined() and component.observation.oclIsKindOf(consol::AdvanceDirectiveObservation2)) - - + + OCL self.author->exists(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(consol::AuthorParticipation)) @@ -19203,15 +19203,15 @@ value.code = 'completed') - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::AdvanceDirectiveObservation2)).oclAsType(consol::AdvanceDirectiveObservation2) - - + + @@ -19219,68 +19219,68 @@ value.code = 'completed') This template represents the patient's home environment including, but not limited to, type of residence (trailer, single family home, assisted living), living arrangement (e.g., alone, with parents), and housing status (e.g., evicted, homeless, home owner). - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.109') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '75274-1' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined())) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | element.oclIsTypeOf(datatypes::CD))) @@ -19296,92 +19296,92 @@ value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined()) REMOVED - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.126') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and (value.code = '61254005' or value.code = '395659009' or value.code = '286574007' or value.code = '307082005' or value.code = '304641000' or value.code = '363878000' or value.code = '418907009' or value.code = '304645009' or value.code = '311465003')) - - + + OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (not self.text.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined())) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | element.oclIsTypeOf(datatypes::CD))) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::AssessmentScaleObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::COMP) - - + + OCL self.author->exists(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(consol::AuthorParticipation)) @@ -19389,15 +19389,15 @@ value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined()) - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::AssessmentScaleObservation)).oclAsType(consol::AssessmentScaleObservation) - - + + @@ -19411,60 +19411,60 @@ value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined()) self.value->forAll(val | val.oclIsTypeOf(datatypes::CD) implies (val.isNullFlavorDefined() or val.oclAsType(datatypes::CD).codeSystem = '2.16.840.1.113883.6.96')) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.111') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '75281-6' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1) @@ -19482,114 +19482,114 @@ This template represents the act of monitoring the patient's medication and incl For example, a cardiologist may prescribe a patient Warfarin. The patient's primary care provider may monitor the patient's INR and adjust the dosing of the Warfarin based on these lab results. Here the person designated to monitor the drug is the primary care provider. </p> - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.123') - - + + OCL self.classCode=vocab::x_ActClassDocumentEntryAct::ACT - - + + OCL self.moodCode=vocab::x_DocumentActMood::INT - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '395170001' and value.codeSystem = '2.16.840.1.113883.6.96') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'normal' or value.code = 'aborted' or value.code = 'active' or value.code = 'cancelled' or value.code = 'completed' or value.code = 'held' or value.code = 'new' or value.code = 'suspended' or value.code = 'nullified' or value.code = 'obsolete') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL self.participant->exists(participant : cda::Participant2 | not participant.oclIsUndefined() and participant.oclIsKindOf(cda::Participant2)) - - + + OCL self.participant->excluding(null).participantRole->excluding(null).playingEntity->excluding(null).name->excluding(null)->select(isNullFlavorUndefined())->reject((getText(true)<>'' and ( family->isEmpty() and given->isEmpty() and suffix->isEmpty() and prefix->isEmpty() ) ) xor (getText(true)='' and (not family->isEmpty() and not given->isEmpty() ))) - - + + OCL self.participant->excluding(null).participantRole->excluding(null).playingEntity->excluding(null)->reject(isDefined('classCode') and classCode=vocab::EntityClassRoot::PSN) - - + + OCL self.participant->excluding(null).participantRole->excluding(null).playingEntity->excluding(null)->reject((name->isEmpty() or name->exists(element | element.isNullFlavorUndefined())) implies (name->size() = 1)) - - + + OCL self.participant->excluding(null).participantRole->excluding(null)->reject(isDefined('classCode') and classCode=vocab::RoleClassRoot::ASSIGNED) - - + + OCL self.participant->excluding(null).participantRole->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (( not id->isEmpty()) )) - - + + OCL self.participant->excluding(null).participantRole->excluding(null)->reject(playingEntity->one(playingEntity : cda::PlayingEntity | not playingEntity.oclIsUndefined() and playingEntity.oclIsKindOf(cda::PlayingEntity))) - - + + OCL self.participant->excluding(null)->reject(typeCode=vocab::ParticipationType::RESP) - - + + OCL self.participant->excluding(null)->reject(participantRole->one(participantRole : cda::ParticipantRole | not participantRole.oclIsUndefined() and participantRole.oclIsKindOf(cda::ParticipantRole))) @@ -19602,116 +19602,116 @@ value.code = 'normal' or value.code = 'aborted' or value.code = 'active' or valu This template represents the sender (author) and receivers (participants) of a handoff communication in a plan of treatment. It does not convey details about the communication. The "handoff" process involves senders, those transmitting the patient's information and releasing the care of that patient to the next clinician, and receivers, those who accept the patient information and care of that patient. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.141') - - + + OCL self.classCode=vocab::x_ActClassDocumentEntryAct::ACT - - + + OCL self.moodCode=vocab::x_DocumentActMood::EVN - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '432138007' and value.codeSystem = '2.16.840.1.113883.6.96') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL self.participant->exists(participant : cda::Participant2 | not participant.oclIsUndefined() and participant.oclIsKindOf(cda::Participant2)) - - + + OCL self.author->exists(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(consol::AuthorParticipation)) - - + + OCL self.participant->excluding(null).participantRole->excluding(null).playingEntity->excluding(null)->reject((name->isEmpty() or name->exists(element | element.isNullFlavorUndefined())) implies (( not name->isEmpty()) )) - - + + OCL self.participant->excluding(null).participantRole->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (( not id->isEmpty()) )) - - + + OCL self.participant->excluding(null).participantRole->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.participant->excluding(null).participantRole->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.6.101' and not value.code.oclIsUndefined())) - - + + OCL self.participant->excluding(null).participantRole->excluding(null)->reject((addr->isEmpty() or addr->exists(element | element.isNullFlavorUndefined())) implies (( not addr->isEmpty()) )) - - + + OCL self.participant->excluding(null).participantRole->excluding(null)->reject(playingEntity->one(playingEntity : cda::PlayingEntity | not playingEntity.oclIsUndefined() and playingEntity.oclIsKindOf(cda::PlayingEntity))) - - + + OCL self.participant->excluding(null)->reject(typeCode=vocab::ParticipationType::IRCP) - - + + OCL self.participant->excluding(null)->reject(participantRole->one(participantRole : cda::ParticipantRole | not participantRole.oclIsUndefined() and participantRole.oclIsKindOf(cda::ParticipantRole))) @@ -19735,76 +19735,76 @@ Devices that are applied during a procedure (e.g., cardiac pacemaker, gastrosomy self.component->exists(component : cda::Component4 | not component.supply.oclIsUndefined() and component.supply.oclIsKindOf(consol::NonMedicinalSupplyActivity2)) or self.component->exists(component : cda::Component4 | not component.procedure.oclIsUndefined() and component.procedure.oclIsKindOf(consol::ProcedureActivityProcedure2)) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.135') - - + + OCL self.classCode=vocab::x_ActClassDocumentEntryOrganizer::CLUSTER - - + + OCL self.moodCode=vocab::ActMood::EVN - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'aborted' or value.code = 'active' or value.code = 'cancelled' or value.code = 'completed' or value.code = 'held' or value.code = 'suspended') - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL self.component->exists(component : cda::Component4 | not component.supply.oclIsUndefined() and component.supply.oclIsKindOf(consol::NonMedicinalSupplyActivity2)) - - + + OCL self.component->exists(component : cda::Component4 | not component.procedure.oclIsUndefined() and component.procedure.oclIsKindOf(consol::ProcedureActivityProcedure2)) - - + + OCL self.effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((low.oclIsUndefined() or low.isNullFlavorUndefined()) implies (not low.oclIsUndefined()) ))) - - + + OCL self.effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((high.oclIsUndefined() or high.isNullFlavorUndefined()) implies (not high.oclIsUndefined()) ))) @@ -19812,26 +19812,26 @@ value.code = 'aborted' or value.code = 'active' or value.code = 'cancelled' or v - - - + + + OCL self.getSupplies()->select(supply : cda::Supply | not supply.oclIsUndefined() and supply.oclIsKindOf(consol::NonMedicinalSupplyActivity2)).oclAsType(consol::NonMedicinalSupplyActivity2) - - + + - - - + + + OCL self.getProcedures()->select(procedure : cda::Procedure | not procedure.oclIsUndefined() and procedure.oclIsKindOf(consol::ProcedureActivityProcedure2)).oclAsType(consol::ProcedureActivityProcedure2) - - + + @@ -19839,86 +19839,86 @@ value.code = 'aborted' or value.code = 'active' or value.code = 'cancelled' or v This template represents observations relating intellectual and mental powers and state of mind. Mental status observations in a clinical note often have a psychological focus (e.g., level of consciousness, mood, anxiety level, reasoning ability). - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.125') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and (value.code = '43173001' or value.code = '405051006' or value.code = '363871006' or value.code = '85256008' or value.code = '285231000' or value.code = '6942003')) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined())) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | element.oclIsTypeOf(datatypes::CD))) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::AssessmentScaleObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::COMP) - - + + OCL self.author->exists(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(consol::AuthorParticipation)) @@ -19926,15 +19926,15 @@ value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined()) - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::AssessmentScaleObservation)).oclAsType(consol::AssessmentScaleObservation) - - + + @@ -19948,72 +19948,72 @@ value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined()) self.value->forAll(val | val.oclIsTypeOf(datatypes::CD) implies (val.isNullFlavorDefined() or val.oclAsType(datatypes::CD).codeSystem = '2.16.840.1.113883.6.96')) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.138') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '75303-8' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1) - - + + OCL self.author->exists(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(consol::AuthorParticipation)) @@ -20026,98 +20026,98 @@ value.code = 'completed') This template represents nutrition regimens (e.g., fluid restrictions, calorie minimum), interventions (e.g., NPO, nutritional supplements), and procedures (e.g., G-Tube by bolus, TPN by central line). It may also depict the need for nutrition education. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.130') - - + + OCL self.classCode=vocab::x_ActClassDocumentEntryAct::ACT - - + + OCL isDefined('moodCode') - - + + OCL not self.moodCode.oclIsUndefined() and self.moodCode.oclIsKindOf(vocab::x_DocumentActMood) and let value : vocab::x_DocumentActMood = self.moodCode.oclAsType(vocab::x_DocumentActMood) in value = vocab::x_DocumentActMood::INT or value = vocab::x_DocumentActMood::ARQ or value = vocab::x_DocumentActMood::PRMS or value = vocab::x_DocumentActMood::PRP or value = vocab::x_DocumentActMood::RQO or value = vocab::x_DocumentActMood::APT - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and (value.code = '61310001' or value.code = '386373004' or value.code = '418995006' or value.code = '413315001' or value.code = '182922004' or value.code = '229912004' or value.code = '225372007' or value.code = '448556005')) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'active') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.encounter.oclIsUndefined() and entryRelationship.encounter.oclIsKindOf(consol::PlannedEncounter2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.substanceAdministration.oclIsUndefined() and entryRelationship.substanceAdministration.oclIsKindOf(consol::PlannedMedicationActivity2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::PlannedObservation2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.procedure.oclIsUndefined() and entryRelationship.procedure.oclIsKindOf(consol::PlannedProcedure2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.supply.oclIsUndefined() and entryRelationship.supply.oclIsKindOf(consol::PlannedSupply2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::PlannedAct2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) @@ -20125,70 +20125,70 @@ value.code = 'active') - - - + + + OCL self.getEncounters()->select(encounter : cda::Encounter | not encounter.oclIsUndefined() and encounter.oclIsKindOf(consol::PlannedEncounter2)).oclAsType(consol::PlannedEncounter2) - - + + - - - + + + OCL self.getSubstanceAdministrations()->select(substanceAdministration : cda::SubstanceAdministration | not substanceAdministration.oclIsUndefined() and substanceAdministration.oclIsKindOf(consol::PlannedMedicationActivity2)).oclAsType(consol::PlannedMedicationActivity2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::PlannedObservation2)).oclAsType(consol::PlannedObservation2) - - + + - - - + + + OCL self.getProcedures()->select(procedure : cda::Procedure | not procedure.oclIsUndefined() and procedure.oclIsKindOf(consol::PlannedProcedure2)).oclAsType(consol::PlannedProcedure2) - - + + - - - + + + OCL self.getSupplies()->select(supply : cda::Supply | not supply.oclIsUndefined() and supply.oclIsKindOf(consol::PlannedSupply2)).oclAsType(consol::PlannedSupply2) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::PlannedAct2)).oclAsType(consol::PlannedAct2) - - + + @@ -20196,80 +20196,80 @@ value.code = 'active') This template describes the overall nutritional status of the patient including findings related to nutritional status. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.124') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '75305-3' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined())) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | element.oclIsTypeOf(datatypes::CD))) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::NutritionAssessment) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ) @@ -20277,15 +20277,15 @@ value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined()) - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::NutritionAssessment)).oclAsType(consol::NutritionAssessment) - - + + @@ -20304,94 +20304,94 @@ Often thought of as an "actual outcome", the Outcome Observation may b self.entryRelationship->select(er : cda::EntryRelationship | er.observation.oclIsTypeOf(consol::ProgressTowardGoalObservation))->forAll(ent : cda::EntryRelationship | ent.inversionInd=true) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.144') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (( not self.value->isEmpty()) ) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::EntryReference) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::GEVL) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::EntryReference) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::RSON) - - + + OCL self.author->exists(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(consol::AuthorParticipation)) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::ProgressTowardGoalObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SPRT) - - + + OCL self.reference->exists(reference : cda::Reference | not reference.oclIsUndefined() and reference.oclIsKindOf(cda::Reference)) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.oclIsUndefined() and entryRelationship.oclIsKindOf(rim::ActRelationship)) - - + + OCL self.reference->excluding(null)->reject(typeCode=vocab::x_ActRelationshipExternalReference::REFR) - - + + OCL self.reference->excluding(null)->reject(externalDocument->one(externalDocument : cda::ExternalDocument | not externalDocument.oclIsUndefined() and externalDocument.oclIsKindOf(consol::ExternalDocumentReference))) @@ -20399,37 +20399,37 @@ value.codeSystem = '2.16.840.1.113883.6.1') - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::EntryReference)).oclAsType(consol::EntryReference) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::EntryReference)).oclAsType(consol::EntryReference) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ProgressTowardGoalObservation))->asSequence()->any(true).oclAsType(consol::ProgressTowardGoalObservation) - - + + @@ -20437,204 +20437,204 @@ value.codeSystem = '2.16.840.1.113883.6.1') This template represents the type of referral (e.g., for dental care, to a specialist, for aging problems) and represents whether the referral is for full care or shared care. It may contain a reference to another act in the document instance representing the clinical reason for the referral (e.g., problem, concern, procedure). - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.140') - - + + OCL self.classCode=vocab::x_ActClassDocumentEntryAct::PCPR - - + + OCL isDefined('moodCode') - - + + OCL not self.moodCode.oclIsUndefined() and self.moodCode.oclIsKindOf(vocab::x_DocumentActMood) and let value : vocab::x_DocumentActMood = self.moodCode.oclAsType(vocab::x_DocumentActMood) in value = vocab::x_DocumentActMood::INT or value = vocab::x_DocumentActMood::RQO - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'active') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL (self.priorityCode.oclIsUndefined() or self.priorityCode.isNullFlavorUndefined()) implies (not self.priorityCode.oclIsUndefined()) - - + + OCL self.entryRelationship->select(entryRelationship : cda::EntryRelationship | not entryRelationship.oclIsUndefined() and entryRelationship.oclIsKindOf(cda::EntryRelationship))->select(typeCode=vocab::x_ActRelationshipEntryRelationship::SUBJ)->notEmpty() - - + + OCL self.author->exists(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(consol::AuthorParticipation)) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::Indication2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::RSON) - - + + OCL self.participant->exists(participant : cda::Participant2 | not participant.oclIsUndefined() and participant.oclIsKindOf(cda::Participant2)) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::SUBJ).observation->excluding(null)->reject(classCode=vocab::ActClassObservation::OBS) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::SUBJ).observation->excluding(null)->reject(moodCode=vocab::x_ActMoodDocumentObservation::RQO) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::SUBJ).observation->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::SUBJ).observation->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = code.oclAsType(datatypes::CD) in value.code = 'ASSERTION' and value.codeSystem = '2.16.840.1.113883.5.4')) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::SUBJ).observation->excluding(null)->reject((statusCode.oclIsUndefined() or statusCode.isNullFlavorUndefined()) implies (not statusCode.oclIsUndefined() and statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = statusCode.oclAsType(datatypes::CS) in value.code = 'completed')) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::SUBJ).observation->excluding(null)->reject((statusCode.oclIsUndefined() or statusCode.isNullFlavorUndefined()) implies (not statusCode.oclIsUndefined())) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::SUBJ).observation->excluding(null)->reject((priorityCode.oclIsUndefined() or priorityCode.isNullFlavorUndefined()) implies (not priorityCode.oclIsUndefined())) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::SUBJ).observation->excluding(null)->reject((priorityCode.oclIsUndefined() or priorityCode.isNullFlavorUndefined()) implies (not priorityCode.oclIsUndefined() and priorityCode.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = priorityCode.oclAsType(datatypes::CE) in 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'))) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::SUBJ).observation->excluding(null)->reject((value->isEmpty() or value->exists(element | element.isNullFlavorUndefined())) implies (value->size() = 1 and value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and (value.code = '370985002' or value.code = '170941001' or value.code = '170935008' or value.code = '268528005' or value.code = '170939002' or value.code = '268529002' or value.code = '170936009' or value.code = '170937000' or value.code = '170940000')))) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::SUBJ).observation->excluding(null)->reject((value->isEmpty() or value->exists(element | element.isNullFlavorUndefined())) implies (value->size() = 1 and value->forAll(element | element.oclIsTypeOf(datatypes::CD)))) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::SUBJ)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::SUBJ)->reject(typeCode=vocab::x_ActRelationshipEntryRelationship::SUBJ) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::SUBJ)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::SUBJ)->reject(observation->one(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(cda::Observation))) - - + + OCL self.participant->excluding(null).participantRole->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.participant->excluding(null).participantRole->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.6.101' and not value.code.oclIsUndefined())) - - + + OCL self.participant->excluding(null)->reject(typeCode=vocab::ParticipationType::REFT) - - + + OCL self.participant->excluding(null)->reject(participantRole->one(participantRole : cda::ParticipantRole | not participantRole.oclIsUndefined() and participantRole.oclIsKindOf(cda::ParticipantRole))) @@ -20642,15 +20642,15 @@ value.codeSystem = '2.16.840.1.113883.6.101' and not value.code.oclIsUndefined() - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::Indication2)).oclAsType(consol::Indication2) - - + + @@ -20658,124 +20658,124 @@ value.codeSystem = '2.16.840.1.113883.6.101' and not value.code.oclIsUndefined() This template represents the insurance coverage intended to cover an act or procedure. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.129') - - + + OCL self.classCode=vocab::x_ActClassDocumentEntryAct::ACT - - + + OCL self.moodCode=vocab::x_DocumentActMood::INT - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '48768-6' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'active') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.oclIsUndefined() and entryRelationship.oclIsKindOf(cda::EntryRelationship)) - - + + OCL self.author->exists(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(consol::AuthorParticipation)) - - + + OCL self.entryRelationship->excluding(null).act->excluding(null)->reject(classCode=vocab::x_ActClassDocumentEntryAct::ACT) - - + + OCL self.entryRelationship->excluding(null).act->excluding(null)->reject(moodCode=vocab::x_DocumentActMood::INT) - - + + OCL self.entryRelationship->excluding(null).act->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (( not id->isEmpty()) )) - - + + OCL self.entryRelationship->excluding(null).act->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.entryRelationship->excluding(null).act->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = code.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.3.221.5' and not value.code.oclIsUndefined())) - - + + OCL self.entryRelationship->excluding(null).act->excluding(null)->reject((statusCode.oclIsUndefined() or statusCode.isNullFlavorUndefined()) implies (not statusCode.oclIsUndefined() and statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = statusCode.oclAsType(datatypes::CS) in value.code = 'active')) - - + + OCL self.entryRelationship->excluding(null).act->excluding(null)->reject((statusCode.oclIsUndefined() or statusCode.isNullFlavorUndefined()) implies (not statusCode.oclIsUndefined())) - - + + OCL self.entryRelationship->excluding(null)->reject(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP) - - + + OCL self.entryRelationship->excluding(null)->reject(act->one(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(cda::Act))) @@ -20799,120 +20799,120 @@ A goal usually has a related health concern and/or risk. A goal may have components consisting of other goals (milestones). These milestones are related to the overall goal through entryRelationships. </p> - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.121') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::GOL - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'active') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (( not self.value->isEmpty()) ) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::GoalObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::COMP) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::EntryReference) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.author->exists(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(consol::AuthorParticipation)) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::EntryReference) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::PriorityPreference) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::EntryReference) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::COMP) - - + + OCL self.reference->exists(reference : cda::Reference | not reference.oclIsUndefined() and reference.oclIsKindOf(cda::Reference)) - - + + OCL self.reference->excluding(null)->reject(typeCode=vocab::x_ActRelationshipExternalReference::REFR) - - + + OCL self.reference->excluding(null)->reject(externalDocument->one(externalDocument : cda::ExternalDocument | not externalDocument.oclIsUndefined() and externalDocument.oclIsKindOf(consol::ExternalDocumentReference))) @@ -20920,59 +20920,59 @@ value.code = 'active') - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::GoalObservation)).oclAsType(consol::GoalObservation) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::EntryReference)).oclAsType(consol::EntryReference) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::EntryReference)).oclAsType(consol::EntryReference) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::PriorityPreference))->asSequence()->any(true).oclAsType(consol::PriorityPreference) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::EntryReference)).oclAsType(consol::EntryReference) - - + + @@ -20994,282 +20994,282 @@ When the underlying condition is of concern (i.e., as long as the condition, whe Health concerns require intervention(s) to increase the likelihood of achieving the goals of care for the patient and they specify the condition oriented reasons for creating the plan. </p> - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.132' and id.extension = '2015-08-01') - - + + OCL self.classCode=vocab::x_ActClassDocumentEntryAct::ACT - - + + OCL self.moodCode=vocab::x_DocumentActMood::EVN - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '75310-3' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'active' or value.code = 'suspended' or value.code = 'aborted' or value.code = 'completed') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::EntryReference) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::EntryReference) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::COMP) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::AssessmentScaleObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.organizer.oclIsUndefined() and entryRelationship.organizer.oclIsKindOf(consol::FamilyHistoryOrganizer2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::NutritionAssessment) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::PregnancyObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::CaregiverCharacteristics) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::CulturalAndReligiousObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::CharacteristicsOfHomeEnvironment) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::NutritionalStatusObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::EntryReference) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.author->exists(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(consol::AuthorParticipation)) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::SelfCareActivities) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::SensoryStatus) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::LongitudinalCareWoundObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::PriorityPreference) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::ProblemObservation2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::AllergyObservation2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::MentalStatusObservation2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::SmokingStatusMeaningfulUse2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::EncounterDiagnosis2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::FunctionalStatusObservation2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::HospitalAdmissionDiagnosis2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::PostprocedureDiagnosis2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::PreoperativeDiagnosis2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::ReactionObservation2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::ResultObservation2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::SocialHistoryObservation2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::SubstanceOrDeviceAllergyObservation2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::TobaccoUse2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::VitalSignObservation2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::ProblemObservation2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SPRT) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.organizer.oclIsUndefined() and entryRelationship.organizer.oclIsKindOf(consol::ResultOrganizer2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::ProblemConcernAct2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.reference->exists(reference : cda::Reference | not reference.oclIsUndefined() and reference.oclIsKindOf(cda::Reference)) - - + + OCL self.reference->excluding(null)->reject(typeCode=vocab::x_ActRelationshipExternalReference::REFR) - - + + OCL self.reference->excluding(null)->reject(externalDocument->one(externalDocument : cda::ExternalDocument | not externalDocument.oclIsUndefined() and externalDocument.oclIsKindOf(consol::ExternalDocumentReference))) @@ -21277,345 +21277,345 @@ value.code = 'active' or value.code = 'suspended' or value.code = 'aborted' or v - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::AssessmentScaleObservation)).oclAsType(consol::AssessmentScaleObservation) - - + + - - - + + + OCL self.getOrganizers()->select(organizer : cda::Organizer | not organizer.oclIsUndefined() and organizer.oclIsKindOf(consol::FamilyHistoryOrganizer2)).oclAsType(consol::FamilyHistoryOrganizer2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::NutritionAssessment)).oclAsType(consol::NutritionAssessment) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::PregnancyObservation)).oclAsType(consol::PregnancyObservation) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::CaregiverCharacteristics)).oclAsType(consol::CaregiverCharacteristics) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::CulturalAndReligiousObservation)).oclAsType(consol::CulturalAndReligiousObservation) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::CharacteristicsOfHomeEnvironment)).oclAsType(consol::CharacteristicsOfHomeEnvironment) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::NutritionalStatusObservation)).oclAsType(consol::NutritionalStatusObservation) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::EntryReference)).oclAsType(consol::EntryReference) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::SelfCareActivities)).oclAsType(consol::SelfCareActivities) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::SensoryStatus)).oclAsType(consol::SensoryStatus) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::LongitudinalCareWoundObservation)).oclAsType(consol::LongitudinalCareWoundObservation) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::PriorityPreference)).oclAsType(consol::PriorityPreference) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ProblemObservation2)).oclAsType(consol::ProblemObservation2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::AllergyObservation2)).oclAsType(consol::AllergyObservation2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::MentalStatusObservation2)).oclAsType(consol::MentalStatusObservation2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::SmokingStatusMeaningfulUse2)).oclAsType(consol::SmokingStatusMeaningfulUse2) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::EncounterDiagnosis2)).oclAsType(consol::EncounterDiagnosis2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::FunctionalStatusObservation2)).oclAsType(consol::FunctionalStatusObservation2) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::HospitalAdmissionDiagnosis2)).oclAsType(consol::HospitalAdmissionDiagnosis2) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::PostprocedureDiagnosis2)).oclAsType(consol::PostprocedureDiagnosis2) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::PreoperativeDiagnosis2)).oclAsType(consol::PreoperativeDiagnosis2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ReactionObservation2)).oclAsType(consol::ReactionObservation2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ResultObservation2)).oclAsType(consol::ResultObservation2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::SocialHistoryObservation2)).oclAsType(consol::SocialHistoryObservation2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::SubstanceOrDeviceAllergyObservation2)).oclAsType(consol::SubstanceOrDeviceAllergyObservation2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::TobaccoUse2)).oclAsType(consol::TobaccoUse2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::VitalSignObservation2)).oclAsType(consol::VitalSignObservation2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ProblemObservation2)).oclAsType(consol::ProblemObservation2) - - + + - - - + + + OCL self.getOrganizers()->select(organizer : cda::Organizer | not organizer.oclIsUndefined() and organizer.oclIsKindOf(consol::ResultOrganizer2)).oclAsType(consol::ResultOrganizer2) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::ProblemConcernAct2)).oclAsType(consol::ProblemConcernAct2) - - + + @@ -21634,174 +21634,174 @@ Intervention Acts can be related to each other, or to Planned Intervention Acts All interventions referenced in an Intervention Act must have a moodCode of EVN, indicating that they have occurred. </p> - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.131' and id.extension = '2015-08-01') - - + + OCL self.classCode=vocab::x_ActClassDocumentEntryAct::ACT - - + + OCL self.moodCode=vocab::x_DocumentActMood::EVN - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '362956003' and value.codeSystem = '2.16.840.1.113883.6.96') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::InterventionAct) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::NutritionRecommendation)) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::EntryReference) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::EntryReference) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::RSON) - - + + OCL self.author->exists(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(consol::AuthorParticipation)) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::AdvanceDirectiveObservation2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.substanceAdministration.oclIsUndefined() and entryRelationship.substanceAdministration.oclIsKindOf(consol::ImmunizationActivity2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.substanceAdministration.oclIsUndefined() and entryRelationship.substanceAdministration.oclIsKindOf(consol::MedicationActivity2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::ProcedureActivityAct2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::ProcedureActivityObservation2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.procedure.oclIsUndefined() and entryRelationship.procedure.oclIsKindOf(consol::ProcedureActivityProcedure2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.encounter.oclIsUndefined() and entryRelationship.encounter.oclIsKindOf(consol::EncounterActivity2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.supply.oclIsUndefined() and entryRelationship.supply.oclIsKindOf(consol::NonMedicinalSupplyActivity2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::Instruction2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::HandoffCommunicationParticipants) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::PlannedInterventionAct) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.reference->exists(reference : cda::Reference | not reference.oclIsUndefined() and reference.oclIsKindOf(cda::Reference)) - - + + OCL self.reference->excluding(null)->reject(typeCode=vocab::x_ActRelationshipExternalReference::REFR) - - + + OCL self.reference->excluding(null)->reject(externalDocument->one(externalDocument : cda::ExternalDocument | not externalDocument.oclIsUndefined() and externalDocument.oclIsKindOf(consol::ExternalDocumentReference))) @@ -21809,158 +21809,158 @@ value.code = 'completed') - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::InterventionAct)).oclAsType(consol::InterventionAct) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::NutritionRecommendation)).oclAsType(consol::NutritionRecommendation) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::EntryReference)).oclAsType(consol::EntryReference) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::AdvanceDirectiveObservation2)).oclAsType(consol::AdvanceDirectiveObservation2) - - + + - - - + + + OCL self.getSubstanceAdministrations()->select(substanceAdministration : cda::SubstanceAdministration | not substanceAdministration.oclIsUndefined() and substanceAdministration.oclIsKindOf(consol::ImmunizationActivity2)).oclAsType(consol::ImmunizationActivity2) - - + + - - - + + + OCL self.getSubstanceAdministrations()->select(substanceAdministration : cda::SubstanceAdministration | not substanceAdministration.oclIsUndefined() and substanceAdministration.oclIsKindOf(consol::MedicationActivity2)).oclAsType(consol::MedicationActivity2) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::ProcedureActivityAct2)).oclAsType(consol::ProcedureActivityAct2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ProcedureActivityObservation2)).oclAsType(consol::ProcedureActivityObservation2) - - + + - - - + + + OCL self.getProcedures()->select(procedure : cda::Procedure | not procedure.oclIsUndefined() and procedure.oclIsKindOf(consol::ProcedureActivityProcedure2)).oclAsType(consol::ProcedureActivityProcedure2) - - + + - - - + + + OCL self.getEncounters()->select(encounter : cda::Encounter | not encounter.oclIsUndefined() and encounter.oclIsKindOf(consol::EncounterActivity2)).oclAsType(consol::EncounterActivity2) - - + + - - - + + + OCL self.getSupplies()->select(supply : cda::Supply | not supply.oclIsUndefined() and supply.oclIsKindOf(consol::NonMedicinalSupplyActivity2)).oclAsType(consol::NonMedicinalSupplyActivity2) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::Instruction2)).oclAsType(consol::Instruction2) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::HandoffCommunicationParticipants)).oclAsType(consol::HandoffCommunicationParticipants) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::PlannedInterventionAct)).oclAsType(consol::PlannedInterventionAct) - - + + @@ -21968,44 +21968,44 @@ value.code = 'completed') Where it is necessary to reference an external clinical document, the External Document Reference template can be used to reference this external document. However, if the containing document is replacing or appending to another document in the same set, that relationship is set in the header, using ClinicalDocument/relatedDocument. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.115') - - + + OCL isDefined('classCode') and self.classCode=vocab::ActClassDocument::DOCCLIN - - + + OCL isDefined('moodCode') and self.moodCode=vocab::ActMood::EVN - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (self.id->size() = 1) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.setId.oclIsUndefined() or self.setId.isNullFlavorUndefined()) implies (not self.setId.oclIsUndefined()) - - + + OCL (self.versionNumber.oclIsUndefined() or self.versionNumber.isNullFlavorUndefined()) implies (not self.versionNumber.oclIsUndefined()) @@ -22023,174 +22023,174 @@ This template represents planned immunizations. Planned Immunization Activity is The priority of the immunization activity to the patient and provider is communicated through Priority Preference. The effectiveTime indicates the time when the immunization activity is intended to take place and authorTime indicates when the documentation of the plan occurred. </p> - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.120') - - + + OCL self.classCode=vocab::ActClass::SBADM - - + + OCL isDefined('moodCode') - - + + OCL not self.moodCode.oclIsUndefined() and self.moodCode.oclIsKindOf(vocab::x_DocumentSubstanceMood) and let value : vocab::x_DocumentSubstanceMood = self.moodCode.oclAsType(vocab::x_DocumentSubstanceMood) in value = vocab::x_DocumentSubstanceMood::INT or value = vocab::x_DocumentSubstanceMood::PRMS or value = vocab::x_DocumentSubstanceMood::PRP or value = vocab::x_DocumentSubstanceMood::RQO - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'active') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.effectiveTime->isEmpty() or self.effectiveTime->exists(element | element.isNullFlavorUndefined())) implies (self.effectiveTime->size() = 1) - - + + OCL (self.repeatNumber.oclIsUndefined() or self.repeatNumber.isNullFlavorUndefined()) implies (not self.repeatNumber.oclIsUndefined()) - - + + OCL (self.routeCode.oclIsUndefined() or self.routeCode.isNullFlavorUndefined()) implies (not self.routeCode.oclIsUndefined()) - - + + OCL (self.routeCode.oclIsUndefined() or self.routeCode.isNullFlavorUndefined()) implies (not self.routeCode.oclIsUndefined() and self.routeCode.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.routeCode.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.3.26.1.1' and not value.code.oclIsUndefined()) - - + + OCL (self.approachSiteCode->isEmpty() or self.approachSiteCode->exists(element | element.isNullFlavorUndefined())) implies (not self.approachSiteCode->isEmpty()) - - + + OCL (self.approachSiteCode->isEmpty() or self.approachSiteCode->exists(element | element.isNullFlavorUndefined())) implies (self.approachSiteCode->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined())) - - + + OCL (self.doseQuantity.oclIsUndefined() or self.doseQuantity.isNullFlavorUndefined()) implies (not self.doseQuantity.oclIsUndefined()) - - + + OCL self.performer->exists(performer : cda::Performer2 | not performer.oclIsUndefined() and performer.oclIsKindOf(rim::Participation)) - - + + OCL self.author->exists(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(consol::AuthorParticipation)) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::PriorityPreference) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::Indication2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::RSON) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::Instruction2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ) - - + + OCL self.precondition->exists(precondition : cda::Precondition | not precondition.oclIsUndefined() and precondition.oclIsKindOf(cda::Precondition)) - - + + OCL self.consumable->one(consumable : cda::Consumable | not consumable.oclIsUndefined() and consumable.oclIsKindOf(cda::Consumable)) - - + + OCL self.routeCode->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((translation->isEmpty() or translation->exists(element | element.isNullFlavorUndefined())) implies (not translation->isEmpty()) ))) - - + + OCL self.routeCode->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((translation->isEmpty() or translation->exists(element | element.isNullFlavorUndefined())) implies (translation->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined())) ))) - - + + OCL self.doseQuantity->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (not unit.oclIsUndefined() ))) - - + + OCL self.consumable->excluding(null)->reject(manufacturedProduct->one(manufacturedProduct : cda::ManufacturedProduct | not manufacturedProduct.oclIsUndefined() and manufacturedProduct.oclIsKindOf(consol::ImmunizationMedicationInformation2))) - - + + OCL self.precondition->excluding(null)->reject(isDefined('typeCode') and typeCode=vocab::ActRelationshipType::PRCN) - - + + OCL self.precondition->excluding(null)->reject(criterion->one(criterion : cda::Criterion | not criterion.oclIsUndefined() and criterion.oclIsKindOf(consol::PreconditionForSubstanceAdministration2))) @@ -22198,37 +22198,37 @@ value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined()) - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::PriorityPreference)).oclAsType(consol::PriorityPreference) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::Indication2)).oclAsType(consol::Indication2) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::Instruction2)).oclAsType(consol::Instruction2) - - + + @@ -22241,60 +22241,60 @@ This template represents the patient's prognosis, which must be associated with The effectiveTime represents the clinically relevant time of the observation. The observation/value is not constrained and can represent the expected life duration in PQ, an anticipated course of the disease in text, or coded term. </p> - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.113') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '75328-5' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1) @@ -22315,68 +22315,68 @@ In the Care Planning workflow, the judgment about how well the person is progres For example, an observation outcome of a blood oxygen saturation level of 95% is related to the goal of "Maintain Pulse Ox greater than 92" and in this case the Progress Toward Goal Observation template would record that the related goal has been achieved. </p> - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.110') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = 'ASSERTION' and value.codeSystem = '2.16.840.1.113883.5.4') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and (value.code = '390801001' or value.code = '390802008' or value.code = '706905005' or value.code = '706906006'))) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | element.oclIsTypeOf(datatypes::CD))) @@ -22389,66 +22389,66 @@ value.codeSystem = '2.16.840.1.113883.6.96' and (value.code = '390801001' or val This template represents priority preferences chosen by a patient or a care provider. Priority preferences are choices made by care providers or patients or both relative to options for care or treatment (including scheduling, care experience, and meeting of personal health goals), the sharing and disclosure of health information, and the prioritization of concerns and problems. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.143') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '225773000' and value.codeSystem = '2.16.840.1.113883.6.96') - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and (value.code = '394849002' or value.code = '394848005' or value.code = '441808003'))) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | element.oclIsTypeOf(datatypes::CD))) - - + + OCL self.author->exists(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(consol::AuthorParticipation)) @@ -22461,74 +22461,74 @@ value.codeSystem = '2.16.840.1.113883.6.96' and (value.code = '394849002' or val This template represents a patient's daily self-care ability. These activities are called Activities of Daily Living (ADL) and Instrumental Activities of Daily Living (IADL). ADLs involve caring for and moving of the body (e.g., dressing, bathing, eating). IADLs support an independent life style (e.g., cooking, managing medications, driving, shopping). - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.128') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.1' and (value.code = '46008-9' or value.code = '28409-1' or value.code = '28408-3' or value.code = '46484-2' or value.code = '46482-6' or value.code = '28413-3')) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and (value.code = '371150009' or value.code = '371153006' or value.code = '371155004' or value.code = '371152001' or value.code = '371154000' or value.code = '371151008' or value.code = '371156003' or value.code = '371157007' or value.code = '385640009'))) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | element.oclIsTypeOf(datatypes::CD))) - - + + OCL self.author->exists(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(consol::AuthorParticipation)) @@ -22541,92 +22541,92 @@ value.codeSystem = '2.16.840.1.113883.6.96' and (value.code = '371150009' or val This template represents a patient's sensory or speech ability. It may contain an assessment scale observations related to the sensory or speech ability. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.127') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and (value.code = '47078008' or value.code = '405183003' or value.code = '373713005' or value.code = '397627001' or value.code = '397686008' or value.code = '397624008' or value.code = '128542002' or value.code = '285567008')) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined())) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | element.oclIsTypeOf(datatypes::CD))) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::AssessmentScaleObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::COMP) - - + + OCL self.author->exists(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(consol::AuthorParticipation)) - - + + OCL self.effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((low.oclIsUndefined() or low.isNullFlavorUndefined()) implies (not low.oclIsUndefined()) ))) - - + + OCL self.effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((high.oclIsUndefined() or high.isNullFlavorUndefined()) implies (not high.oclIsUndefined()) ))) @@ -22634,15 +22634,15 @@ value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined()) - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::AssessmentScaleObservation)).oclAsType(consol::AssessmentScaleObservation) - - + + @@ -22650,60 +22650,60 @@ value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined()) This template represents the administration course in a series. The entryRelationship/sequenceNumber in the containing template shows the order of this particular administration in that medication series. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.118') - - + + OCL self.classCode=vocab::x_ActClassDocumentEntryAct::ACT - - + + OCL self.moodCode=vocab::x_DocumentActMood::EVN - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '416118004' and value.codeSystem = '2.16.840.1.113883.6.96') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) @@ -22716,74 +22716,74 @@ value.code = 'completed') This template represents characteristics of a wound (e.g., integrity of suture line, odor, erythema). - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.134') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = 'ASSERTION' and value.codeSystem = '2.16.840.1.113883.5.4') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined())) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | element.oclIsTypeOf(datatypes::CD))) @@ -22796,66 +22796,66 @@ value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined()) This template represents the Wound Measurement Observations of wound width, depth and length. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.133') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.1' and (value.code = '39125-0' or value.code = '39127-6' or value.code = '39126-8')) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | element.oclIsTypeOf(datatypes::PQ))) @@ -22868,177 +22868,177 @@ value.code = 'completed') This template represents acquired or surgical wounds and is not intended to encompass all wound types. The template applies to wounds such as pressure ulcers, surgical incisions, and deep tissue injury wounds. Information in this template may include information about the wound measurements characteristics. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.114' and id.extension = '2015-08-01') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = 'ASSERTION' and value.codeSystem = '2.16.840.1.113883.5.4') - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (not self.value->isEmpty()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined())) - - + + OCL (self.targetSiteCode->isEmpty() or self.targetSiteCode->exists(element | element.isNullFlavorUndefined())) implies (self.targetSiteCode->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined())) - - + + OCL (self.targetSiteCode->isEmpty() or self.targetSiteCode->exists(element | element.isNullFlavorUndefined())) implies (( not self.targetSiteCode->isEmpty()) ) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::WoundMeasurementObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::COMP) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::WoundCharacteristic) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::COMP) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::HighestPressureUlcerStage) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::COMP) - - + + OCL self.author->exists(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(consol::AuthorParticipation)) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::NumberOfPressureUlcersObservation2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::COMP) - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined()).qualifier->excluding(null)->select(isNullFlavorUndefined()).value->excluding(null)->select(isNullFlavorUndefined())->reject(code = '2.16.840.1.113883.6.96') - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined()).qualifier->excluding(null)->select(isNullFlavorUndefined()).value->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (not code.oclIsUndefined() ))) - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined()).qualifier->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((name.oclIsUndefined() or name.isNullFlavorUndefined()) implies (not name.oclIsUndefined() and name.oclIsKindOf(datatypes::CV) and let value : datatypes::CV = name.oclAsType(datatypes::CV) in value.code = '272741003') ))) - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined()).qualifier->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((name.oclIsUndefined() or name.isNullFlavorUndefined()) implies (not name.oclIsUndefined()) ))) - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined()).qualifier->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((value.oclIsUndefined() or value.isNullFlavorUndefined()) implies (not value.oclIsUndefined()) ))) - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((qualifier->isEmpty() or qualifier->exists(element | element.isNullFlavorUndefined())) implies (not qualifier->isEmpty()) ))) - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::WoundMeasurementObservation)).oclAsType(consol::WoundMeasurementObservation) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::WoundCharacteristic)).oclAsType(consol::WoundCharacteristic) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::HighestPressureUlcerStage))->asSequence()->any(true).oclAsType(consol::HighestPressureUlcerStage) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::NumberOfPressureUlcersObservation2)).oclAsType(consol::NumberOfPressureUlcersObservation2) - - + + @@ -23046,46 +23046,46 @@ value.code = '272741003') ))) This template represents patient Goals. A goal is a defined outcome or condition to be achieved in the process of patient care. Goals include patient-defined over-arching goals (e.g., alleviation of health concerns, desired/intended positive outcomes from interventions, longevity, function, symptom management, comfort) and health concern-specific or intervention-specific goals to achieve desired outcomes. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.60') - - + + OCL isDefined('nullFlavor') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '61146-7' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::GoalObservation)) @@ -23093,15 +23093,15 @@ value.code = '61146-7' and value.codeSystem = '2.16.840.1.113883.6.1') - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::GoalObservation)).oclAsType(consol::GoalObservation) - - + + @@ -23114,58 +23114,58 @@ This section contains data describing an interest or worry about a health state Problem Concerns are a subset of Health Concerns that have risen to the level of importance that they typically would belong on a classic "Problem List", such as "Diabetes Mellitus" or "Family History of Melanoma" or "Tobacco abuse". These are of broad interest to multiple members of the care team. Examples of other Health Concerns that might not typically be considered a Problem Concern include "Risk of Hyperkalemia" for a patient taking an ACE-inhibitor medication, or "Transportation difficulties" for someone who doesn't drive and has trouble getting to appointments, or "Under-insured" for someone who doesn't have sufficient insurance to properly cover their medical needs such as medications. These are typically most important to just a limited number of care team members. </p> - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.58' and id.extension = '2015-08-01') - - + + OCL isDefined('nullFlavor') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '75310-3' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::HealthConcernAct)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::HealthStatusObservation2)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::RiskConcernAct)) @@ -23173,37 +23173,37 @@ value.code = '75310-3' and value.codeSystem = '2.16.840.1.113883.6.1') - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::HealthConcernAct)).oclAsType(consol::HealthConcernAct) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::HealthStatusObservation2)).oclAsType(consol::HealthStatusObservation2) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::RiskConcernAct)).oclAsType(consol::RiskConcernAct) - - + + @@ -23211,46 +23211,46 @@ value.code = '75310-3' and value.codeSystem = '2.16.840.1.113883.6.1') This template represents observations regarding the outcome of care from the interventions used to treat the patient. These observations represent status, at points in time, related to established care plan goals and/or interventions. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.61') - - + + OCL isDefined('nullFlavor') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '11383-7' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::OutcomeObservation)) @@ -23258,15 +23258,15 @@ value.code = '11383-7' and value.codeSystem = '2.16.840.1.113883.6.1') - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::OutcomeObservation)).oclAsType(consol::OutcomeObservation) - - + + @@ -23288,52 +23288,52 @@ The Mental Status Section contains observations and evaluations related to a pat <li>Insight and judgment (e.g., understanding of condition, decision making)</li> </ul> - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.56' and id.extension = '2015-08-01') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '10190-7' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::AssessmentScaleObservation)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.organizer.oclIsUndefined() and entry.organizer.oclIsKindOf(consol::MentalStatusOrganizer2)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::MentalStatusObservation2)) @@ -23341,37 +23341,37 @@ value.code = '10190-7' and value.codeSystem = '2.16.840.1.113883.6.1') - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::AssessmentScaleObservation)).oclAsType(consol::AssessmentScaleObservation) - - + + - - - + + + OCL self.getOrganizers()->select(organizer : cda::Organizer | not organizer.oclIsUndefined() and organizer.oclIsKindOf(consol::MentalStatusOrganizer2)).oclAsType(consol::MentalStatusOrganizer2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::MentalStatusObservation2)).oclAsType(consol::MentalStatusObservation2) - - + + @@ -23379,40 +23379,40 @@ value.code = '10190-7' and value.codeSystem = '2.16.840.1.113883.6.1') The Nutrition Section represents diet and nutrition information including special diet requirements and restrictions (e.g., texture modified diet, liquids only, enteral feeding). It also represents the overall nutritional status of the patient and nutrition assessment findings. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.57') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '61144-2' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::NutritionalStatusObservation)) @@ -23420,15 +23420,15 @@ value.code = '61144-2' and value.codeSystem = '2.16.840.1.113883.6.1') - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::NutritionalStatusObservation)).oclAsType(consol::NutritionalStatusObservation) - - + + @@ -23439,40 +23439,40 @@ value.code = '61144-2' and value.codeSystem = '2.16.840.1.113883.6.1') REMOVED - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.62') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '10206-1' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::LongitudinalCareWoundObservation)) @@ -23480,15 +23480,15 @@ value.code = '10206-1' and value.codeSystem = '2.16.840.1.113883.6.1') - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::LongitudinalCareWoundObservation)).oclAsType(consol::LongitudinalCareWoundObservation) - - + + @@ -23502,510 +23502,510 @@ value.code = '10206-1' and value.codeSystem = '2.16.840.1.113883.6.1') code.codeSystem = '2.16.840.1.113883.6.1' - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.1.1' and id.extension.oclIsUndefined()) - - + + OCL (self.realmCode->isEmpty() or self.realmCode->exists(element | element.isNullFlavorUndefined())) implies (self.realmCode->size() = 1 and self.realmCode->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = element.oclAsType(datatypes::CS) in value.code = 'US')) - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL self.recordTarget->exists(recordTarget : cda::RecordTarget | not recordTarget.oclIsUndefined() and recordTarget.oclIsKindOf(cda::RecordTarget)) - - + + OCL self.dataEnterer->one(dataEnterer : cda::DataEnterer | not dataEnterer.oclIsUndefined() and dataEnterer.oclIsKindOf(cda::DataEnterer)) - - + + OCL self.author->exists(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(cda::Author)) - - + + OCL self.custodian->one(custodian : cda::Custodian | not custodian.oclIsUndefined() and custodian.oclIsKindOf(cda::Custodian)) - - + + OCL self.informationRecipient->exists(informationRecipient : cda::InformationRecipient | not informationRecipient.oclIsUndefined() and informationRecipient.oclIsKindOf(cda::InformationRecipient)) - - + + OCL self.legalAuthenticator->one(legalAuthenticator : cda::LegalAuthenticator | not legalAuthenticator.oclIsUndefined() and legalAuthenticator.oclIsKindOf(cda::LegalAuthenticator)) - - + + OCL self.authenticator->exists(authenticator : cda::Authenticator | not authenticator.oclIsUndefined() and authenticator.oclIsKindOf(cda::Authenticator)) - - + + OCL self.informant->exists(informant : cda::Informant12 | not informant.oclIsUndefined() and informant.oclIsKindOf(cda::Informant12)) - - + + OCL self.inFulfillmentOf->exists(inFulfillmentOf : cda::InFulfillmentOf | not inFulfillmentOf.oclIsUndefined() and inFulfillmentOf.oclIsKindOf(cda::InFulfillmentOf)) - - + + OCL self.componentOf->one(componentOf : cda::Component1 | not componentOf.oclIsUndefined() and componentOf.oclIsKindOf(cda::Component1)) - - + + OCL self.participant->select(participant : cda::Participant1 | not participant.oclIsUndefined() and participant.oclIsKindOf(cda::Participant1))->select(typeCode = vocab::ParticipationType::IND)->notEmpty() - - + + OCL self.documentationOf->exists(documentationOf : cda::DocumentationOf | not documentationOf.oclIsUndefined() and documentationOf.oclIsKindOf(cda::DocumentationOf)) - - + + OCL self.authorization->exists(authorization : cda::Authorization | not authorization.oclIsUndefined() and authorization.oclIsKindOf(cda::Authorization)) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).guardian->excluding(null).telecom->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (( not use->isEmpty()) ))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).guardian->excluding(null)->reject(true) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).guardian->excluding(null)->reject(not code.oclIsUndefined() and code.isNullFlavorUndefined() implies code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.5.111' and not value.code.oclIsUndefined()) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).guardian->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).guardian->excluding(null)->reject((telecom->isEmpty() or telecom->exists(element | element.isNullFlavorUndefined())) implies (not telecom->isEmpty())) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).languageCommunication->excluding(null)->reject((languageCode.oclIsUndefined() or languageCode.isNullFlavorUndefined()) implies (not languageCode.oclIsUndefined())) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).languageCommunication->excluding(null)->reject((languageCode.oclIsUndefined() or languageCode.isNullFlavorUndefined()) implies (not languageCode.oclIsUndefined() and languageCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = languageCode.oclAsType(datatypes::CS) in not value.code.oclIsUndefined())) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).languageCommunication->excluding(null)->reject((preferenceInd.oclIsUndefined() or preferenceInd.isNullFlavorUndefined()) implies (not preferenceInd.oclIsUndefined())) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).birthTime->excluding(null)->select(isNullFlavorUndefined())->reject(not value.oclIsUndefined() and value.size() >= 4) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).birthTime->excluding(null)->select(isNullFlavorUndefined())->reject(not value.oclIsUndefined() and value.size() >= 8) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).birthTime->excluding(null)->select(isNullFlavorUndefined())->reject(not value.oclIsUndefined() and value.size() >= 10) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).birthTime->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (true ))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).birthplace->excluding(null).place->excluding(null)->reject((addr.country->exists(curCountry | not curCountry.oclIsUndefined() and curCountry.getText() = 'US')) implies (addr.state->size() = 1) and ((addr.state->exists(curState | (curState.getText() = 'AL' or curState.getText() = 'AK' or curState.getText() = 'AS' or curState.getText() = 'AZ' or curState.getText() = 'AR' or curState.getText() = 'CA' or curState.getText() = 'CO' or curState.getText() = 'CT' or curState.getText() = 'DE' or curState.getText() = 'DC' or curState.getText() = 'FL' or curState.getText() = 'FM' or curState.getText() = 'GA' or curState.getText() = 'GU' or curState.getText() = 'HI' or curState.getText() = 'ID' or curState.getText() = 'IL' or curState.getText() = 'IN' or curState.getText() = 'IA' or curState.getText() = 'KS' or curState.getText() = 'KY' or curState.getText() = 'LA' or curState.getText() = 'ME' or curState.getText() = 'MH' or curState.getText() = 'MD' or curState.getText() = 'MA' or curState.getText() = 'MI' or curState.getText() = 'MN' or curState.getText() = 'MS' or curState.getText() = 'MO' or curState.getText() = 'MT' or curState.getText() = 'NE' or curState.getText() = 'NV' or curState.getText() = 'NH' or curState.getText() = 'NJ' or curState.getText() = 'NM' or curState.getText() = 'NY' or curState.getText() = 'NC' or curState.getText() = 'ND' or curState.getText() = 'MP' or curState.getText() = 'OH' or curState.getText() = 'OK' or curState.getText() = 'OR' or curState.getText() = 'PW' or curState.getText() = 'PA' or curState.getText() = 'PR' or curState.getText() = 'RI' or curState.getText() = 'SC' or curState.getText() = 'SD' or curState.getText() = 'TN' or curState.getText() = 'TX' or curState.getText() = 'UM' or curState.getText() = 'UT' or curState.getText() = 'VT' or curState.getText() = 'VA' or curState.getText() = 'VI' or curState.getText() = 'WA' or curState.getText() = 'WV' or curState.getText() = 'WI' or curState.getText() = 'WY' ))) or (addr.state->exists(curState | curState.isNullFlavorDefined())))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).birthplace->excluding(null)->reject(place->one(place : cda::Place | not place.oclIsUndefined() and place.oclIsKindOf(cda::Place))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null)->reject((raceCode.oclIsUndefined() or raceCode.isNullFlavorUndefined()) implies (not raceCode.oclIsUndefined() and raceCode.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = raceCode.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.6.238' and (value.code = '1002-5' or value.code = '2028-9' or value.code = '2054-5' or value.code = '2076-8' or value.code = '2106-3'))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null)->reject((raceCode.oclIsUndefined() or raceCode.isNullFlavorUndefined()) implies (not raceCode.oclIsUndefined())) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null)->reject((ethnicGroupCode.oclIsUndefined() or ethnicGroupCode.isNullFlavorUndefined()) implies (not ethnicGroupCode.oclIsUndefined() and ethnicGroupCode.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = ethnicGroupCode.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.6.238' and (value.code = '2135-2' or value.code = '2186-5'))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null)->reject((ethnicGroupCode.oclIsUndefined() or ethnicGroupCode.isNullFlavorUndefined()) implies (not ethnicGroupCode.oclIsUndefined())) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null)->reject((birthTime.oclIsUndefined() or birthTime.isNullFlavorUndefined()) implies (not birthTime.oclIsUndefined())) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null)->reject((sDTCEthnicGroupCode->isEmpty() or sDTCEthnicGroupCode->exists(element | element.isNullFlavorUndefined())) implies (not sDTCEthnicGroupCode->isEmpty())) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null)->reject((sDTCEthnicGroupCode->isEmpty() or sDTCEthnicGroupCode->exists(element | element.isNullFlavorUndefined())) implies (sDTCEthnicGroupCode->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = element.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.6.238' and not value.code.oclIsUndefined()))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null)->reject(guardian->exists(guardian : cda::Guardian | not guardian.oclIsUndefined() and guardian.oclIsKindOf(cda::Guardian))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null)->reject(languageCommunication->exists(languageCommunication : cda::LanguageCommunication | not languageCommunication.oclIsUndefined() and languageCommunication.oclIsKindOf(cda::LanguageCommunication))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null)->reject(birthplace->one(birthplace : cda::Birthplace | not birthplace.oclIsUndefined() and birthplace.oclIsKindOf(cda::Birthplace))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null)->reject(patient->one(patient : cda::Patient | not patient.oclIsUndefined() and patient.oclIsKindOf(cda::Patient))) - - + + OCL self.recordTarget->excluding(null)->reject(patientRole->one(patientRole : cda::PatientRole | not patientRole.oclIsUndefined() and patientRole.oclIsKindOf(cda::PatientRole))) - - + + OCL self.dataEnterer->excluding(null).assignedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.dataEnterer->excluding(null).assignedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.6.101' and not value.code.oclIsUndefined())) - - + + OCL self.dataEnterer->excluding(null)->reject(assignedEntity->one(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(cda::AssignedEntity))) - - + + OCL self.author->excluding(null).assignedAuthor->excluding(null)->reject(not assignedPerson.oclIsUndefined() and (code.oclIsUndefined() or code.isNullFlavorUndefined()) implies not code.oclIsUndefined()) - - + + OCL self.author->excluding(null).assignedAuthor->excluding(null)->reject(not assignedPerson.oclIsUndefined() and (code.oclIsUndefined() or code.isNullFlavorUndefined()) implies not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.6.101' and not value.code.oclIsUndefined()) - - + + OCL self.author->excluding(null).assignedAuthor->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (true)) - - + + OCL self.author->excluding(null).assignedAuthor->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (true)) - - + + OCL self.author->excluding(null)->reject(assignedAuthor->one(assignedAuthor : cda::AssignedAuthor | not assignedAuthor.oclIsUndefined() and assignedAuthor.oclIsKindOf(cda::AssignedAuthor))) - - + + OCL self.informationRecipient->excluding(null).intendedRecipient->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (not id->isEmpty())) - - + + OCL self.informationRecipient->excluding(null)->reject(intendedRecipient->one(intendedRecipient : cda::IntendedRecipient | not intendedRecipient.oclIsUndefined() and intendedRecipient.oclIsKindOf(cda::IntendedRecipient))) - - + + OCL self.legalAuthenticator->excluding(null)->reject((sDTCSignatureText.oclIsUndefined() or sDTCSignatureText.isNullFlavorUndefined()) implies (not sDTCSignatureText.oclIsUndefined())) - - + + OCL self.authenticator->excluding(null)->reject((sDTCSignatureText.oclIsUndefined() or sDTCSignatureText.isNullFlavorUndefined()) implies (not sDTCSignatureText.oclIsUndefined())) - - + + OCL self.informant->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() implies ( streetAddressLine->size() >=1 and streetAddressLine->size() <=4)) - - + + OCL self.informant->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() and country->exists(c : datatypes::ADXP | c.getText() = 'US') implies state->size() >= 1) - - + + OCL self.informant->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() and country->exists(c : datatypes::ADXP | c.getText() = 'US') implies postalCode->size() >= 1) - - + + OCL self.informant->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (use->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(vocab::PostalAddressUse) and let value : vocab::PostalAddressUse = element.oclAsType(vocab::PostalAddressUse) in value = vocab::PostalAddressUse::BAD or value = vocab::PostalAddressUse::DIR or value = vocab::PostalAddressUse::H or value = vocab::PostalAddressUse::HP or value = vocab::PostalAddressUse::HV or value = vocab::PostalAddressUse::PHYS or value = vocab::PostalAddressUse::PST or value = vocab::PostalAddressUse::PUB or value = vocab::PostalAddressUse::TMP or value = vocab::PostalAddressUse::WP) ))) - - + + OCL self.informant->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (( not use->isEmpty()) ))) - - + + OCL self.informant->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((country->isEmpty() or country->exists(element | element.isNullFlavorUndefined())) implies (( not country->isEmpty()) ) ))) - - + + OCL self.informant->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((state->isEmpty() or state->exists(element | element.isNullFlavorUndefined())) implies (( not state->isEmpty()) ) ))) - - + + OCL self.informant->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((city->isEmpty() or city->exists(element | element.isNullFlavorUndefined())) implies (city->size() = 1) ))) - - + + OCL self.informant->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((postalCode->isEmpty() or postalCode->exists(element | element.isNullFlavorUndefined())) implies (( not postalCode->isEmpty()) ) ))) - - + + OCL self.informant->excluding(null).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((streetAddressLine->isEmpty() or streetAddressLine->exists(element | element.isNullFlavorUndefined())) implies (( not streetAddressLine->isEmpty()) ) ))) - - + + OCL self.informant->excluding(null).assignedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.informant->excluding(null).assignedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.6.101' and not value.code.oclIsUndefined())) - - + + OCL self.informant->excluding(null).assignedEntity->excluding(null)->reject((addr->isEmpty() or addr->exists(element | element.isNullFlavorUndefined())) implies (( not addr->isEmpty()) )) - - + + OCL self.informant->excluding(null).relatedEntity->excluding(null)->reject(addr->isEmpty()) - - + + OCL self.informant->excluding(null).relatedEntity->excluding(null)->reject(true) - - + + OCL self.informant->excluding(null)->reject(assignedEntity.oclIsUndefined() xor relatedEntity.oclIsUndefined()) - - + + OCL self.informant->excluding(null)->reject(true) - - + + OCL self.informant->excluding(null)->reject(true) - - + + OCL self.componentOf->excluding(null)->reject(encompassingEncounter->one(encompassingEncounter : cda::EncompassingEncounter | not encompassingEncounter.oclIsUndefined() and encompassingEncounter.oclIsKindOf(cda::EncompassingEncounter))) - - + + OCL self.participant->excluding(null)->select(typeCode = vocab::ParticipationType::IND)->select(typeCode = vocab::ParticipationType::IND)->reject((not associatedEntity.associatedPerson.oclIsUndefined()) or (not associatedEntity.scopingOrganization.oclIsUndefined())) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null).assignedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null).assignedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.6.101' and not value.code.oclIsUndefined())) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null)->reject((functionCode.oclIsUndefined() or functionCode.isNullFlavorUndefined()) implies (not functionCode.oclIsUndefined())) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null)->reject((functionCode.oclIsUndefined() or functionCode.isNullFlavorUndefined()) implies (not functionCode.oclIsUndefined() and functionCode.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = functionCode.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.5.88' and (value.code = 'ADMPHYS' or value.code = 'ANEST' or value.code = 'ANRS' or value.code = 'ATTPHYS' or value.code = 'DISPHYS' or value.code = 'FASST' or value.code = 'MDWF' or value.code = 'NASST' or value.code = 'PCP' or value.code = 'PRISURG' or value.code = 'RNDPHYS' or value.code = 'SASST' or value.code = 'SNRS' or value.code = 'TASST'))) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null)->reject(assignedEntity->one(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(cda::AssignedEntity))) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject(performer->exists(performer : cda::Performer1 | not performer.oclIsUndefined() and performer.oclIsKindOf(cda::Performer1))) - - + + OCL self.documentationOf->excluding(null)->reject(serviceEvent->one(serviceEvent : cda::ServiceEvent | not serviceEvent.oclIsUndefined() and serviceEvent.oclIsKindOf(cda::ServiceEvent))) @@ -24053,483 +24053,483 @@ Please see Volume 1 of this guide to view a Care Plan Relationship diagram and s not self.getAllSections()->exists(s : cda::Section | s.oclIsTypeOf(consol::PlanOfTreatmentSection2)) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.1.15' and id.extension = '2015-08-01') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.6.1' and (value.code = '18776-5' or value.code = '52521-2' or value.code = '81957-3')) - - + + OCL (self.setId.oclIsUndefined() or self.setId.isNullFlavorUndefined()) implies (not self.setId.oclIsUndefined()) - - + + OCL (self.versionNumber.oclIsUndefined() or self.versionNumber.isNullFlavorUndefined()) implies (not self.versionNumber.oclIsUndefined()) - - + + OCL self.informationRecipient->exists(informationRecipient : cda::InformationRecipient | not informationRecipient.oclIsUndefined() and informationRecipient.oclIsKindOf(cda::InformationRecipient)) - - + + OCL self.authenticator->one(authenticator : cda::Authenticator | not authenticator.oclIsUndefined() and authenticator.oclIsKindOf(cda::Authenticator)) - - + + OCL self.participant->select(participant : cda::Participant1 | not participant.oclIsUndefined() and participant.oclIsKindOf(cda::Participant1))->select(typeCode=vocab::ParticipationType::VRF)->notEmpty() - - + + OCL self.participant->select(participant : cda::Participant1 | not participant.oclIsUndefined() and participant.oclIsKindOf(cda::Participant1))->select(typeCode=vocab::ParticipationType::IND)->notEmpty() - - + + OCL self.documentationOf->one(documentationOf : cda::DocumentationOf | not documentationOf.oclIsUndefined() and documentationOf.oclIsKindOf(cda::DocumentationOf)) - - + + OCL self.relatedDocument->exists(relatedDocument : cda::RelatedDocument | not relatedDocument.oclIsUndefined() and relatedDocument.oclIsKindOf(cda::RelatedDocument)) - - + + OCL self.componentOf->one(componentOf : cda::Component1 | not componentOf.oclIsUndefined() and componentOf.oclIsKindOf(cda::Component1)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HealthConcernsSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::GoalsSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HealthStatusEvaluationsAndOutcomesSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::InterventionsSection2)) - - + + OCL self.informationRecipient->excluding(null).intendedRecipient->excluding(null).informationRecipient->excluding(null).name->excluding(null)->select(isNullFlavorUndefined())->reject((getText(true)<>'' and ( family->isEmpty() and given->isEmpty() and suffix->isEmpty() and prefix->isEmpty() ) ) xor (getText(true)='' and (not family->isEmpty() and not given->isEmpty() ))) - - + + OCL self.informationRecipient->excluding(null).intendedRecipient->excluding(null).informationRecipient->excluding(null)->reject((name->isEmpty() or name->exists(element | element.isNullFlavorUndefined())) implies (name->size() = 1)) - - + + OCL self.informationRecipient->excluding(null).intendedRecipient->excluding(null).receivedOrganization->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (not id->isEmpty())) - - + + OCL self.informationRecipient->excluding(null).intendedRecipient->excluding(null).receivedOrganization->excluding(null)->reject((name->isEmpty() or name->exists(element | element.isNullFlavorUndefined())) implies (( not name->isEmpty()) )) - - + + OCL self.informationRecipient->excluding(null).intendedRecipient->excluding(null).receivedOrganization->excluding(null)->reject((standardIndustryClassCode.oclIsUndefined() or standardIndustryClassCode.isNullFlavorUndefined()) implies (not standardIndustryClassCode.oclIsUndefined())) - - + + OCL self.informationRecipient->excluding(null).intendedRecipient->excluding(null).receivedOrganization->excluding(null)->reject((standardIndustryClassCode.oclIsUndefined() or standardIndustryClassCode.isNullFlavorUndefined()) implies (not standardIndustryClassCode.oclIsUndefined() and standardIndustryClassCode.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = standardIndustryClassCode.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.6.101' and not value.code.oclIsUndefined())) - - + + OCL self.informationRecipient->excluding(null).intendedRecipient->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (( not id->isEmpty()) )) - - + + OCL self.informationRecipient->excluding(null).intendedRecipient->excluding(null)->reject((addr->isEmpty() or addr->exists(element | element.isNullFlavorUndefined())) implies (not addr->isEmpty())) - - + + OCL self.informationRecipient->excluding(null).intendedRecipient->excluding(null)->reject((telecom->isEmpty() or telecom->exists(element | element.isNullFlavorUndefined())) implies (not telecom->isEmpty())) - - + + OCL self.informationRecipient->excluding(null).intendedRecipient->excluding(null)->reject(informationRecipient->one(informationRecipient : cda::Person | not informationRecipient.oclIsUndefined() and informationRecipient.oclIsKindOf(cda::Person))) - - + + OCL self.informationRecipient->excluding(null).intendedRecipient->excluding(null)->reject(receivedOrganization->one(receivedOrganization : cda::Organization | not receivedOrganization.oclIsUndefined() and receivedOrganization.oclIsKindOf(cda::Organization))) - - + + OCL self.informationRecipient->excluding(null)->reject(intendedRecipient->one(intendedRecipient : cda::IntendedRecipient | not intendedRecipient.oclIsUndefined() and intendedRecipient.oclIsKindOf(cda::IntendedRecipient))) - - + + OCL self.authenticator->excluding(null).assignedEntity->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (not id->isEmpty())) - - + + OCL self.authenticator->excluding(null).assignedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.code = 'ONESELF' and value.codeSystem = '2.16.840.1.113883.5.111')) - - + + OCL self.authenticator->excluding(null).assignedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.authenticator->excluding(null)->reject((time.oclIsUndefined() or time.isNullFlavorUndefined()) implies (not time.oclIsUndefined())) - - + + OCL self.authenticator->excluding(null)->reject((signatureCode.oclIsUndefined() or signatureCode.isNullFlavorUndefined()) implies (not signatureCode.oclIsUndefined())) - - + + OCL self.authenticator->excluding(null)->reject((sDTCSignatureText.oclIsUndefined() or sDTCSignatureText.isNullFlavorUndefined()) implies (not sDTCSignatureText.oclIsUndefined())) - - + + OCL self.authenticator->excluding(null)->reject(assignedEntity->one(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(cda::AssignedEntity))) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::VRF).associatedEntity->excluding(null)->reject(isDefined('classCode')) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::VRF).associatedEntity->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (( not id->isEmpty()) )) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::VRF).associatedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::VRF).associatedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.5.111' and (value.code = 'DAUINLAW' or value.code = 'FTH' or value.code = 'DAU' or value.code = 'HPOWATT' or value.code = 'MTH' or value.code = 'SON' or value.code = 'SELF' or value.code = 'SONINLAW'))) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::VRF)->select(typeCode=vocab::ParticipationType::VRF)->reject(typeCode=vocab::ParticipationType::VRF) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::VRF)->select(typeCode=vocab::ParticipationType::VRF)->reject((functionCode.oclIsUndefined() or functionCode.isNullFlavorUndefined()) implies (not functionCode.oclIsUndefined() and functionCode.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = functionCode.oclAsType(datatypes::CE) in value.code = '425268008' and value.codeSystem = '2.16.840.1.113883.6.96')) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::VRF)->select(typeCode=vocab::ParticipationType::VRF)->reject((functionCode.oclIsUndefined() or functionCode.isNullFlavorUndefined()) implies (not functionCode.oclIsUndefined())) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::VRF)->select(typeCode=vocab::ParticipationType::VRF)->reject((time.oclIsUndefined() or time.isNullFlavorUndefined()) implies (not time.oclIsUndefined())) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::VRF)->select(typeCode=vocab::ParticipationType::VRF)->reject(associatedEntity->one(associatedEntity : cda::AssociatedEntity | not associatedEntity.oclIsUndefined() and associatedEntity.oclIsKindOf(cda::AssociatedEntity))) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::IND).associatedEntity->excluding(null).associatedPerson->excluding(null)->reject((name->isEmpty() or name->exists(element | element.isNullFlavorUndefined())) implies (( not name->isEmpty()) )) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::IND).associatedEntity->excluding(null)->reject(isDefined('classCode')) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::IND).associatedEntity->excluding(null)->reject(not classCode.oclIsUndefined() and classCode.oclIsKindOf(vocab::RoleClassAssociative) and let value : vocab::RoleClassAssociative = classCode.oclAsType(vocab::RoleClassAssociative) in value = vocab::RoleClassAssociative::PRS or value = vocab::RoleClassAssociative::NOK or value = vocab::RoleClassAssociative::CAREGIVER or value = vocab::RoleClassAssociative::AGNT or value = vocab::RoleClassAssociative::GUAR or value = vocab::RoleClassAssociative::ECON) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::IND).associatedEntity->excluding(null)->reject(associatedPerson->one(associatedPerson : cda::Person | not associatedPerson.oclIsUndefined() and associatedPerson.oclIsKindOf(cda::Person))) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::IND)->select(typeCode=vocab::ParticipationType::IND)->reject(typeCode=vocab::ParticipationType::IND) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::IND)->select(typeCode=vocab::ParticipationType::IND)->reject(associatedEntity->one(associatedEntity : cda::AssociatedEntity | not associatedEntity.oclIsUndefined() and associatedEntity.oclIsKindOf(cda::AssociatedEntity))) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((low.oclIsUndefined() or low.isNullFlavorUndefined()) implies (not low.oclIsUndefined()) ))) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((high.oclIsUndefined() or high.isNullFlavorUndefined()) implies (not high.oclIsUndefined()) ))) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null).assignedEntity->excluding(null).assignedPerson->excluding(null).name->excluding(null)->select(isNullFlavorUndefined())->reject((getText(true)<>'' and ( family->isEmpty() and given->isEmpty() and suffix->isEmpty() and prefix->isEmpty() ) ) xor (getText(true)='' and (not family->isEmpty() and not given->isEmpty() ))) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null).assignedEntity->excluding(null).assignedPerson->excluding(null)->reject((name->isEmpty() or name->exists(element | element.isNullFlavorUndefined())) implies (name->size() = 1)) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null).assignedEntity->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (not id->isEmpty())) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null).assignedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null).assignedEntity->excluding(null)->reject(assignedPerson->one(assignedPerson : cda::Person | not assignedPerson.oclIsUndefined() and assignedPerson.oclIsKindOf(cda::Person))) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null)->reject(assignedEntity->one(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(cda::AssignedEntity))) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject(isDefined('classCode') and classCode=vocab::ActClassRoot::PCPR) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject((effectiveTime.oclIsUndefined() or effectiveTime.isNullFlavorUndefined()) implies (not effectiveTime.oclIsUndefined())) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject(performer->exists(performer : cda::Performer1 | not performer.oclIsUndefined() and performer.oclIsKindOf(cda::Performer1))) - - + + OCL self.documentationOf->excluding(null)->reject(serviceEvent->one(serviceEvent : cda::ServiceEvent | not serviceEvent.oclIsUndefined() and serviceEvent.oclIsKindOf(cda::ServiceEvent))) - - + + OCL self.relatedDocument->excluding(null).parentDocument->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (not id->isEmpty())) - - + + OCL self.relatedDocument->excluding(null).parentDocument->excluding(null)->reject((setId.oclIsUndefined() or setId.isNullFlavorUndefined()) implies (not setId.oclIsUndefined())) - - + + OCL self.relatedDocument->excluding(null).parentDocument->excluding(null)->reject((versionNumber.oclIsUndefined() or versionNumber.isNullFlavorUndefined()) implies (not versionNumber.oclIsUndefined())) - - + + OCL self.relatedDocument->excluding(null)->reject(isDefined('typeCode')) - - + + OCL self.relatedDocument->excluding(null)->reject(not typeCode.oclIsUndefined() and typeCode.oclIsKindOf(vocab::x_ActRelationshipDocument) and let value : vocab::x_ActRelationshipDocument = typeCode.oclAsType(vocab::x_ActRelationshipDocument) in value = vocab::x_ActRelationshipDocument::APND or value = vocab::x_ActRelationshipDocument::RPLC or value = vocab::x_ActRelationshipDocument::XFRM) - - + + OCL self.relatedDocument->excluding(null)->reject(parentDocument->one(parentDocument : cda::ParentDocument | not parentDocument.oclIsUndefined() and parentDocument.oclIsKindOf(cda::ParentDocument))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject((effectiveTime.oclIsUndefined() or effectiveTime.isNullFlavorUndefined()) implies (not effectiveTime.oclIsUndefined())) - - + + OCL self.componentOf->excluding(null)->reject(encompassingEncounter->one(encompassingEncounter : cda::EncompassingEncounter | not encompassingEncounter.oclIsUndefined() and encompassingEncounter.oclIsKindOf(cda::EncompassingEncounter))) - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HealthConcernsSection))->asSequence()->any(true).oclAsType(consol::HealthConcernsSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::GoalsSection))->asSequence()->any(true).oclAsType(consol::GoalsSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HealthStatusEvaluationsAndOutcomesSection))->asSequence()->any(true).oclAsType(consol::HealthStatusEvaluationsAndOutcomesSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::InterventionsSection2))->asSequence()->any(true).oclAsType(consol::InterventionsSection2) - - + + @@ -24554,579 +24554,579 @@ Examples of referral situations are when a patient is referred from a family phy (self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PlanOfTreatmentSection2)) or self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AssessmentSection))) xor self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AssessmentAndPlanSection2)) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.1.14' and id.extension = '2015-08-01') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.6.1' and not value.code.oclIsUndefined()) - - + + OCL self.informationRecipient->one(informationRecipient : cda::InformationRecipient | not informationRecipient.oclIsUndefined() and informationRecipient.oclIsKindOf(cda::InformationRecipient)) - - + + OCL self.participant->select(participant : cda::Participant1 | not participant.oclIsUndefined() and participant.oclIsKindOf(cda::Participant1))->select(typeCode=vocab::ParticipationType::IND)->notEmpty() - - + + OCL self.participant->select(participant : cda::Participant1 | not participant.oclIsUndefined() and participant.oclIsKindOf(cda::Participant1))->select(typeCode=vocab::ParticipationType::CALLBCK)->notEmpty() - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PlanOfTreatmentSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AdvanceDirectivesSectionEntriesOptional2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HistoryOfPresentIllnessSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ImmunizationsSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProblemSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProceduresSectionEntriesOptional2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ResultsSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReviewOfSystemsSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::SocialHistorySection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::VitalSignsSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::FunctionalStatusSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PhysicalExamSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AdvanceDirectivesSectionEntriesOptional2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::NutritionSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MentalStatusSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MedicalEquipmentSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AllergiesSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AssessmentSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AssessmentAndPlanSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HistoryOfPastIllnessSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::GeneralStatusSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MedicationsSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReasonForReferralSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::FamilyHistorySection2)) - - + + OCL self.informationRecipient->excluding(null).intendedRecipient->excluding(null).informationRecipient->excluding(null)->reject((name->isEmpty() or name->exists(element | element.isNullFlavorUndefined())) implies (( not name->isEmpty()) )) - - + + OCL self.informationRecipient->excluding(null).intendedRecipient->excluding(null)->reject((addr->isEmpty() or addr->exists(element | element.isNullFlavorUndefined())) implies (not addr->isEmpty())) - - + + OCL self.informationRecipient->excluding(null).intendedRecipient->excluding(null)->reject((telecom->isEmpty() or telecom->exists(element | element.isNullFlavorUndefined())) implies (not telecom->isEmpty())) - - + + OCL self.informationRecipient->excluding(null).intendedRecipient->excluding(null)->reject(informationRecipient->one(informationRecipient : cda::Person | not informationRecipient.oclIsUndefined() and informationRecipient.oclIsKindOf(cda::Person))) - - + + OCL self.informationRecipient->excluding(null)->reject(intendedRecipient->one(intendedRecipient : cda::IntendedRecipient | not intendedRecipient.oclIsUndefined() and intendedRecipient.oclIsKindOf(cda::IntendedRecipient))) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::IND).associatedEntity->excluding(null).associatedPerson->excluding(null).name->excluding(null)->select(isNullFlavorUndefined())->reject((getText(true)<>'' and ( family->isEmpty() and given->isEmpty() and suffix->isEmpty() and prefix->isEmpty() ) ) xor (getText(true)='' and (not family->isEmpty() and not given->isEmpty() ))) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::IND).associatedEntity->excluding(null).associatedPerson->excluding(null)->reject((name->isEmpty() or name->exists(element | element.isNullFlavorUndefined())) implies (( not name->isEmpty()) )) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::IND).associatedEntity->excluding(null)->reject(isDefined('classCode')) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::IND).associatedEntity->excluding(null)->reject(not classCode.oclIsUndefined() and classCode.oclIsKindOf(vocab::RoleClassAssociative) and let value : vocab::RoleClassAssociative = classCode.oclAsType(vocab::RoleClassAssociative) in value = vocab::RoleClassAssociative::PRS or value = vocab::RoleClassAssociative::NOK or value = vocab::RoleClassAssociative::CAREGIVER or value = vocab::RoleClassAssociative::AGNT or value = vocab::RoleClassAssociative::GUAR or value = vocab::RoleClassAssociative::ECON) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::IND).associatedEntity->excluding(null)->reject(associatedPerson->one(associatedPerson : cda::Person | not associatedPerson.oclIsUndefined() and associatedPerson.oclIsKindOf(cda::Person))) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::IND)->select(typeCode=vocab::ParticipationType::IND)->reject(typeCode=vocab::ParticipationType::IND) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::IND)->select(typeCode=vocab::ParticipationType::IND)->reject(associatedEntity->one(associatedEntity : cda::AssociatedEntity | not associatedEntity.oclIsUndefined() and associatedEntity.oclIsKindOf(cda::AssociatedEntity))) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::CALLBCK).associatedEntity->excluding(null).associatedPerson->excluding(null)->reject((name->isEmpty() or name->exists(element | element.isNullFlavorUndefined())) implies (( not name->isEmpty()) )) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::CALLBCK).associatedEntity->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (( not id->isEmpty()) )) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::CALLBCK).associatedEntity->excluding(null)->reject((addr->isEmpty() or addr->exists(element | element.isNullFlavorUndefined())) implies (not addr->isEmpty())) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::CALLBCK).associatedEntity->excluding(null)->reject((telecom->isEmpty() or telecom->exists(element | element.isNullFlavorUndefined())) implies (( not telecom->isEmpty()) )) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::CALLBCK).associatedEntity->excluding(null)->reject(classCode=vocab::RoleClassAssociative::ASSIGNED) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::CALLBCK).associatedEntity->excluding(null)->reject(associatedPerson->one(associatedPerson : cda::Person | not associatedPerson.oclIsUndefined() and associatedPerson.oclIsKindOf(cda::Person))) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::CALLBCK).associatedEntity->excluding(null)->reject(scopingOrganization->one(scopingOrganization : cda::Organization | not scopingOrganization.oclIsUndefined() and scopingOrganization.oclIsKindOf(rim::Entity))) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::CALLBCK)->select(typeCode=vocab::ParticipationType::CALLBCK)->reject(typeCode=vocab::ParticipationType::CALLBCK) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::CALLBCK)->select(typeCode=vocab::ParticipationType::CALLBCK)->reject(associatedEntity->one(associatedEntity : cda::AssociatedEntity | not associatedEntity.oclIsUndefined() and associatedEntity.oclIsKindOf(cda::AssociatedEntity))) - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PlanOfTreatmentSection2))->asSequence()->any(true).oclAsType(consol::PlanOfTreatmentSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AdvanceDirectivesSectionEntriesOptional2))->asSequence()->any(true).oclAsType(consol::AdvanceDirectivesSectionEntriesOptional2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HistoryOfPresentIllnessSection))->asSequence()->any(true).oclAsType(consol::HistoryOfPresentIllnessSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ImmunizationsSection2))->asSequence()->any(true).oclAsType(consol::ImmunizationsSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProblemSection2))->asSequence()->any(true).oclAsType(consol::ProblemSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProceduresSectionEntriesOptional2))->asSequence()->any(true).oclAsType(consol::ProceduresSectionEntriesOptional2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ResultsSection2))->asSequence()->any(true).oclAsType(consol::ResultsSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReviewOfSystemsSection))->asSequence()->any(true).oclAsType(consol::ReviewOfSystemsSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::SocialHistorySection2))->asSequence()->any(true).oclAsType(consol::SocialHistorySection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::VitalSignsSection2))->asSequence()->any(true).oclAsType(consol::VitalSignsSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::FunctionalStatusSection2))->asSequence()->any(true).oclAsType(consol::FunctionalStatusSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PhysicalExamSection2))->asSequence()->any(true).oclAsType(consol::PhysicalExamSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AdvanceDirectivesSectionEntriesOptional2))->asSequence()->any(true).oclAsType(consol::AdvanceDirectivesSectionEntriesOptional2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::NutritionSection))->asSequence()->any(true).oclAsType(consol::NutritionSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MentalStatusSection))->asSequence()->any(true).oclAsType(consol::MentalStatusSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MedicalEquipmentSection2))->asSequence()->any(true).oclAsType(consol::MedicalEquipmentSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AllergiesSection2))->asSequence()->any(true).oclAsType(consol::AllergiesSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AssessmentSection))->asSequence()->any(true).oclAsType(consol::AssessmentSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AssessmentAndPlanSection2))->asSequence()->any(true).oclAsType(consol::AssessmentAndPlanSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HistoryOfPastIllnessSection2))->asSequence()->any(true).oclAsType(consol::HistoryOfPastIllnessSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::GeneralStatusSection))->asSequence()->any(true).oclAsType(consol::GeneralStatusSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MedicationsSection2))->asSequence()->any(true).oclAsType(consol::MedicationsSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReasonForReferralSection2))->asSequence()->any(true).oclAsType(consol::ReasonForReferralSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::FamilyHistorySection2))->asSequence()->any(true).oclAsType(consol::FamilyHistorySection2) - - + + @@ -25151,678 +25151,678 @@ Standardization of information used in this form will promote interoperability; (self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PlanOfTreatmentSection2)) or self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AssessmentSection))) xor self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AssessmentAndPlanSection2)) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.1.13' and id.extension = '2015-08-01') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.6.1' and not value.code.oclIsUndefined()) - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL self.participant->select(participant : cda::Participant1 | not participant.oclIsUndefined() and participant.oclIsKindOf(cda::Participant1))->select(typeCode = vocab::ParticipationType::IND)->notEmpty() - - + + OCL self.participant->select(participant : cda::Participant1 | not participant.oclIsUndefined() and participant.oclIsKindOf(cda::Participant1))->select(typeCode = vocab::ParticipationType::CALLBCK)->notEmpty() - - + + OCL self.documentationOf->one(documentationOf : cda::DocumentationOf | not documentationOf.oclIsUndefined() and documentationOf.oclIsKindOf(cda::DocumentationOf)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AdvanceDirectivesSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AllergiesSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PhysicalExamSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::EncountersSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::FamilyHistorySection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::FunctionalStatusSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ImmunizationsSectionEntriesOptional2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MedicalEquipmentSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MedicationsSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PayersSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PlanOfTreatmentSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProblemSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProceduresSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ResultsSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::SocialHistorySection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::VitalSignsSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MentalStatusSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::GeneralStatusSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReviewOfSystemsSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::NutritionSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReasonForReferralSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HistoryOfPastIllnessSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HistoryOfPresentIllnessSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AssessmentAndPlanSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AssessmentSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::DischargeDiagnosisSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AdmissionMedicationsSectionEntriesOptional2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AdmissionDiagnosisSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::CourseOfCareSection)) - - + + OCL self.participant->excluding(null)->select(typeCode = vocab::ParticipationType::IND).associatedEntity->excluding(null).associatedPerson->excluding(null)->reject((name->isEmpty() or name->exists(element | element.isNullFlavorUndefined())) implies (( not name->isEmpty()) )) - - + + OCL self.participant->excluding(null)->select(typeCode = vocab::ParticipationType::IND).associatedEntity->excluding(null)->reject(isDefined('classCode')) - - + + OCL self.participant->excluding(null)->select(typeCode = vocab::ParticipationType::IND).associatedEntity->excluding(null)->reject(not classCode.oclIsUndefined() and classCode.oclIsKindOf(vocab::RoleClassAssociative) and let value : vocab::RoleClassAssociative = classCode.oclAsType(vocab::RoleClassAssociative) in value = vocab::RoleClassAssociative::PRS or value = vocab::RoleClassAssociative::NOK or value = vocab::RoleClassAssociative::CAREGIVER or value = vocab::RoleClassAssociative::AGNT or value = vocab::RoleClassAssociative::GUAR or value = vocab::RoleClassAssociative::ECON) - - + + OCL self.participant->excluding(null)->select(typeCode = vocab::ParticipationType::IND).associatedEntity->excluding(null)->reject(associatedPerson->one(associatedPerson : cda::Person | not associatedPerson.oclIsUndefined() and associatedPerson.oclIsKindOf(cda::Person))) - - + + OCL self.participant->excluding(null)->select(typeCode = vocab::ParticipationType::IND)->select(typeCode = vocab::ParticipationType::IND)->reject(typeCode=vocab::ParticipationType::IND) - - + + OCL self.participant->excluding(null)->select(typeCode = vocab::ParticipationType::IND)->select(typeCode = vocab::ParticipationType::IND)->reject(associatedEntity->one(associatedEntity : cda::AssociatedEntity | not associatedEntity.oclIsUndefined() and associatedEntity.oclIsKindOf(cda::AssociatedEntity))) - - + + OCL self.participant->excluding(null)->select(typeCode = vocab::ParticipationType::CALLBCK).associatedEntity->excluding(null).associatedPerson->excluding(null)->reject((name->isEmpty() or name->exists(element | element.isNullFlavorUndefined())) implies (( not name->isEmpty()) )) - - + + OCL self.participant->excluding(null)->select(typeCode = vocab::ParticipationType::CALLBCK).associatedEntity->excluding(null)->reject(classCode=vocab::RoleClassAssociative::ASSIGNED) - - + + OCL self.participant->excluding(null)->select(typeCode = vocab::ParticipationType::CALLBCK).associatedEntity->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (( not id->isEmpty()) )) - - + + OCL self.participant->excluding(null)->select(typeCode = vocab::ParticipationType::CALLBCK).associatedEntity->excluding(null)->reject((addr->isEmpty() or addr->exists(element | element.isNullFlavorUndefined())) implies (not addr->isEmpty())) - - + + OCL self.participant->excluding(null)->select(typeCode = vocab::ParticipationType::CALLBCK).associatedEntity->excluding(null)->reject((telecom->isEmpty() or telecom->exists(element | element.isNullFlavorUndefined())) implies (( not telecom->isEmpty()) )) - - + + OCL self.participant->excluding(null)->select(typeCode = vocab::ParticipationType::CALLBCK).associatedEntity->excluding(null)->reject(associatedPerson->one(associatedPerson : cda::Person | not associatedPerson.oclIsUndefined() and associatedPerson.oclIsKindOf(cda::Person))) - - + + OCL self.participant->excluding(null)->select(typeCode = vocab::ParticipationType::CALLBCK).associatedEntity->excluding(null)->reject(scopingOrganization->one(scopingOrganization : cda::Organization | not scopingOrganization.oclIsUndefined() and scopingOrganization.oclIsKindOf(rim::Entity))) - - + + OCL self.participant->excluding(null)->select(typeCode = vocab::ParticipationType::CALLBCK)->select(typeCode = vocab::ParticipationType::CALLBCK)->reject(typeCode=vocab::ParticipationType::CALLBCK) - - + + OCL self.participant->excluding(null)->select(typeCode = vocab::ParticipationType::CALLBCK)->select(typeCode = vocab::ParticipationType::CALLBCK)->reject(associatedEntity->one(associatedEntity : cda::AssociatedEntity | not associatedEntity.oclIsUndefined() and associatedEntity.oclIsKindOf(cda::AssociatedEntity))) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null)->select(typeCode = vocab::x_ServiceEventPerformer::PRF)->select(typeCode = vocab::x_ServiceEventPerformer::PRF)->reject(typeCode=vocab::x_ServiceEventPerformer::PRF) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null)->select(typeCode = vocab::x_ServiceEventPerformer::PRF)->select(typeCode = vocab::x_ServiceEventPerformer::PRF)->reject((functionCode.oclIsUndefined() or functionCode.isNullFlavorUndefined()) implies (not functionCode.oclIsUndefined())) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null)->select(typeCode = vocab::x_ServiceEventPerformer::PRF)->select(typeCode = vocab::x_ServiceEventPerformer::PRF)->reject((functionCode.oclIsUndefined() or functionCode.isNullFlavorUndefined()) implies (not functionCode.oclIsUndefined() and functionCode.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = functionCode.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.6.101' and not value.code.oclIsUndefined())) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject(isDefined('classCode') and classCode=vocab::ActClassRoot::PCPR) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject(performer->select(performer : cda::Performer1 | not performer.oclIsUndefined() and performer.oclIsKindOf(cda::Performer1))->select(typeCode = vocab::x_ServiceEventPerformer::PRF)->notEmpty()) - - + + OCL self.documentationOf->excluding(null)->reject(serviceEvent->one(serviceEvent : cda::ServiceEvent | not serviceEvent.oclIsUndefined() and serviceEvent.oclIsKindOf(cda::ServiceEvent))) - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AdvanceDirectivesSection2))->asSequence()->any(true).oclAsType(consol::AdvanceDirectivesSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AllergiesSection2))->asSequence()->any(true).oclAsType(consol::AllergiesSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PhysicalExamSection2))->asSequence()->any(true).oclAsType(consol::PhysicalExamSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::EncountersSection2))->asSequence()->any(true).oclAsType(consol::EncountersSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::FamilyHistorySection))->asSequence()->any(true).oclAsType(consol::FamilyHistorySection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::FunctionalStatusSection2))->asSequence()->any(true).oclAsType(consol::FunctionalStatusSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ImmunizationsSectionEntriesOptional2))->asSequence()->any(true).oclAsType(consol::ImmunizationsSectionEntriesOptional2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MedicalEquipmentSection2))->asSequence()->any(true).oclAsType(consol::MedicalEquipmentSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MedicationsSection2))->asSequence()->any(true).oclAsType(consol::MedicationsSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PayersSection2))->asSequence()->any(true).oclAsType(consol::PayersSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PlanOfTreatmentSection2))->asSequence()->any(true).oclAsType(consol::PlanOfTreatmentSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProblemSection2))->asSequence()->any(true).oclAsType(consol::ProblemSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProceduresSection2))->asSequence()->any(true).oclAsType(consol::ProceduresSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ResultsSection2))->asSequence()->any(true).oclAsType(consol::ResultsSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::SocialHistorySection2))->asSequence()->any(true).oclAsType(consol::SocialHistorySection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::VitalSignsSection2))->asSequence()->any(true).oclAsType(consol::VitalSignsSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MentalStatusSection))->asSequence()->any(true).oclAsType(consol::MentalStatusSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::GeneralStatusSection))->asSequence()->any(true).oclAsType(consol::GeneralStatusSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReviewOfSystemsSection))->asSequence()->any(true).oclAsType(consol::ReviewOfSystemsSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::NutritionSection))->asSequence()->any(true).oclAsType(consol::NutritionSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReasonForReferralSection2))->asSequence()->any(true).oclAsType(consol::ReasonForReferralSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HistoryOfPastIllnessSection2))->asSequence()->any(true).oclAsType(consol::HistoryOfPastIllnessSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HistoryOfPresentIllnessSection))->asSequence()->any(true).oclAsType(consol::HistoryOfPresentIllnessSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AssessmentAndPlanSection2))->asSequence()->any(true).oclAsType(consol::AssessmentAndPlanSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AssessmentSection))->asSequence()->any(true).oclAsType(consol::AssessmentSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::DischargeDiagnosisSection2))->asSequence()->any(true).oclAsType(consol::DischargeDiagnosisSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AdmissionMedicationsSectionEntriesOptional2))->asSequence()->any(true).oclAsType(consol::AdmissionMedicationsSectionEntriesOptional2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AdmissionDiagnosisSection2))->asSequence()->any(true).oclAsType(consol::AdmissionDiagnosisSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::CourseOfCareSection))->asSequence()->any(true).oclAsType(consol::CourseOfCareSection) - - + + @@ -25835,412 +25835,412 @@ This template is designed to be used in conjunction with the US Realm Header (V3 The Patient Generated Document Header template is not a separate document type. The document body may contain any structured or unstructured content from C-CDA. </p> - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.29.1' and id.extension = '2015-08-01') - - + + OCL self.recordTarget->one(recordTarget : cda::RecordTarget | not recordTarget.oclIsUndefined() and recordTarget.oclIsKindOf(cda::RecordTarget)) - - + + OCL self.author->exists(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(cda::Author)) - - + + OCL self.dataEnterer->one(dataEnterer : cda::DataEnterer | not dataEnterer.oclIsUndefined() and dataEnterer.oclIsKindOf(cda::DataEnterer)) - - + + OCL self.informant->exists(informant : cda::Informant12 | not informant.oclIsUndefined() and informant.oclIsKindOf(cda::Informant12)) - - + + OCL self.custodian->one(custodian : cda::Custodian | not custodian.oclIsUndefined() and custodian.oclIsKindOf(cda::Custodian)) - - + + OCL self.informationRecipient->exists(informationRecipient : cda::InformationRecipient | not informationRecipient.oclIsUndefined() and informationRecipient.oclIsKindOf(cda::InformationRecipient)) - - + + OCL self.legalAuthenticator->one(legalAuthenticator : cda::LegalAuthenticator | not legalAuthenticator.oclIsUndefined() and legalAuthenticator.oclIsKindOf(cda::LegalAuthenticator)) - - + + OCL self.authenticator->exists(authenticator : cda::Authenticator | not authenticator.oclIsUndefined() and authenticator.oclIsKindOf(cda::Authenticator)) - - + + OCL self.participant->exists(participant : cda::Participant1 | not participant.oclIsUndefined() and participant.oclIsKindOf(cda::Participant1)) - - + + OCL self.inFulfillmentOf->exists(inFulfillmentOf : cda::InFulfillmentOf | not inFulfillmentOf.oclIsUndefined() and inFulfillmentOf.oclIsKindOf(cda::InFulfillmentOf)) - - + + OCL self.documentationOf->exists(documentationOf : cda::DocumentationOf | not documentationOf.oclIsUndefined() and documentationOf.oclIsKindOf(cda::DocumentationOf)) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).guardian->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (not id->isEmpty())) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).guardian->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).guardian->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.5.111' and (value.code = 'DAUINLAW' or value.code = 'FTH' or value.code = 'DAU' or value.code = 'HPOWATT' or value.code = 'MTH' or value.code = 'SON' or value.code = 'SELF' or value.code = 'SONINLAW'))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null).languageCommunication->excluding(null)->reject((preferenceInd.oclIsUndefined() or preferenceInd.isNullFlavorUndefined()) implies (not preferenceInd.oclIsUndefined())) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null)->reject(languageCommunication->size() > 1 implies languageCommunication->one( langCom : cda::LanguageCommunication | langCom.preferenceInd.value)) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null)->reject(guardian->exists(guardian : cda::Guardian | not guardian.oclIsUndefined() and guardian.oclIsKindOf(cda::Guardian))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null).patient->excluding(null)->reject(languageCommunication->exists(languageCommunication : cda::LanguageCommunication | not languageCommunication.oclIsUndefined() and languageCommunication.oclIsKindOf(cda::LanguageCommunication))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (not id->isEmpty())) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null)->reject(patient->one(patient : cda::Patient | not patient.oclIsUndefined() and patient.oclIsKindOf(cda::Patient))) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null)->reject(providerOrganization->one(providerOrganization : cda::Organization | not providerOrganization.oclIsUndefined() and providerOrganization.oclIsKindOf(rim::Entity))) - - + + OCL self.recordTarget->excluding(null)->reject(patientRole->one(patientRole : cda::PatientRole | not patientRole.oclIsUndefined() and patientRole.oclIsKindOf(cda::PatientRole))) - - + + OCL self.author->excluding(null).assignedAuthor->excluding(null).code->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() implies (codeSystem = '2.16.840.1.113883.5.111')) - - + + OCL self.author->excluding(null).assignedAuthor->excluding(null).code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (not code.oclIsUndefined() ))) - - + + OCL self.author->excluding(null).assignedAuthor->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (not id->isEmpty())) - - + + OCL self.author->excluding(null).assignedAuthor->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.author->excluding(null)->reject(assignedAuthor->one(assignedAuthor : cda::AssignedAuthor | not assignedAuthor.oclIsUndefined() and assignedAuthor.oclIsKindOf(cda::AssignedAuthor))) - - + + OCL self.dataEnterer->excluding(null).assignedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.dataEnterer->excluding(null).assignedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.5.111' and (value.code = 'DAUINLAW' or value.code = 'FTH' or value.code = 'DAU' or value.code = 'HPOWATT' or value.code = 'MTH' or value.code = 'SON' or value.code = 'SELF' or value.code = 'SONINLAW'))) - - + + OCL self.dataEnterer->excluding(null)->reject(assignedEntity->one(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(cda::AssignedEntity))) - - + + OCL self.informant->excluding(null).relatedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.informant->excluding(null).relatedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.5.111' and (value.code = 'DAUINLAW' or value.code = 'FTH' or value.code = 'DAU' or value.code = 'HPOWATT' or value.code = 'MTH' or value.code = 'SON' or value.code = 'SELF' or value.code = 'SONINLAW'))) - - + + OCL self.informant->excluding(null)->reject(relatedEntity->one(relatedEntity : cda::RelatedEntity | not relatedEntity.oclIsUndefined() and relatedEntity.oclIsKindOf(cda::RelatedEntity)) xor assignedEntity->one(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(cda::AssignedEntity))) - - + + OCL self.informant->excluding(null)->reject(relatedEntity->one(relatedEntity : cda::RelatedEntity | not relatedEntity.oclIsUndefined() and relatedEntity.oclIsKindOf(cda::RelatedEntity))) - - + + OCL self.custodian->excluding(null).assignedCustodian->excluding(null).representedCustodianOrganization->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (not id->isEmpty())) - - + + OCL self.custodian->excluding(null).assignedCustodian->excluding(null)->reject(representedCustodianOrganization->one(representedCustodianOrganization : cda::CustodianOrganization | not representedCustodianOrganization.oclIsUndefined() and representedCustodianOrganization.oclIsKindOf(cda::CustodianOrganization))) - - + + OCL self.custodian->excluding(null)->reject(assignedCustodian->one(assignedCustodian : cda::AssignedCustodian | not assignedCustodian.oclIsUndefined() and assignedCustodian.oclIsKindOf(cda::AssignedCustodian))) - - + + OCL self.informationRecipient->excluding(null).intendedRecipient->excluding(null).id->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (not root.oclIsUndefined() ))) - - + + OCL self.informationRecipient->excluding(null).intendedRecipient->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (not id->isEmpty())) - - + + OCL self.informationRecipient->excluding(null)->reject(intendedRecipient->one(intendedRecipient : cda::IntendedRecipient | not intendedRecipient.oclIsUndefined() and intendedRecipient.oclIsKindOf(cda::IntendedRecipient))) - - + + OCL self.legalAuthenticator->excluding(null).assignedEntity->excluding(null).code->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() implies (codeSystem = '2.16.840.1.113883.5.111')) - - + + OCL self.legalAuthenticator->excluding(null).assignedEntity->excluding(null).code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (not code.oclIsUndefined() ))) - - + + OCL self.legalAuthenticator->excluding(null).assignedEntity->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (not id->isEmpty())) - - + + OCL self.legalAuthenticator->excluding(null).assignedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.legalAuthenticator->excluding(null)->reject(assignedEntity->one(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(cda::AssignedEntity))) - - + + OCL self.authenticator->excluding(null).assignedEntity->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (not id->isEmpty())) - - + + OCL self.authenticator->excluding(null).assignedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.authenticator->excluding(null).assignedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.5.111' and (value.code = 'DAUINLAW' or value.code = 'FTH' or value.code = 'DAU' or value.code = 'HPOWATT' or value.code = 'MTH' or value.code = 'SON' or value.code = 'SELF' or value.code = 'SONINLAW'))) - - + + OCL self.authenticator->excluding(null)->reject(assignedEntity->one(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(cda::AssignedEntity))) - - + + OCL self.participant->excluding(null).associatedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.participant->excluding(null).associatedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.5.111' and (value.code = 'DAUINLAW' or value.code = 'FTH' or value.code = 'DAU' or value.code = 'HPOWATT' or value.code = 'MTH' or value.code = 'SON' or value.code = 'SELF' or value.code = 'SONINLAW'))) - - + + OCL self.participant->excluding(null)->reject(p : cda::Participant1 | p.typeCode = vocab::ParticipationType::IND and not ( p.associatedEntity.classCode = vocab::RoleClassAssociative::PRS or p.associatedEntity.classCode = vocab::RoleClassAssociative::NOK or p.associatedEntity.classCode = vocab::RoleClassAssociative::CAREGIVER or p.associatedEntity.classCode = vocab::RoleClassAssociative::AGNT or p.associatedEntity.classCode = vocab::RoleClassAssociative::GUAR or p.associatedEntity.classCode = vocab::RoleClassAssociative::ECON or p.associatedEntity.isNullFlavorDefined() ) or p.associatedEntity.oclIsUndefined()) - - + + OCL self.participant->excluding(null)->reject(isDefined('typeCode')) - - + + OCL self.participant->excluding(null)->reject(associatedEntity->one(associatedEntity : cda::AssociatedEntity | not associatedEntity.oclIsUndefined() and associatedEntity.oclIsKindOf(cda::AssociatedEntity))) - - + + OCL self.inFulfillmentOf->excluding(null).order->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (not id->isEmpty())) - - + + OCL self.inFulfillmentOf->excluding(null)->reject(order->one(order : cda::Order | not order.oclIsUndefined() and order.oclIsKindOf(cda::Order))) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null).assignedEntity->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (not id->isEmpty())) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null).assignedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null).assignedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.5.111' and (value.code = 'DAUINLAW' or value.code = 'FTH' or value.code = 'DAU' or value.code = 'HPOWATT' or value.code = 'MTH' or value.code = 'SON' or value.code = 'SELF' or value.code = 'SONINLAW'))) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null)->reject((functionCode.oclIsUndefined() or functionCode.isNullFlavorUndefined()) implies (not functionCode.oclIsUndefined())) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null)->reject((functionCode.oclIsUndefined() or functionCode.isNullFlavorUndefined()) implies (not functionCode.oclIsUndefined() and functionCode.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = functionCode.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.5.90' and not value.code.oclIsUndefined())) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null)->reject(assignedEntity->one(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(cda::AssignedEntity))) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject(performer->exists(performer : cda::Performer1 | not performer.oclIsUndefined() and performer.oclIsKindOf(cda::Performer1))) - - + + OCL self.documentationOf->excluding(null)->reject(serviceEvent->one(serviceEvent : cda::ServiceEvent | not serviceEvent.oclIsUndefined() and serviceEvent.oclIsKindOf(cda::ServiceEvent))) @@ -26256,80 +26256,80 @@ This template represents the Author Participation (including the author timestam The Author Participation template was added to those templates in scope for analysis in R2. Although it is not explicitly stated in all templates the Author Participation template can be used in any template. </p> - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.119') - - + + OCL (self.time.oclIsUndefined() or self.time.isNullFlavorUndefined()) implies (not self.time.oclIsUndefined()) - - + + OCL self.assignedAuthor->one(assignedAuthor : cda::AssignedAuthor | not assignedAuthor.oclIsUndefined() and assignedAuthor.oclIsKindOf(cda::AssignedAuthor)) - - + + OCL self.assignedAuthor->excluding(null).assignedPerson->excluding(null)->reject((name->isEmpty() or name->exists(element | element.isNullFlavorUndefined())) implies (not name->isEmpty())) - - + + OCL self.assignedAuthor->excluding(null).representedOrganization->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (not id->isEmpty())) - - + + OCL self.assignedAuthor->excluding(null).representedOrganization->excluding(null)->reject((name->isEmpty() or name->exists(element | element.isNullFlavorUndefined())) implies (not name->isEmpty())) - - + + OCL self.assignedAuthor->excluding(null).representedOrganization->excluding(null)->reject((telecom->isEmpty() or telecom->exists(element | element.isNullFlavorUndefined())) implies (not telecom->isEmpty())) - - + + OCL self.assignedAuthor->excluding(null).representedOrganization->excluding(null)->reject((addr->isEmpty() or addr->exists(element | element.isNullFlavorUndefined())) implies (not addr->isEmpty())) - - + + OCL self.assignedAuthor->excluding(null)->reject(code.codeSystem = '2.16.840.1.113883.6.101' or code.codeSystem = '2.16.840.1.113883.5.111') - - + + OCL self.assignedAuthor->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (not id->isEmpty())) - - + + OCL self.assignedAuthor->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.assignedAuthor->excluding(null)->reject(assignedPerson->one(assignedPerson : cda::Person | not assignedPerson.oclIsUndefined() and assignedPerson.oclIsKindOf(cda::Person))) - - + + OCL self.assignedAuthor->excluding(null)->reject(representedOrganization->one(representedOrganization : cda::Organization | not representedOrganization.oclIsUndefined() and representedOrganization.oclIsKindOf(cda::Organization))) @@ -26342,42 +26342,42 @@ The Author Participation template was added to those templates in scope for anal This template represents the medications taken by the patient prior to and at the time of admission. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.36' and id.extension.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '42346-7' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.substanceAdministration.oclIsUndefined() and entryRelationship.substanceAdministration.oclIsKindOf(consol::MedicationActivity2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ) - - - + + + OCL self.getSubstanceAdministrations()->select(substanceAdministration : cda::SubstanceAdministration | not substanceAdministration.oclIsUndefined() and substanceAdministration.oclIsKindOf(consol::MedicationActivity2)).oclAsType(consol::MedicationActivity2) - - + + @@ -26414,230 +26414,230 @@ The observation/value element contains the detailed patient directive which may self.effectiveTime.high.hasContent() or self.effectiveTime.high.nullFlavor = vocab::NullFlavor::NA - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.48' and id.extension.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and (value.code = '52765003' or value.code = '61420007' or value.code = '71388002' or value.code = '78823007' or value.code = '89666000' or value.code = '225204009' or value.code = '281789004' or value.code = '304251008')) - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1) - - + + OCL self.participant->select(participant : cda::Participant2 | not participant.oclIsUndefined() and participant.oclIsKindOf(cda::Participant2))->select(typeCode=vocab::ParticipationType::VRF)->notEmpty() - - + + OCL self.participant->select(participant : cda::Participant2 | not participant.oclIsUndefined() and participant.oclIsKindOf(cda::Participant2))->select(typeCode=vocab::ParticipationType::CST)->notEmpty() - - + + OCL self.reference->exists(reference : cda::Reference | not reference.oclIsUndefined() and reference.oclIsKindOf(cda::Reference)) - - + + OCL self.author->exists(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(consol::AuthorParticipation)) - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((translation->isEmpty() or translation->exists(element | element.isNullFlavorUndefined())) implies (translation->size() = 1 and translation->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.code = '75320-2' and value.codeSystem = '2.16.840.1.113883.6.1')) ))) - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((translation->isEmpty() or translation->exists(element | element.isNullFlavorUndefined())) implies (translation->size() = 1) ))) - - + + OCL self.effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((low.oclIsUndefined() or low.isNullFlavorUndefined()) implies (not low.oclIsUndefined()) ))) - - + + OCL self.effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((high.oclIsUndefined() or high.isNullFlavorUndefined()) implies (not high.oclIsUndefined()) ))) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::VRF).participantRole->excluding(null).playingEntity->excluding(null)->reject((name->isEmpty() or name->exists(element | element.isNullFlavorUndefined())) implies (( not name->isEmpty()) )) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::VRF).participantRole->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::VRF).participantRole->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.6.101' and not value.code.oclIsUndefined())) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::VRF).participantRole->excluding(null)->reject((addr->isEmpty() or addr->exists(element | element.isNullFlavorUndefined())) implies (not addr->isEmpty())) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::VRF).participantRole->excluding(null)->reject(playingEntity->one(playingEntity : cda::PlayingEntity | not playingEntity.oclIsUndefined() and playingEntity.oclIsKindOf(cda::PlayingEntity))) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::VRF)->select(typeCode=vocab::ParticipationType::VRF)->reject(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.1.58')) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::VRF)->select(typeCode=vocab::ParticipationType::VRF)->reject((time.oclIsUndefined() or time.isNullFlavorUndefined()) implies (not time.oclIsUndefined())) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::VRF)->select(typeCode=vocab::ParticipationType::VRF)->reject(participantRole->one(participantRole : cda::ParticipantRole | not participantRole.oclIsUndefined() and participantRole.oclIsKindOf(cda::ParticipantRole))) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::CST).participantRole->excluding(null).playingEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::CST).participantRole->excluding(null).playingEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.6.96' and (value.code = '63161005' or value.code = '2603003'))) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::CST).participantRole->excluding(null).playingEntity->excluding(null)->reject((name->isEmpty() or name->exists(element | element.isNullFlavorUndefined())) implies (name->size() = 1)) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::CST).participantRole->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::CST).participantRole->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.5.111' and (value.code = 'DAUINLAW' or value.code = 'FTH' or value.code = 'DAU' or value.code = 'HPOWATT' or value.code = 'MTH' or value.code = 'SON' or value.code = 'SELF' or value.code = 'SONINLAW'))) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::CST).participantRole->excluding(null)->reject((addr->isEmpty() or addr->exists(element | element.isNullFlavorUndefined())) implies (not addr->isEmpty())) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::CST).participantRole->excluding(null)->reject((telecom->isEmpty() or telecom->exists(element | element.isNullFlavorUndefined())) implies (( not telecom->isEmpty()) )) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::CST).participantRole->excluding(null)->reject(playingEntity->one(playingEntity : cda::PlayingEntity | not playingEntity.oclIsUndefined() and playingEntity.oclIsKindOf(cda::PlayingEntity))) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::CST)->select(typeCode=vocab::ParticipationType::CST)->reject(participantRole->one(participantRole : cda::ParticipantRole | not participantRole.oclIsUndefined() and participantRole.oclIsKindOf(cda::ParticipantRole))) - - + + OCL self.reference->excluding(null).externalDocument->excluding(null)->reject(not text.mediaType.oclIsUndefined()) - - + + OCL self.reference->excluding(null).externalDocument->excluding(null)->reject(not text.oclIsUndefined() implies not text.reference.oclIsUndefined()) - - + + OCL self.reference->excluding(null).externalDocument->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (( not id->isEmpty()) )) - - + + OCL self.reference->excluding(null).externalDocument->excluding(null)->reject((text.oclIsUndefined() or text.isNullFlavorUndefined()) implies (not text.oclIsUndefined())) - - + + OCL self.reference->excluding(null)->reject(not typeCode.oclIsUndefined() and typeCode.oclIsKindOf(vocab::x_ActRelationshipExternalReference) and let value : vocab::x_ActRelationshipExternalReference = typeCode.oclAsType(vocab::x_ActRelationshipExternalReference) in value = vocab::x_ActRelationshipExternalReference::REFR) - - + + OCL self.reference->excluding(null)->reject(externalDocument->one(externalDocument : cda::ExternalDocument | not externalDocument.oclIsUndefined() and externalDocument.oclIsKindOf(cda::ExternalDocument))) @@ -26656,58 +26656,58 @@ The statusCode of the Allergy Concern Act is the definitive indication of the st The effectiveTime/low of the Allergy Concern Act asserts when the concern became active. This equates to the time the concern was authored in the patient's chart. The effectiveTime/high asserts when the concern was completed (e.g., when the clinician deemed there is no longer any need to track the underlying condition). </p> - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.30' and id.extension.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL self.author->exists(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(consol::AuthorParticipation)) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::AllergyObservation2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ) - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined())->reject((code = 'CONC' and codeSystem = '2.16.840.1.113883.5.6') or (code = '48765-2' and codeSystem = '2.16.840.1.113883.6.1')) - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (not code.oclIsUndefined() ))) - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (not codeSystem.oclIsUndefined() ))) - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::AllergyObservation2)).oclAsType(consol::AllergyObservation2) - - + + @@ -26771,223 +26771,223 @@ The agent responsible for an allergy or adverse reaction is not always a manufac self.entryRelationship->select(er : cda::EntryRelationship | er.observation.oclIsTypeOf(consol::CriticalityObservation))->forAll(ent : cda::EntryRelationship | ent.inversionInd=true) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.7' and id.extension.oclIsUndefined()) - - + + OCL not self.negationInd.oclIsUndefined() - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = 'ASSERTION' and value.codeSystem = '2.16.840.1.113883.5.4') - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (not self.value->isEmpty()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and (value.code = '420134006' or value.code = '418038007' or value.code = '419511003' or value.code = '418471000' or value.code = '419199007' or value.code = '416098002' or value.code = '414285001' or value.code = '59037007' or value.code = '235719002' or value.code = '232347008' or value.code = '426232007'))) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL self.author->exists(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(consol::AuthorParticipation)) - - + + OCL true - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::ReactionObservation2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::MFST) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::SeverityObservation2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ) - - + + OCL self.participant->one(participant : cda::Participant2 | not participant.oclIsUndefined() and participant.oclIsKindOf(cda::Participant2)) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::CriticalityObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ) - - + + OCL self.effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((low.oclIsUndefined() or low.isNullFlavorUndefined()) implies (not low.oclIsUndefined()) ))) - - + + OCL self.effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((high.oclIsUndefined() or high.isNullFlavorUndefined()) implies (not high.oclIsUndefined()) ))) - - + + OCL self.participant->excluding(null).participantRole->excluding(null).playingEntity->excluding(null).code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((originalText.oclIsUndefined() or originalText.isNullFlavorUndefined()) implies (true) ))) - - + + OCL self.participant->excluding(null).participantRole->excluding(null).playingEntity->excluding(null).code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((translation->isEmpty() or translation->exists(element | element.isNullFlavorUndefined())) implies (true) ))) - - + + OCL self.participant->excluding(null).participantRole->excluding(null).playingEntity->excluding(null)->reject(true) - - + + OCL self.participant->excluding(null).participantRole->excluding(null).playingEntity->excluding(null)->reject(true) - - + + OCL self.participant->excluding(null).participantRole->excluding(null).playingEntity->excluding(null)->reject(true) - - + + OCL self.participant->excluding(null).participantRole->excluding(null).playingEntity->excluding(null)->reject(true) - - + + OCL self.participant->excluding(null).participantRole->excluding(null).playingEntity->excluding(null)->reject(true) - - + + OCL self.participant->excluding(null).participantRole->excluding(null).playingEntity->excluding(null)->reject(true) - - + + OCL self.participant->excluding(null).participantRole->excluding(null).playingEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.participant->excluding(null).participantRole->excluding(null)->reject(playingEntity->one(playingEntity : cda::PlayingEntity | not playingEntity.oclIsUndefined() and playingEntity.oclIsKindOf(cda::PlayingEntity))) - - + + OCL self.participant->excluding(null)->reject(participantRole->one(participantRole : cda::ParticipantRole | not participantRole.oclIsUndefined() and participantRole.oclIsKindOf(cda::ParticipantRole))) - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::AllergyStatusObservation)).oclAsType(consol::AllergyStatusObservation) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ReactionObservation2)).oclAsType(consol::ReactionObservation2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::SeverityObservation2))->asSequence()->any(true).oclAsType(consol::SeverityObservation2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::CriticalityObservation))->asSequence()->any(true).oclAsType(consol::CriticalityObservation) - - + + @@ -27007,46 +27007,46 @@ value.code = 'completed') not self.code.oclIsUndefined() or not self.effectiveTime.oclIsUndefined() - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.75' and id.extension.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL self.component->exists(component : cda::Component4 | not component.observation.oclIsUndefined() and component.observation.oclIsKindOf(consol::MentalStatusObservation2)) - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (not code.oclIsUndefined() ))) - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::MentalStatusObservation2)).oclAsType(consol::MentalStatusObservation2) - - + + @@ -27060,72 +27060,72 @@ value.code = 'completed') true - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.60' and id.extension.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '48768-6' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL true - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.oclIsUndefined() and entryRelationship.oclIsKindOf(cda::EntryRelationship)) - - + + OCL self.entryRelationship->excluding(null).sequenceNumber->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (not value.oclIsUndefined() ))) - - + + OCL self.entryRelationship->excluding(null)->reject(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP) - - + + OCL self.entryRelationship->excluding(null)->reject((sequenceNumber.oclIsUndefined() or sequenceNumber.isNullFlavorUndefined()) implies (not sequenceNumber.oclIsUndefined())) - - + + OCL self.entryRelationship->excluding(null)->reject(act->one(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::PolicyActivity2))) - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::PolicyActivity2)).oclAsType(consol::PolicyActivity2) - - + + @@ -27135,84 +27135,84 @@ value.code = '48768-6' and value.codeSystem = '2.16.840.1.113883.6.1') This template represents a "snapshot in time" observation, simply reflecting what the patient's current smoking status is at the time of the observation. As a result, the effectiveTime is constrained to a time stamp, and will approximately correspond with the author/time. Details regarding the time period when the patient is/was smoking would be recorded in the Tobacco Use template. If the patient's current smoking status is unknown, the value element must be populated with SNOMED CT code 266927001 to communicate "Unknown if ever smoked" from the Current Smoking Status Value Set. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.78' and id.extension.oclIsUndefined()) - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '72166-2' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (not self.value->isEmpty()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and (value.code = '449868002' or value.code = '428041000124106' or value.code = '8517006' or value.code = '266919005' or value.code = '77176002' or value.code = '266927001' or value.code = '428071000124103' or value.code = '428061000124105'))) - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL self.author->exists(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(consol::AuthorParticipation)) - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined())->reject(true) - - + + OCL self.effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (center.oclIsUndefined() ))) - - + + OCL self.effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (high.oclIsUndefined() ))) - - + + OCL self.effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (low.oclIsUndefined() ))) - - + + OCL self.effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (width.oclIsUndefined() ))) @@ -27223,42 +27223,42 @@ value.codeSystem = '2.16.840.1.113883.6.96' and (value.code = '449868002' or val This template represents the observation that a patient has died. It also represents the cause of death, indicated by an entryRelationship type of 'CAUS'. This template allows for more specific representation of data than is available with the use of dischargeDispositionCode. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.79' and id.extension.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = 'ASSERTION' and value.codeSystem = '2.16.840.1.113883.5.4') - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::ProblemObservation2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::CAUS) - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ProblemObservation2))->asSequence()->any(true).oclAsType(consol::ProblemObservation2) - - + + @@ -27266,70 +27266,70 @@ value.code = 'ASSERTION' and value.codeSystem = '2.16.840.1.113883.5.4') This template represents medications that the patient is intended to take (or stop) after discharge. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.35' and id.extension.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '10183-2' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.substanceAdministration.oclIsUndefined() and entryRelationship.substanceAdministration.oclIsKindOf(consol::MedicationActivity2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ) - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((translation->isEmpty() or translation->exists(element | element.isNullFlavorUndefined())) implies (translation->size() = 1 and translation->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.code = '75311-1' and value.codeSystem = '2.16.840.1.113883.6.1')) ))) - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((translation->isEmpty() or translation->exists(element | element.isNullFlavorUndefined())) implies (translation->size() = 1) ))) - - - + + + OCL self.getSubstanceAdministrations()->select(substanceAdministration : cda::SubstanceAdministration | not substanceAdministration.oclIsUndefined() and substanceAdministration.oclIsKindOf(consol::MedicationActivity2)).oclAsType(consol::MedicationActivity2) - - + + @@ -27343,114 +27343,114 @@ value.code = '75311-1' and value.codeSystem = '2.16.840.1.113883.6.1')) )))(self.sDTCDischargeDispositionCode->isEmpty() or self.sDTCDischargeDispositionCode->exists(element | element.isNullFlavorUndefined())) implies (self.sDTCDischargeDispositionCode->forAll( element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = element.oclAsType(datatypes::CE) in (value.codeSystem = '2.16.840.1.113883.6.301.5' or value.codeSystem = '2.16.840.1.113883.12.112') and not value.code.oclIsUndefined())) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.49' and id.extension.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.12' and not value.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.sDTCDischargeDispositionCode->isEmpty() or self.sDTCDischargeDispositionCode->exists(element | element.isNullFlavorUndefined())) implies (not self.sDTCDischargeDispositionCode->isEmpty()) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::Indication2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::RSON) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::EncounterDiagnosis2)) - - + + OCL self.participant->exists(participant : cda::Participant2 | not participant.participantRole.oclIsUndefined() and participant.participantRole.oclIsKindOf(consol::ServiceDeliveryLocation)) - - + + OCL self.performer->exists(performer : cda::Performer2 | not performer.oclIsUndefined() and performer.oclIsKindOf(cda::Performer2)) - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((translation->isEmpty() or translation->exists(element | element.isNullFlavorUndefined())) implies (( not translation->isEmpty()) ) ))) - - + + OCL self.performer->excluding(null).assignedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.performer->excluding(null).assignedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.6.101' and not value.code.oclIsUndefined())) - - + + OCL self.performer->excluding(null)->reject(assignedEntity->one(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(cda::AssignedEntity))) - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::Indication2)).oclAsType(consol::Indication2) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::EncounterDiagnosis2)).oclAsType(consol::EncounterDiagnosis2) - - + + - - - + + + OCL self.getParticipantRoles()->select(participantRole : cda::ParticipantRole | not participantRole.oclIsUndefined() and participantRole.oclIsKindOf(consol::ServiceDeliveryLocation)).oclAsType(consol::ServiceDeliveryLocation) - - + + @@ -27458,42 +27458,42 @@ value.codeSystem = '2.16.840.1.113883.6.101' and not value.code.oclIsUndefined() This template wraps relevant problems or diagnoses at the close of a visit or that need to be followed after the visit. If the encounter is associated with a Hospital Discharge, the Hospital Discharge Diagnosis must be used. This entry requires at least one Problem Observation entry. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.80' and id.extension.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '29308-4' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::ProblemObservation2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ) - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ProblemObservation2)).oclAsType(consol::ProblemObservation2) - - + + @@ -27513,96 +27513,96 @@ value.code = '29308-4' and value.codeSystem = '2.16.840.1.113883.6.1') true - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.67' and id.extension.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '54522-8' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (true) - - + + OCL (self.interpretationCode->isEmpty() or self.interpretationCode->exists(element | element.isNullFlavorUndefined())) implies (true) - - + + OCL (self.methodCode->isEmpty() or self.methodCode->exists(element | element.isNullFlavorUndefined())) implies (true) - - + + OCL (self.targetSiteCode->isEmpty() or self.targetSiteCode->exists(element | element.isNullFlavorUndefined())) implies (true) - - + + OCL self.referenceRange->exists(referenceRange : cda::ReferenceRange | not referenceRange.oclIsUndefined() and referenceRange.oclIsKindOf(cda::ReferenceRange)) - - + + OCL true - - + + OCL self.author->exists(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(consol::AuthorParticipation)) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.supply.oclIsUndefined() and entryRelationship.supply.oclIsKindOf(consol::NonMedicinalSupplyActivity2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.referenceRange->excluding(null).observationRange->excluding(null)->reject(true) - - + + OCL self.referenceRange->excluding(null)->reject(true) - - - + + + OCL self.getSupplies()->select(supply : cda::Supply | not supply.oclIsUndefined() and supply.oclIsKindOf(consol::NonMedicinalSupplyActivity2))->asSequence()->any(true).oclAsType(consol::NonMedicinalSupplyActivity2) - - + + @@ -27628,170 +27628,170 @@ value.code = '54522-8' and value.codeSystem = '2.16.840.1.113883.6.1') self.entryRelationship->select(er : cda::EntryRelationship | er.observation.oclIsTypeOf(consol::SeverityObservation))->forAll(ent : cda::EntryRelationship | ent.inversionInd=true) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.24.3.90') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = 'ASSERTION' and value.codeSystem = '2.16.840.1.113883.5.4') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and (value.code = '420134006' or value.code = '418038007' or value.code = '419511003' or value.code = '418471000' or value.code = '419199007' or value.code = '416098002' or value.code = '414285001' or value.code = '59037007' or value.code = '235719002' or value.code = '232347008' or value.code = '426232007'))) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | element.oclIsTypeOf(datatypes::CD))) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::AllergyStatusObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::ReactionObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::MFST) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::SeverityObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ) - - + + OCL self.participant->exists(participant : cda::Participant2 | not participant.oclIsUndefined() and participant.oclIsKindOf(cda::Participant2)) - - + + OCL self.participant->excluding(null).participantRole->excluding(null).playingEntity->excluding(null).code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((originalText.oclIsUndefined() or originalText.isNullFlavorUndefined()) implies (not originalText.oclIsUndefined()) ))) - - + + OCL self.participant->excluding(null).participantRole->excluding(null).playingEntity->excluding(null).code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((translation->isEmpty() or translation->exists(element | element.isNullFlavorUndefined())) implies (not translation->isEmpty()) ))) - - + + OCL self.participant->excluding(null).participantRole->excluding(null).playingEntity->excluding(null)->reject(not code.originalText.reference.value.oclIsUndefined() implies not getSection().text.getText(code.originalText.reference.value.substring(2, code.originalText.reference.value.size())).oclIsUndefined()) - - + + OCL self.participant->excluding(null).participantRole->excluding(null).playingEntity->excluding(null)->reject(not code.originalText.reference.oclIsUndefined() implies code.originalText.reference.value->size() = 1) - - + + OCL self.participant->excluding(null).participantRole->excluding(null).playingEntity->excluding(null)->reject(not code.originalText.oclIsUndefined() implies not code.originalText.reference.oclIsUndefined()) - - + + OCL self.participant->excluding(null).participantRole->excluding(null).playingEntity->excluding(null)->reject(( code.oclIsUndefined() or code.isNullFlavorUndefined() ) implies ( not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CE) and ( ( let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.3.26.1.5' and not value.code.oclIsUndefined() ) or ( let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.6.88' and not value.code.oclIsUndefined() ) or ( let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.4.9' and not value.code.oclIsUndefined() ) or ( let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined() ) ) )) - - + + OCL self.participant->excluding(null).participantRole->excluding(null).playingEntity->excluding(null)->reject(isDefined('classCode') and classCode=vocab::EntityClassRoot::MMAT) - - + + OCL self.participant->excluding(null).participantRole->excluding(null).playingEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.participant->excluding(null).participantRole->excluding(null)->reject(isDefined('classCode') and classCode=vocab::RoleClassRoot::MANU) - - + + OCL self.participant->excluding(null).participantRole->excluding(null)->reject(playingEntity->one(playingEntity : cda::PlayingEntity | not playingEntity.oclIsUndefined() and playingEntity.oclIsKindOf(cda::PlayingEntity))) - - + + OCL self.participant->excluding(null)->reject(typeCode=vocab::ParticipationType::CSM) - - + + OCL self.participant->excluding(null)->reject(participantRole->one(participantRole : cda::ParticipantRole | not participantRole.oclIsUndefined() and participantRole.oclIsKindOf(cda::ParticipantRole))) @@ -27799,37 +27799,37 @@ value.codeSystem = '2.16.840.1.113883.6.96' and (value.code = '420134006' or val - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::AllergyStatusObservation))->asSequence()->any(true).oclAsType(consol::AllergyStatusObservation) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ReactionObservation)).oclAsType(consol::ReactionObservation) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::SeverityObservation))->asSequence()->any(true).oclAsType(consol::SeverityObservation) - - + + @@ -27843,71 +27843,71 @@ value.codeSystem = '2.16.840.1.113883.6.96' and (value.code = '420134006' or val self.code.isNullFlavorDefined() or self.code.codeSystem = '2.16.840.1.113883.6.254' or self.code.codeSystem = '2.16.840.1.113883.6.1' - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.66' and id.extension.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL self.component->exists(component : cda::Component4 | not component.observation.oclIsUndefined() and component.observation.oclIsKindOf(consol::FunctionalStatusObservation2)) - - + + OCL self.component->exists(component : cda::Component4 | not component.observation.oclIsUndefined() and component.observation.oclIsKindOf(consol::SelfCareActivities)) - - + + OCL self.author->exists(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(consol::AuthorParticipation)) - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::FunctionalStatusObservation2)).oclAsType(consol::FunctionalStatusObservation2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::SelfCareActivities)).oclAsType(consol::SelfCareActivities) - - + + @@ -27933,46 +27933,46 @@ value.code = 'completed') true - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.5' and id.extension.oclIsUndefined()) - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '11323-3' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (true) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in @@ -27985,42 +27985,42 @@ value.code = 'completed') This template represents problems or diagnoses identified by the clinician at the time of the patient's admission. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.34' and id.extension.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '46241-6' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::ProblemObservation2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ) - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ProblemObservation2)).oclAsType(consol::ProblemObservation2) - - + + @@ -28028,42 +28028,42 @@ value.code = '46241-6' and value.codeSystem = '2.16.840.1.113883.6.1') This template represents problems or diagnoses present at the time of discharge which occurred during the hospitalization or need to be monitored after hospitalization. It requires at least one Problem Observation entry. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.33' and id.extension.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '11535-2' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::ProblemObservation2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ) - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ProblemObservation2)).oclAsType(consol::ProblemObservation2) - - + + @@ -28114,182 +28114,182 @@ This information should be included in an Immunization Activity when available. self.entryRelationship->select(er : cda::EntryRelationship | er.act.oclIsTypeOf(consol::Instruction2))->forAll(ent : cda::EntryRelationship | ent.inversionInd=true) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.52' and id.extension.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'normal' or value.code = 'aborted' or value.code = 'active' or value.code = 'cancelled' or value.code = 'completed' or value.code = 'held' or value.code = 'new' or value.code = 'suspended' or value.code = 'nullified' or value.code = 'obsolete') - - + + OCL (self.repeatNumber.oclIsUndefined() or self.repeatNumber.isNullFlavorUndefined()) implies (not self.repeatNumber.oclIsUndefined()) - - + + OCL (self.administrationUnitCode.oclIsUndefined() or self.administrationUnitCode.isNullFlavorUndefined()) implies (not self.administrationUnitCode.oclIsUndefined()) - - + + OCL (self.administrationUnitCode.oclIsUndefined() or self.administrationUnitCode.isNullFlavorUndefined()) implies (not self.administrationUnitCode.oclIsUndefined() and self.administrationUnitCode.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.administrationUnitCode.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.5.85' and (value.code = 'APPFUL' or value.code = 'DROP' or value.code = 'NDROP' or value.code = 'OPDROP' or value.code = 'ORDROP' or value.code = 'OTDROP' or value.code = 'PUFF' or value.code = 'SCOOP' or value.code = 'SPRY')) - - + + OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (true) - - + + OCL (self.routeCode.oclIsUndefined() or self.routeCode.isNullFlavorUndefined()) implies (not self.routeCode.oclIsUndefined()) - - + + OCL (self.routeCode.oclIsUndefined() or self.routeCode.isNullFlavorUndefined()) implies (not self.routeCode.oclIsUndefined() and self.routeCode.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.routeCode.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.3.26.1.1' and not value.code.oclIsUndefined()) - - + + OCL self.author->exists(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(consol::AuthorParticipation)) - - + + OCL self.participant->exists(participant : cda::Participant2 | not participant.participantRole.oclIsUndefined() and participant.participantRole.oclIsKindOf(consol::DrugVehicle)) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::Indication2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::RSON) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.supply.oclIsUndefined() and entryRelationship.supply.oclIsKindOf(consol::MedicationSupplyOrder2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.supply.oclIsUndefined() and entryRelationship.supply.oclIsKindOf(consol::MedicationDispense2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::ReactionObservation2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::CAUS) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::Instruction2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ) - - + + OCL self.consumable->one(consumable : cda::Consumable | not consumable.oclIsUndefined() and consumable.oclIsKindOf(cda::Consumable)) - - + + OCL self.precondition->exists(precondition : cda::Precondition | not precondition.oclIsUndefined() and precondition.oclIsKindOf(cda::Precondition)) - - + + OCL self.entryRelationship->select(entryRelationship : cda::EntryRelationship | not entryRelationship.oclIsUndefined() and entryRelationship.oclIsKindOf(cda::EntryRelationship))->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP)->notEmpty() - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP)->reject(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP)->reject(not inversionInd.oclIsUndefined()) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP)->reject((sequenceNumber.oclIsUndefined() or sequenceNumber.isNullFlavorUndefined()) implies (not sequenceNumber.oclIsUndefined())) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::COMP)->reject(act->one(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::SubstanceAdministeredAct))) - - + + OCL self.consumable->excluding(null)->reject(manufacturedProduct->one(manufacturedProduct : cda::ManufacturedProduct | not manufacturedProduct.oclIsUndefined() and manufacturedProduct.oclIsKindOf(consol::ImmunizationMedicationInformation2))) - - + + OCL self.precondition->excluding(null)->reject(typeCode=vocab::ActRelationshipType::PRCN) - - + + OCL self.precondition->excluding(null)->reject(criterion->one(criterion : cda::Criterion | not criterion.oclIsUndefined() and criterion.oclIsKindOf(consol::PreconditionForSubstanceAdministration2))) - - + + OCL self.routeCode->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((translation->isEmpty() or translation->exists(element | element.isNullFlavorUndefined())) implies (not translation->isEmpty()) ))) - - + + OCL self.routeCode->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((translation->isEmpty() or translation->exists(element | element.isNullFlavorUndefined())) implies (translation->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in @@ -28297,70 +28297,70 @@ value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined()) - - - + + + OCL self.getParticipantRoles()->select(participantRole : cda::ParticipantRole | not participantRole.oclIsUndefined() and participantRole.oclIsKindOf(consol::DrugVehicle)).oclAsType(consol::DrugVehicle) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::Indication2)).oclAsType(consol::Indication2) - - + + - - - + + + OCL self.getSupplies()->select(supply : cda::Supply | not supply.oclIsUndefined() and supply.oclIsKindOf(consol::MedicationSupplyOrder2))->asSequence()->any(true).oclAsType(consol::MedicationSupplyOrder2) - - + + - - - + + + OCL self.getSupplies()->select(supply : cda::Supply | not supply.oclIsUndefined() and supply.oclIsKindOf(consol::MedicationDispense2))->asSequence()->any(true).oclAsType(consol::MedicationDispense2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ReactionObservation2))->asSequence()->any(true).oclAsType(consol::ReactionObservation2) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::Instruction2))->asSequence()->any(true).oclAsType(consol::Instruction2) - - + + @@ -28368,78 +28368,78 @@ value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined()) The Immunization Medication Information represents product information about the immunization substance. The vaccine manufacturer and vaccine lot number are typically recorded in the medical record and should be included if known. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.54' and id.extension.oclIsUndefined()) - - + + OCL self.manufacturedMaterial->one(manufacturedMaterial : cda::Material | not manufacturedMaterial.oclIsUndefined() and manufacturedMaterial.oclIsKindOf(cda::Material)) - - + + OCL self.manufacturedMaterial->excluding(null).code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((translation->isEmpty() or translation->exists(element | element.isNullFlavorUndefined())) implies (not translation->isEmpty()) ))) - - + + OCL self.manufacturedMaterial->excluding(null).code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((translation->isEmpty() or translation->exists(element | element.isNullFlavorUndefined())) implies (translation->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in not value.codeSystem.oclIsUndefined() or not value.codeSystemName.oclIsUndefined())) ))) - - + + OCL self.manufacturedMaterial->excluding(null)->reject(true) - - + + OCL self.manufacturedMaterial->excluding(null)->reject(true) - - + + OCL self.manufacturedMaterial->excluding(null)->reject(true) - - + + OCL self.manufacturedMaterial->excluding(null)->reject(true) - - + + OCL self.manufacturedMaterial->excluding(null)->reject(true) - - + + OCL self.manufacturedMaterial->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.manufacturedMaterial->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.12.292' and not value.code.oclIsUndefined())) - - + + OCL self.manufacturedMaterial->excluding(null)->reject((lotNumberText.oclIsUndefined() or lotNumberText.isNullFlavorUndefined()) implies (not lotNumberText.oclIsUndefined())) @@ -28468,40 +28468,40 @@ value.codeSystem = '2.16.840.1.113883.12.292' and not value.code.oclIsUndefined( true - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.19' and id.extension.oclIsUndefined()) - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in not value.codeSystem.oclIsUndefined() or not value.codeSystemName.oclIsUndefined()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (not self.value->isEmpty()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in @@ -28514,14 +28514,14 @@ value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined()) The Instruction template can be used in several ways, such as to record patient instructions within a Medication Activity or to record fill instructions within a supply order. The template's moodCode can only be INT. If an instruction was already be given, the Procedure Activity Act template (instead of this template) should be used to represent the already occurred instruction. The act/code defines the type of instruction. Though not defined in this template, a Vaccine Information Statement (VIS) document could be referenced through act/reference/externalDocument, and patient awareness of the instructions can be represented with the generic participant and the participant/awarenessCode. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.20' and id.extension.oclIsUndefined()) - - + + OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (true) @@ -28620,263 +28620,263 @@ This effectiveTime represents either the medication duration (i.e., the time the ( self.effectiveTime->select(ef | ef.oclIsTypeOf(datatypes::IVL_TS))->forAll( eff | eff.oclAsType(datatypes::IVL_TS).low->size() = 1) ) and ( self.effectiveTime->select(ef | ef.oclIsTypeOf(datatypes::SXCM_TS))->forAll( eff | eff.oclAsType(datatypes:: SXCM_TS).value->size() = 1 or eff.oclAsType(datatypes::SXCM_TS).isNullFlavorDefined()) ) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.16' and id.extension.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'aborted' or value.code = 'active' or value.code = 'completed' or value.code = 'nullified' or value.code = 'suspended') - - + + OCL (self.repeatNumber.oclIsUndefined() or self.repeatNumber.isNullFlavorUndefined()) implies (not self.repeatNumber.oclIsUndefined()) - - + + OCL (self.routeCode.oclIsUndefined() or self.routeCode.isNullFlavorUndefined()) implies (not self.routeCode.oclIsUndefined()) - - + + OCL (self.routeCode.oclIsUndefined() or self.routeCode.isNullFlavorUndefined()) implies (not self.routeCode.oclIsUndefined() and self.routeCode.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.routeCode.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.3.26.1.1' and not value.code.oclIsUndefined()) - - + + OCL (self.doseQuantity.oclIsUndefined() or self.doseQuantity.isNullFlavorUndefined()) implies (not self.doseQuantity.oclIsUndefined()) - - + + OCL (self.administrationUnitCode.oclIsUndefined() or self.administrationUnitCode.isNullFlavorUndefined()) implies (not self.administrationUnitCode.oclIsUndefined()) - - + + OCL (self.administrationUnitCode.oclIsUndefined() or self.administrationUnitCode.isNullFlavorUndefined()) implies (not self.administrationUnitCode.oclIsUndefined() and self.administrationUnitCode.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.administrationUnitCode.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.3.26.1.1' and not value.code.oclIsUndefined()) - - + + OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (true) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::DrugMonitoringAct) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::COMP) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::Instruction2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ) - - + + OCL self.author->exists(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(consol::AuthorParticipation)) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::SubstanceAdministeredAct) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::COMP) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::Indication2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::RSON) - - + + OCL self.consumable->one(consumable : cda::Consumable | not consumable.oclIsUndefined() and consumable.oclIsKindOf(cda::Consumable)) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.supply.oclIsUndefined() and entryRelationship.supply.oclIsKindOf(consol::MedicationSupplyOrder2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.supply.oclIsUndefined() and entryRelationship.supply.oclIsKindOf(consol::MedicationDispense2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::ReactionObservation2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::CAUS) - - + + OCL self.precondition->exists(precondition : cda::Precondition | not precondition.oclIsUndefined() and precondition.oclIsKindOf(cda::Precondition)) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.substanceAdministration.oclIsUndefined() and entryRelationship.substanceAdministration.oclIsKindOf(consol::MedicationFreeTextSig) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::COMP) - - + + OCL self.routeCode->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((translation->isEmpty() or translation->exists(element | element.isNullFlavorUndefined())) implies (not translation->isEmpty()) ))) - - + + OCL self.routeCode->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((translation->isEmpty() or translation->exists(element | element.isNullFlavorUndefined())) implies (translation->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined())) ))) - - + + OCL self.precondition->excluding(null)->reject(typeCode=vocab::ActRelationshipType::PRCN) - - + + OCL self.precondition->excluding(null)->reject(criterion->one(criterion : cda::Criterion | not criterion.oclIsUndefined() and criterion.oclIsKindOf(consol::PreconditionForSubstanceAdministration2))) - - + + OCL self.consumable->excluding(null)->reject(manufacturedProduct->one(manufacturedProduct : cda::ManufacturedProduct | not manufacturedProduct.oclIsUndefined() and manufacturedProduct.oclIsKindOf(consol::MedicationInformation2))) - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::DrugMonitoringAct))->asSequence()->any(true).oclAsType(consol::DrugMonitoringAct) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::Instruction2))->asSequence()->any(true).oclAsType(consol::Instruction2) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::SubstanceAdministeredAct)).oclAsType(consol::SubstanceAdministeredAct) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::Indication2)).oclAsType(consol::Indication2) - - + + - - - + + + OCL self.getSupplies()->select(supply : cda::Supply | not supply.oclIsUndefined() and supply.oclIsKindOf(consol::MedicationSupplyOrder2))->asSequence()->any(true).oclAsType(consol::MedicationSupplyOrder2) - - + + - - - + + + OCL self.getSupplies()->select(supply : cda::Supply | not supply.oclIsUndefined() and supply.oclIsKindOf(consol::MedicationDispense2)).oclAsType(consol::MedicationDispense2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ReactionObservation2))->asSequence()->any(true).oclAsType(consol::ReactionObservation2) - - + + - - - + + + OCL self.getSubstanceAdministrations()->select(substanceAdministration : cda::SubstanceAdministration | not substanceAdministration.oclIsUndefined() and substanceAdministration.oclIsKindOf(consol::MedicationFreeTextSig)).oclAsType(consol::MedicationFreeTextSig) - - + + @@ -28902,48 +28902,48 @@ value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined()) self.product.manufacturedProduct.oclIsTypeOf(consol::MedicationInformation2) xor self.product.manufacturedProduct.oclIsTypeOf(consol::ImmunizationMedicationInformation2) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.18' and id.extension.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'aborted' or value.code = 'completed') - - + + OCL (self.repeatNumber.oclIsUndefined() or self.repeatNumber.isNullFlavorUndefined()) implies (not self.repeatNumber.oclIsUndefined()) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.supply.oclIsUndefined() and entryRelationship.supply.oclIsKindOf(consol::MedicationSupplyOrder2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - - + + + OCL self.getSupplies()->select(supply : cda::Supply | not supply.oclIsUndefined() and supply.oclIsKindOf(consol::MedicationSupplyOrder2))->asSequence()->any(true).oclAsType(consol::MedicationSupplyOrder2) - - + + @@ -28952,62 +28952,62 @@ value.code = 'aborted' or value.code = 'completed') A medication should be recorded as a pre-coordinated ingredient + strength + dose form (e.g., "metoprolol 25mg tablet", "amoxicillin 400mg/5mL suspension") where possible. This includes RxNorm codes whose Term Type is SCD (semantic clinical drug), SBD (semantic brand drug), GPCK (generic pack), BPCK (brand pack). The dose (doseQuantity) represents how many of the consumables are to be administered at each administration event. As a result, the dose is always relative to the consumable. Thus, a patient consuming a single "metoprolol 25mg tablet" per administration will have a doseQuantity of "1", whereas a patient consuming "metoprolol" will have a dose of "25 mg". - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.23' and id.extension.oclIsUndefined()) - - + + OCL self.manufacturedMaterial->one(manufacturedMaterial : cda::Material | not manufacturedMaterial.oclIsUndefined() and manufacturedMaterial.oclIsKindOf(cda::Material)) - - + + OCL self.manufacturedMaterial->excluding(null).code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((translation->isEmpty() or translation->exists(element | element.isNullFlavorUndefined())) implies (not translation->isEmpty()) ))) - - + + OCL self.manufacturedMaterial->excluding(null)->reject(true) - - + + OCL self.manufacturedMaterial->excluding(null)->reject(true) - - + + OCL self.manufacturedMaterial->excluding(null)->reject(true) - - + + OCL self.manufacturedMaterial->excluding(null)->reject(true) - - + + OCL self.manufacturedMaterial->excluding(null)->reject(true) - - + + OCL self.manufacturedMaterial->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.manufacturedMaterial->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = code.oclAsType(datatypes::CE) in @@ -29044,48 +29044,48 @@ value.codeSystem = '2.16.840.1.113883.6.88' and not value.code.oclIsUndefined()) self.entryRelationship->select(er : cda::EntryRelationship | er.act.oclIsTypeOf(consol::Instruction2))->forAll(ent : cda::EntryRelationship | ent.inversionInd=true) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.17' and id.extension.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'normal' or value.code = 'aborted' or value.code = 'active' or value.code = 'cancelled' or value.code = 'completed' or value.code = 'held' or value.code = 'new' or value.code = 'suspended' or value.code = 'nullified' or value.code = 'obsolete') - - + + OCL (self.repeatNumber.oclIsUndefined() or self.repeatNumber.isNullFlavorUndefined()) implies (not self.repeatNumber.oclIsUndefined()) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::Instruction2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ) - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::Instruction2))->asSequence()->any(true).oclAsType(consol::Instruction2) - - + + @@ -29099,59 +29099,59 @@ value.code = 'normal' or value.code = 'aborted' or value.code = 'active' or valu self.entryRelationship->select(er : cda::EntryRelationship | er.act.oclIsTypeOf(consol::Instruction2))->forAll(ent : cda::EntryRelationship | ent.inversionInd=true) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.50' and id.extension.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'normal' or value.code = 'aborted' or value.code = 'active' or value.code = 'cancelled' or value.code = 'completed' or value.code = 'held' or value.code = 'new' or value.code = 'suspended' or value.code = 'nullified' or value.code = 'obsolete') - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::Instruction2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ) - - + + OCL self.participant->one(participant : cda::Participant2 | not participant.participantRole.oclIsUndefined() and participant.participantRole.oclIsKindOf(consol::ProductInstance)) - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::Instruction2))->asSequence()->any(true).oclAsType(consol::Instruction2) - - + + - - - + + + OCL self.getParticipantRoles()->select(participantRole : cda::ParticipantRole | not participantRole.oclIsUndefined() and participantRole.oclIsKindOf(consol::ProductInstance))->asSequence()->any(true).oclAsType(consol::ProductInstance) - - + + @@ -29159,50 +29159,50 @@ value.code = 'normal' or value.code = 'aborted' or value.code = 'active' or valu This encounterParticipant is the attending physician and is usually different from the Physician Reading Study Performer defined in documentationOf/serviceEvent. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.6.2.2' and id.extension.oclIsUndefined()) - - + + OCL self.assignedEntity->one(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(cda::AssignedEntity)) - - + + OCL self.assignedEntity->excluding(null).assignedPerson->excluding(null).name->excluding(null)->select(isNullFlavorUndefined())->reject((getText(true)<>'' and ( family->isEmpty() and given->isEmpty() and suffix->isEmpty() and prefix->isEmpty() ) ) xor (getText(true)='' and (not family->isEmpty() and not given->isEmpty() ))) - - + + OCL self.assignedEntity->excluding(null).assignedPerson->excluding(null)->reject((name->isEmpty() or name->exists(element | element.isNullFlavorUndefined())) implies (name->size() = 1)) - - + + OCL self.assignedEntity->excluding(null).representedOrganization->excluding(null)->reject((name->isEmpty() or name->exists(element | element.isNullFlavorUndefined())) implies (( not name->isEmpty()) )) - - + + OCL self.assignedEntity->excluding(null)->reject(id->exists( root='2.16.840.1.113883.4.6' )) - - + + OCL self.assignedEntity->excluding(null)->reject(assignedPerson->one(assignedPerson : cda::Person | not assignedPerson.oclIsUndefined() and assignedPerson.oclIsKindOf(cda::Person))) - - + + OCL self.assignedEntity->excluding(null)->reject(representedOrganization->one(representedOrganization : cda::Organization | not representedOrganization.oclIsUndefined() and representedOrganization.oclIsKindOf(cda::Organization))) @@ -29220,108 +29220,108 @@ The priority of the activity to the patient and provider is communicated through (not code.oclIsUndefined() and code.isNullFlavorUndefined()) implies (code.codeSystem = '2.16.840.1.113883.6.1' or code.codeSystem = '2.16.840.1.113883.6.96') - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.39' and id.extension.oclIsUndefined()) - - + + OCL not self.moodCode.oclIsUndefined() and self.moodCode.oclIsKindOf(vocab::x_DocumentActMood) and let value : vocab::x_DocumentActMood = self.moodCode.oclAsType(vocab::x_DocumentActMood) in value = vocab::x_DocumentActMood::INT or value = vocab::x_DocumentActMood::ARQ or value = vocab::x_DocumentActMood::PRMS or value = vocab::x_DocumentActMood::PRP or value = vocab::x_DocumentActMood::RQO - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'active') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::Indication2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::RSON) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::Instruction2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ) - - + + OCL self.author->one(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(consol::AuthorParticipation)) - - + + OCL self.performer->exists(performer : cda::Performer2 | not performer.oclIsUndefined() and performer.oclIsKindOf(rim::Participation)) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::PriorityPreference) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::Indication2)).oclAsType(consol::Indication2) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::Instruction2)).oclAsType(consol::Instruction2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::PriorityPreference)).oclAsType(consol::PriorityPreference) - - + + @@ -29335,122 +29335,122 @@ value.code = 'active') self.participant->select(par : cda::Participant2 | par.participantRole.oclIsTypeOf(consol::ServiceDeliveryLocation))->forAll(pars : cda::Participant2 | pars.typeCode=vocab::ParticipationType::LOC) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.40' and id.extension.oclIsUndefined()) - - + + OCL not self.moodCode.oclIsUndefined() and self.moodCode.oclIsKindOf(vocab::x_DocumentEncounterMood) and let value : vocab::x_DocumentEncounterMood = self.moodCode.oclAsType(vocab::x_DocumentEncounterMood) in value = vocab::x_DocumentEncounterMood::INT or value = vocab::x_DocumentEncounterMood::ARQ or value = vocab::x_DocumentEncounterMood::PRMS or value = vocab::x_DocumentEncounterMood::PRP or value = vocab::x_DocumentEncounterMood::RQO or value = vocab::x_DocumentEncounterMood::APT - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'active') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL self.performer->exists(performer : cda::Performer2 | not performer.oclIsUndefined() and performer.oclIsKindOf(cda::Performer2)) - - + + OCL self.participant->exists(participant : cda::Participant2 | not participant.participantRole.oclIsUndefined() and participant.participantRole.oclIsKindOf(consol::ServiceDeliveryLocation)) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::PriorityPreference) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::Indication2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::RSON) - - + + OCL self.author->exists(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(consol::AuthorParticipation)) - - + + OCL self.performer->excluding(null)->reject(assignedEntity->one(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(rim::Role))) - - - + + + OCL self.getParticipantRoles()->select(participantRole : cda::ParticipantRole | not participantRole.oclIsUndefined() and participantRole.oclIsKindOf(consol::ServiceDeliveryLocation)).oclAsType(consol::ServiceDeliveryLocation) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::PriorityPreference))->asSequence()->any(true).oclAsType(consol::PriorityPreference) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::Indication2)).oclAsType(consol::Indication2) - - + + @@ -29460,159 +29460,159 @@ value.code = 'active') The importance of the planned observation to the patient and provider is communicated through Priority Preference. The effectiveTime indicates the time when the observation is intended to take place and authorTime indicates when the documentation of the plan occurred. The Planned Observation template may also indicate the potential insurance coverage for the observation. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.44' and id.extension.oclIsUndefined()) - - + + OCL not self.moodCode.oclIsUndefined() and self.moodCode.oclIsKindOf(vocab::x_ActMoodDocumentObservation) and let value : vocab::x_ActMoodDocumentObservation = self.moodCode.oclAsType(vocab::x_ActMoodDocumentObservation) in value = vocab::x_ActMoodDocumentObservation::INT or value = vocab::x_ActMoodDocumentObservation::GOL or value = vocab::x_ActMoodDocumentObservation::PRMS or value = vocab::x_ActMoodDocumentObservation::PRP or value = vocab::x_ActMoodDocumentObservation::RQO - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'active') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (( not self.value->isEmpty()) ) - - + + OCL (self.methodCode->isEmpty() or self.methodCode->exists(element | element.isNullFlavorUndefined())) implies (( not self.methodCode->isEmpty()) ) - - + + OCL (self.targetSiteCode->isEmpty() or self.targetSiteCode->exists(element | element.isNullFlavorUndefined())) implies (not self.targetSiteCode->isEmpty()) - - + + OCL (self.targetSiteCode->isEmpty() or self.targetSiteCode->exists(element | element.isNullFlavorUndefined())) implies (self.targetSiteCode->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined())) - - + + OCL self.performer->exists(performer : cda::Performer2 | not performer.oclIsUndefined() and performer.oclIsKindOf(rim::Participation)) - - + + OCL self.author->exists(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(consol::AuthorParticipation)) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::PriorityPreference) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::Indication2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::RSON) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::Instruction2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::PlannedCoverage) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::COMP) - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::PriorityPreference)).oclAsType(consol::PriorityPreference) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::Indication2)).oclAsType(consol::Indication2) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::Instruction2)).oclAsType(consol::Instruction2) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::PlannedCoverage)).oclAsType(consol::PlannedCoverage) - - + + @@ -29638,145 +29638,145 @@ value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined()) self.entryRelationship->select(er : cda::EntryRelationship | er.act.oclIsTypeOf(consol::Instruction2))->forAll(ent : cda::EntryRelationship | ent.inversionInd=true) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.41' and id.extension.oclIsUndefined()) - - + + OCL not self.moodCode.oclIsUndefined() and self.moodCode.oclIsKindOf(vocab::x_DocumentProcedureMood) and let value : vocab::x_DocumentProcedureMood = self.moodCode.oclAsType(vocab::x_DocumentProcedureMood) in value = vocab::x_DocumentProcedureMood::INT or value = vocab::x_DocumentProcedureMood::ARQ or value = vocab::x_DocumentProcedureMood::PRMS or value = vocab::x_DocumentProcedureMood::PRP or value = vocab::x_DocumentProcedureMood::RQO - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'active') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL (self.methodCode->isEmpty() or self.methodCode->exists(element | element.isNullFlavorUndefined())) implies (not self.methodCode->isEmpty()) - - + + OCL (self.targetSiteCode->isEmpty() or self.targetSiteCode->exists(element | element.isNullFlavorUndefined())) implies (not self.targetSiteCode->isEmpty()) - - + + OCL (self.targetSiteCode->isEmpty() or self.targetSiteCode->exists(element | element.isNullFlavorUndefined())) implies (self.targetSiteCode->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined())) - - + + OCL self.performer->exists(performer : cda::Performer2 | not performer.oclIsUndefined() and performer.oclIsKindOf(rim::Participation)) - - + + OCL self.author->one(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(consol::AuthorParticipation)) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::PriorityPreference) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::Indication2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::RSON) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::Instruction2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::PlannedCoverage) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::COMP) - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::PriorityPreference)).oclAsType(consol::PriorityPreference) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::Indication2)).oclAsType(consol::Indication2) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::Instruction2)).oclAsType(consol::Instruction2) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::PlannedCoverage)).oclAsType(consol::PlannedCoverage) - - + + @@ -29826,218 +29826,218 @@ value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined()) self.effectiveTime->select(ef | ef.oclIsTypeOf(datatypes::PIVL_TS) or ef.oclIsTypeOf(datatypes::EIVL_TS))->size() = 1 - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.42' and id.extension.oclIsUndefined()) - - + + OCL not self.moodCode.oclIsUndefined() and self.moodCode.oclIsKindOf(vocab::x_DocumentSubstanceMood) and let value : vocab::x_DocumentSubstanceMood = self.moodCode.oclAsType(vocab::x_DocumentSubstanceMood) in value = vocab::x_DocumentSubstanceMood::INT or value = vocab::x_DocumentSubstanceMood::PRMS or value = vocab::x_DocumentSubstanceMood::PRP or value = vocab::x_DocumentSubstanceMood::RQO - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'active') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.repeatNumber.oclIsUndefined() or self.repeatNumber.isNullFlavorUndefined()) implies (not self.repeatNumber.oclIsUndefined()) - - + + OCL (self.routeCode.oclIsUndefined() or self.routeCode.isNullFlavorUndefined()) implies (not self.routeCode.oclIsUndefined()) - - + + OCL (self.routeCode.oclIsUndefined() or self.routeCode.isNullFlavorUndefined()) implies (not self.routeCode.oclIsUndefined() and self.routeCode.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.routeCode.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.3.26.1.1' and not value.code.oclIsUndefined()) - - + + OCL (self.approachSiteCode->isEmpty() or self.approachSiteCode->exists(element | element.isNullFlavorUndefined())) implies (not self.approachSiteCode->isEmpty()) - - + + OCL (self.approachSiteCode->isEmpty() or self.approachSiteCode->exists(element | element.isNullFlavorUndefined())) implies (self.approachSiteCode->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined())) - - + + OCL (self.doseQuantity.oclIsUndefined() or self.doseQuantity.isNullFlavorUndefined()) implies (not self.doseQuantity.oclIsUndefined()) - - + + OCL (self.rateQuantity.oclIsUndefined() or self.rateQuantity.isNullFlavorUndefined()) implies (not self.rateQuantity.oclIsUndefined()) - - + + OCL (self.maxDoseQuantity.oclIsUndefined() or self.maxDoseQuantity.isNullFlavorUndefined()) implies (not self.maxDoseQuantity.oclIsUndefined()) - - + + OCL (self.administrationUnitCode.oclIsUndefined() or self.administrationUnitCode.isNullFlavorUndefined()) implies (not self.administrationUnitCode.oclIsUndefined()) - - + + OCL (self.administrationUnitCode.oclIsUndefined() or self.administrationUnitCode.isNullFlavorUndefined()) implies (not self.administrationUnitCode.oclIsUndefined() and self.administrationUnitCode.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.administrationUnitCode.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.5.85' and (value.code = 'APPFUL' or value.code = 'DROP' or value.code = 'NDROP' or value.code = 'OPDROP' or value.code = 'ORDROP' or value.code = 'OTDROP' or value.code = 'PUFF' or value.code = 'SCOOP' or value.code = 'SPRY')) - - + + OCL self.performer->exists(performer : cda::Performer2 | not performer.oclIsUndefined() and performer.oclIsKindOf(rim::Participation)) - - + + OCL self.author->one(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(consol::AuthorParticipation)) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::PriorityPreference) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::Indication2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::RSON) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::Instruction2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ) - - + + OCL self.consumable->one(consumable : cda::Consumable | not consumable.oclIsUndefined() and consumable.oclIsKindOf(cda::Consumable)) - - + + OCL self.precondition->exists(precondition : cda::Precondition | not precondition.oclIsUndefined() and precondition.oclIsKindOf(cda::Precondition)) - - + + OCL self.priorityCode->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((translation->isEmpty() or translation->exists(element | element.isNullFlavorUndefined())) implies (not translation->isEmpty()) ))) - - + + OCL self.priorityCode->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((translation->isEmpty() or translation->exists(element | element.isNullFlavorUndefined())) implies (translation->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined())) ))) - - + + OCL self.doseQuantity->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (not unit.oclIsUndefined() ))) - - + + OCL self.doseQuantity->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (not unit.oclIsUndefined() ))) - - + + OCL self.consumable->excluding(null)->reject(manufacturedProduct->one(manufacturedProduct : cda::ManufacturedProduct | not manufacturedProduct.oclIsUndefined() and manufacturedProduct.oclIsKindOf(consol::MedicationInformation2))) - - + + OCL self.precondition->excluding(null)->reject(isDefined('typeCode') and typeCode=vocab::ActRelationshipType::PRCN) - - + + OCL self.precondition->excluding(null)->reject(criterion->one(criterion : cda::Criterion | not criterion.oclIsUndefined() and criterion.oclIsKindOf(consol::PreconditionForSubstanceAdministration2))) - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::PriorityPreference)).oclAsType(consol::PriorityPreference) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::Indication2)).oclAsType(consol::Indication2) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::Instruction2)).oclAsType(consol::Instruction2) - - + + @@ -30053,172 +30053,172 @@ Depending on the type of supply, the product or participant will be either a Med ( (not product.oclIsUndefined() or participant->size() > 0) and ( (product.manufacturedProduct.oclIsTypeOf(consol::MedicationInformation2)) or (product.manufacturedProduct.oclIsTypeOf(consol::ImmunizationMedicationInformation2)) or (participant.participantRole->select(oclIsTypeOf(consol::ProductInstance))->size() = 1) )) implies ( (product.manufacturedProduct.oclIsTypeOf(consol::MedicationInformation2)) xor (product.manufacturedProduct.oclIsTypeOf(consol::ImmunizationMedicationInformation2)) xor (participant.participantRole->select(oclIsTypeOf(consol::ProductInstance))->size() = 1) ) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.43' and id.extension.oclIsUndefined()) - - + + OCL not self.moodCode.oclIsUndefined() and self.moodCode.oclIsKindOf(vocab::x_DocumentSubstanceMood) and let value : vocab::x_DocumentSubstanceMood = self.moodCode.oclAsType(vocab::x_DocumentSubstanceMood) in value = vocab::x_DocumentSubstanceMood::INT or value = vocab::x_DocumentSubstanceMood::PRMS or value = vocab::x_DocumentSubstanceMood::PRP or value = vocab::x_DocumentSubstanceMood::RQO - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'active') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.effectiveTime->isEmpty() or self.effectiveTime->exists(element | element.isNullFlavorUndefined())) implies (( not self.effectiveTime->isEmpty()) ) - - + + OCL (self.repeatNumber.oclIsUndefined() or self.repeatNumber.isNullFlavorUndefined()) implies (not self.repeatNumber.oclIsUndefined()) - - + + OCL (self.quantity.oclIsUndefined() or self.quantity.isNullFlavorUndefined()) implies (not self.quantity.oclIsUndefined()) - - + + OCL self.product->one(product : cda::Product | not product.oclIsUndefined() and product.oclIsKindOf(cda::Product)) - - + + OCL self.performer->exists(performer : cda::Performer2 | not performer.oclIsUndefined() and performer.oclIsKindOf(rim::Participation)) - - + + OCL self.author->one(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(consol::AuthorParticipation)) - - + + OCL self.participant->one(participant : cda::Participant2 | not participant.participantRole.oclIsUndefined() and participant.participantRole.oclIsKindOf(consol::ProductInstance)) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::PriorityPreference) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::Indication2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::RSON) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::Instruction2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::PlannedCoverage) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::COMP) - - + + OCL self.product->one(product : cda::Product | not product.oclIsUndefined() and product.oclIsKindOf(rim::Participation)) - - + + OCL self.product->excluding(null).manufacturedProduct->excluding(null)->reject(oclIsTypeOf(consol::MedicationInformation2) xor oclIsTypeOf(consol::ImmunizationMedicationInformation2)) - - + + OCL self.product->excluding(null)->reject(manufacturedProduct->one(manufacturedProduct : cda::ManufacturedProduct | not manufacturedProduct.oclIsUndefined() and manufacturedProduct.oclIsKindOf(cda::ManufacturedProduct))) - - - + + + OCL self.getParticipantRoles()->select(participantRole : cda::ParticipantRole | not participantRole.oclIsUndefined() and participantRole.oclIsKindOf(consol::ProductInstance))->asSequence()->any(true).oclAsType(consol::ProductInstance) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::PriorityPreference)).oclAsType(consol::PriorityPreference) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::Indication2)).oclAsType(consol::Indication2) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::Instruction2)).oclAsType(consol::Instruction2) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::PlannedCoverage)).oclAsType(consol::PlannedCoverage) - - + + @@ -30226,302 +30226,302 @@ value.code = 'active') A policy activity represents the policy or program providing the coverage. The person for whom payment is being provided (i.e., the patient) is the covered party. The subscriber of the policy or program is represented as a participant that is the holder of the coverage. The payer is represented as the performer of the policy activity. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.61' and id.extension.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '12' or value.code = '13' or value.code = '14' or value.code = '15' or value.code = '16' or value.code = '41' or value.code = '42' or value.code = '43' or value.code = '47' or value.code = 'AP' or value.code = 'C1' or value.code = 'CO' or value.code = 'CP' or value.code = 'D' or value.code = 'DB' or value.code = 'EP' or value.code = 'FF' or value.code = 'GP' or value.code = 'HM' or value.code = 'HN' or value.code = 'HS' or value.code = 'IN' or value.code = 'IP' or value.code = 'LC' or value.code = 'LD' or value.code = 'LI' or value.code = 'LT' or value.code = 'MA' or value.code = 'MB' or value.code = 'MC' or value.code = 'MH' or value.code = 'MI' or value.code = 'MP' or value.code = 'OT' or value.code = 'PE' or value.code = 'PL' or value.code = 'PP' or value.code = 'PR' or value.code = 'PS' or value.code = 'QM' or value.code = 'RP' or value.code = 'SP' or value.code = 'TF' or value.code = 'WC' or value.code = 'WU') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL self.performer->select(performer : cda::Performer2 | not performer.oclIsUndefined() and performer.oclIsKindOf(cda::Performer2))->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.87'))->size() = 1 - - + + OCL self.performer->select(performer : cda::Performer2 | not performer.oclIsUndefined() and performer.oclIsKindOf(cda::Performer2))->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.88'))->notEmpty() - - + + OCL self.participant->select(participant : cda::Participant2 | not participant.oclIsUndefined() and participant.oclIsKindOf(cda::Participant2))->select(typeCode=vocab::ParticipationType::COV)->size() = 1 - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.87')).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() implies ( streetAddressLine->size() >=1 and streetAddressLine->size() <=4)) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.87')).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() and country->exists(c : datatypes::ADXP | c.getText() = 'US') implies state->size() >= 1) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.87')).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() and country->exists(c : datatypes::ADXP | c.getText() = 'US') implies postalCode->size() >= 1) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.87')).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (use->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(vocab::PostalAddressUse) and let value : vocab::PostalAddressUse = element.oclAsType(vocab::PostalAddressUse) in value = vocab::PostalAddressUse::BAD or value = vocab::PostalAddressUse::DIR or value = vocab::PostalAddressUse::H or value = vocab::PostalAddressUse::HP or value = vocab::PostalAddressUse::HV or value = vocab::PostalAddressUse::PHYS or value = vocab::PostalAddressUse::PST or value = vocab::PostalAddressUse::PUB or value = vocab::PostalAddressUse::TMP or value = vocab::PostalAddressUse::WP) ))) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.87')).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (( not use->isEmpty()) ))) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.87')).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((country->isEmpty() or country->exists(element | element.isNullFlavorUndefined())) implies (( not country->isEmpty()) ) ))) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.87')).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((state->isEmpty() or state->exists(element | element.isNullFlavorUndefined())) implies (( not state->isEmpty()) ) ))) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.87')).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((city->isEmpty() or city->exists(element | element.isNullFlavorUndefined())) implies (city->size() = 1) ))) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.87')).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((postalCode->isEmpty() or postalCode->exists(element | element.isNullFlavorUndefined())) implies (( not postalCode->isEmpty()) ) ))) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.87')).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((streetAddressLine->isEmpty() or streetAddressLine->exists(element | element.isNullFlavorUndefined())) implies (( not streetAddressLine->isEmpty()) ) ))) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.87')).assignedEntity->excluding(null)->reject((addr->isEmpty() or addr->exists(element | element.isNullFlavorUndefined())) implies (not addr->isEmpty())) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.87')).assignedEntity->excluding(null)->reject((telecom->isEmpty() or telecom->exists(element | element.isNullFlavorUndefined())) implies (( not telecom->isEmpty()) )) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.87'))->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.87'))->reject(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.87')) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.87'))->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.87'))->reject(assignedEntity->one(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(cda::AssignedEntity))) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.88')).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() implies ( streetAddressLine->size() >=1 and streetAddressLine->size() <=4)) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.88')).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() and country->exists(c : datatypes::ADXP | c.getText() = 'US') implies state->size() >= 1) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.88')).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() and country->exists(c : datatypes::ADXP | c.getText() = 'US') implies postalCode->size() >= 1) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.88')).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (use->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(vocab::PostalAddressUse) and let value : vocab::PostalAddressUse = element.oclAsType(vocab::PostalAddressUse) in value = vocab::PostalAddressUse::BAD or value = vocab::PostalAddressUse::DIR or value = vocab::PostalAddressUse::H or value = vocab::PostalAddressUse::HP or value = vocab::PostalAddressUse::HV or value = vocab::PostalAddressUse::PHYS or value = vocab::PostalAddressUse::PST or value = vocab::PostalAddressUse::PUB or value = vocab::PostalAddressUse::TMP or value = vocab::PostalAddressUse::WP) ))) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.88')).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (( not use->isEmpty()) ))) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.88')).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((country->isEmpty() or country->exists(element | element.isNullFlavorUndefined())) implies (( not country->isEmpty()) ) ))) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.88')).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((state->isEmpty() or state->exists(element | element.isNullFlavorUndefined())) implies (( not state->isEmpty()) ) ))) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.88')).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((city->isEmpty() or city->exists(element | element.isNullFlavorUndefined())) implies (city->size() = 1) ))) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.88')).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((postalCode->isEmpty() or postalCode->exists(element | element.isNullFlavorUndefined())) implies (( not postalCode->isEmpty()) ) ))) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.88')).assignedEntity->excluding(null).addr->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((streetAddressLine->isEmpty() or streetAddressLine->exists(element | element.isNullFlavorUndefined())) implies (( not streetAddressLine->isEmpty()) ) ))) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.88')).assignedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.88')).assignedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.code = 'GUAR' and value.codeSystem = '2.16.840.1.113883.5.110')) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.88')).assignedEntity->excluding(null)->reject((addr->isEmpty() or addr->exists(element | element.isNullFlavorUndefined())) implies (not addr->isEmpty())) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.88')).assignedEntity->excluding(null)->reject((telecom->isEmpty() or telecom->exists(element | element.isNullFlavorUndefined())) implies (( not telecom->isEmpty()) )) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.88'))->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.88'))->reject(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.88')) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.88'))->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.88'))->reject(true) - - + + OCL self.performer->excluding(null)->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.88'))->select(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.88'))->reject(assignedEntity->one(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(cda::AssignedEntity))) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::COV).participantRole->excluding(null).playingEntity->excluding(null)->reject(true) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::COV).participantRole->excluding(null).playingEntity->excluding(null)->reject((name->isEmpty() or name->exists(element | element.isNullFlavorUndefined())) implies (( not name->isEmpty()) )) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::COV).participantRole->excluding(null).playingEntity->excluding(null)->reject((sDTCBirthTime.oclIsUndefined() or sDTCBirthTime.isNullFlavorUndefined()) implies (not sDTCBirthTime.oclIsUndefined())) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::COV).participantRole->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (not id->isEmpty())) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::COV).participantRole->excluding(null)->reject(playingEntity->one(playingEntity : cda::PlayingEntity | not playingEntity.oclIsUndefined() and playingEntity.oclIsKindOf(cda::PlayingEntity))) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::COV)->select(typeCode=vocab::ParticipationType::COV)->reject(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.89')) - - + + OCL self.participant->excluding(null)->select(typeCode=vocab::ParticipationType::COV)->select(typeCode=vocab::ParticipationType::COV)->reject(participantRole->one(participantRole : cda::ParticipantRole | not participantRole.oclIsUndefined() and participantRole.oclIsKindOf(cda::ParticipantRole))) - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((translation->isEmpty() or translation->exists(element | element.isNullFlavorUndefined())) implies (not translation->isEmpty() and translation->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.3.221.5' and not value.code.oclIsUndefined())) ))) - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((translation->isEmpty() or translation->exists(element | element.isNullFlavorUndefined())) implies (( not translation->isEmpty()) ) ))) @@ -30532,42 +30532,42 @@ value.codeSystem = '2.16.840.1.113883.3.221.5' and not value.code.oclIsUndefined This template represents the diagnosis or diagnoses discovered or confirmed during the procedure. They may be the same as preprocedure diagnoses or indications. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.51' and id.extension.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '59769-0' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::ProblemObservation2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ) - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ProblemObservation2)).oclAsType(consol::ProblemObservation2) - - + + @@ -30575,42 +30575,42 @@ value.code = '59769-0' and value.codeSystem = '2.16.840.1.113883.6.1') This template represents the surgical diagnosis or diagnoses assigned to the patient before the surgical procedure and is the reason for the surgery. The preoperative diagnosis is, in the opinion of the surgeon, the diagnosis that will be confirmed during surgery. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.65' and id.extension.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '10219-4' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::ProblemObservation2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ) - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ProblemObservation2)).oclAsType(consol::ProblemObservation2) - - + + @@ -30663,85 +30663,85 @@ Many systems display the nested Problem Observation with the most recent author not self.effectiveTime.high.oclIsUndefined() - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.3' and id.extension.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'active' or value.code = 'suspended' or value.code = 'aborted' or value.code = 'completed') - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = 'CONC' and value.codeSystem = '2.16.840.1.113883.5.6') - - + + OCL self.author->exists(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(consol::AuthorParticipation)) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::PriorityPreference) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::ProblemObservation2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ) - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::PriorityPreference)).oclAsType(consol::PriorityPreference) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ProblemObservation2)).oclAsType(consol::ProblemObservation2) - - + + @@ -30814,171 +30814,171 @@ The effectiveTime of the Problem Observation is the definitive indication of whe code.codeSystem = '2.16.840.1.113883.6.96' and code.translation->size() >= 1 implies code.translation->forAll(trans : datatypes::CD | trans.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.4' and id.extension.oclIsUndefined()) - - + + OCL not self.negationInd.oclIsUndefined() - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (not self.value->isEmpty()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined())) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in 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')) - - + + OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (true) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::PrognosisObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::PriorityPreference) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.author->exists(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(consol::AuthorParticipation)) - - + + OCL true - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::ProblemStatus2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((qualifier->isEmpty() or qualifier->exists(element | element.isNullFlavorUndefined())) implies (not qualifier->isEmpty()) ))) - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (not code.oclIsUndefined() ))) - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((translation->isEmpty() or translation->exists(element | element.isNullFlavorUndefined())) implies (not translation->isEmpty() and translation->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in not value.codeSystem.oclIsUndefined() or not value.codeSystemName.oclIsUndefined())) ))) - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((translation->isEmpty() or translation->exists(element | element.isNullFlavorUndefined())) implies (( not translation->isEmpty()) ) ))) - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::PrognosisObservation))->asSequence()->any(true).oclAsType(consol::PrognosisObservation) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::PriorityPreference)).oclAsType(consol::PriorityPreference) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::HealthStatusObservation))->asSequence()->any(true).oclAsType(consol::HealthStatusObservation) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ProblemStatus2))->asSequence()->any(true).oclAsType(consol::ProblemStatus2) - - + + @@ -30999,130 +30999,130 @@ The common notion of "procedure" is broader than that specified by the not code.oclIsUndefined() and self.code.isNullFlavorUndefined() implies self.code.codeSystem = '2.16.840.1.113883.6.12' or self.code.codeSystem = '2.16.840.1.113883.6.4' or self.code.codeSystem = '2.16.840.1.113883.6.13' - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.12' and id.extension.oclIsUndefined()) - - + + OCL self.moodCode=vocab::x_DocumentActMood::EVN - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed' or value.code = 'active' or value.code = 'aborted' or value.code = 'cancelled') - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::Instruction2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::Indication2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::RSON) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.substanceAdministration.oclIsUndefined() and entryRelationship.substanceAdministration.oclIsKindOf(consol::MedicationActivity2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::COMP) - - + + OCL self.performer->exists(performer : cda::Performer2 | not performer.oclIsUndefined() and performer.oclIsKindOf(cda::Performer2)) - - + + OCL self.author->exists(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(consol::AuthorParticipation)) - - + + OCL self.performer->excluding(null).assignedEntity->excluding(null).representedOrganization->excluding(null)->reject((telecom->isEmpty() or telecom->exists(element | element.isNullFlavorUndefined())) implies (( not telecom->isEmpty()) )) - - + + OCL self.performer->excluding(null).assignedEntity->excluding(null).representedOrganization->excluding(null)->reject((addr->isEmpty() or addr->exists(element | element.isNullFlavorUndefined())) implies (( not addr->isEmpty()) )) - - + + OCL self.performer->excluding(null).assignedEntity->excluding(null)->reject((telecom->isEmpty() or telecom->exists(element | element.isNullFlavorUndefined())) implies (( not telecom->isEmpty()) )) - - + + OCL self.performer->excluding(null).assignedEntity->excluding(null)->reject(representedOrganization->one(representedOrganization : cda::Organization | not representedOrganization.oclIsUndefined() and representedOrganization.oclIsKindOf(cda::Organization))) - - + + OCL self.performer->excluding(null)->reject(assignedEntity->one(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(cda::AssignedEntity))) - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::Instruction2))->asSequence()->any(true).oclAsType(consol::Instruction2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::Indication2)).oclAsType(consol::Indication2) - - + + - - - + + + OCL self.getSubstanceAdministrations()->select(substanceAdministration : cda::SubstanceAdministration | not substanceAdministration.oclIsUndefined() and substanceAdministration.oclIsKindOf(consol::MedicationActivity2)).oclAsType(consol::MedicationActivity2) - - + + @@ -31149,155 +31149,155 @@ This template represents procedures that result in new information about the pat not code.oclIsUndefined() and self.code.isNullFlavorUndefined() implies self.code.codeSystem = '2.16.840.1.113883.6.12' or self.code.codeSystem = '2.16.840.1.113883.6.4' or self.code.codeSystem = '2.16.840.1.113883.6.13' - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.13' and id.extension.oclIsUndefined()) - - + + OCL (self.targetSiteCode->isEmpty() or self.targetSiteCode->exists(element | element.isNullFlavorUndefined())) implies (not self.targetSiteCode->isEmpty()) - - + + OCL (self.targetSiteCode->isEmpty() or self.targetSiteCode->exists(element | element.isNullFlavorUndefined())) implies (self.targetSiteCode->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined())) - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed' or value.code = 'active' or value.code = 'aborted' or value.code = 'cancelled') - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (not self.value->isEmpty()) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::Indication2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::RSON) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.substanceAdministration.oclIsUndefined() and entryRelationship.substanceAdministration.oclIsKindOf(consol::MedicationActivity2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::COMP) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::Instruction2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ) - - + + OCL self.performer->exists(performer : cda::Performer2 | not performer.oclIsUndefined() and performer.oclIsKindOf(cda::Performer2)) - - + + OCL self.author->exists(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(consol::AuthorParticipation)) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::ReactionObservation2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::COMP) - - + + OCL self.value->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (isDefined('nullFlavor') ))) - - + + OCL self.performer->excluding(null).assignedEntity->excluding(null)->reject((addr->isEmpty() or addr->exists(element | element.isNullFlavorUndefined())) implies (( not addr->isEmpty()) )) - - + + OCL self.performer->excluding(null).assignedEntity->excluding(null)->reject((telecom->isEmpty() or telecom->exists(element | element.isNullFlavorUndefined())) implies (( not telecom->isEmpty()) )) - - + + OCL self.performer->excluding(null)->reject(assignedEntity->one(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(cda::AssignedEntity))) - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::Indication2)).oclAsType(consol::Indication2) - - + + - - - + + + OCL self.getSubstanceAdministrations()->select(substanceAdministration : cda::SubstanceAdministration | not substanceAdministration.oclIsUndefined() and substanceAdministration.oclIsKindOf(consol::MedicationActivity2)).oclAsType(consol::MedicationActivity2) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::Instruction2))->asSequence()->any(true).oclAsType(consol::Instruction2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ReactionObservation2)).oclAsType(consol::ReactionObservation2) - - + + @@ -31331,149 +31331,149 @@ This template can be used with a contained Product Instance template to represen self.participant->select(par : cda::Participant2 | par.participantRole.oclIsKindOf(consol::ServiceDeliveryLocation))->forAll(p : cda::Participant2 | p.typeCode=vocab::ParticipationType::LOC) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.14' and id.extension.oclIsUndefined()) - - + + OCL (self.targetSiteCode->isEmpty() or self.targetSiteCode->exists(element | element.isNullFlavorUndefined())) implies (not self.targetSiteCode->isEmpty()) - - + + OCL (self.targetSiteCode->isEmpty() or self.targetSiteCode->exists(element | element.isNullFlavorUndefined())) implies (self.targetSiteCode->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined())) - - + + OCL self.moodCode=vocab::x_DocumentProcedureMood::EVN - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed' or value.code = 'active' or value.code = 'aborted' or value.code = 'cancelled') - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::Indication2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::RSON) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.substanceAdministration.oclIsUndefined() and entryRelationship.substanceAdministration.oclIsKindOf(consol::MedicationActivity2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::COMP) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::Instruction2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ) - - + + OCL self.specimen->exists(specimen : cda::Specimen | not specimen.oclIsUndefined() and specimen.oclIsKindOf(cda::Specimen)) - - + + OCL self.performer->exists(performer : cda::Performer2 | not performer.oclIsUndefined() and performer.oclIsKindOf(cda::Performer2)) - - + + OCL self.author->exists(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(consol::AuthorParticipation)) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::ReactionObservation2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::COMP) - - + + OCL self.performer->excluding(null).assignedEntity->excluding(null)->reject((addr->isEmpty() or addr->exists(element | element.isNullFlavorUndefined())) implies (( not addr->isEmpty()) )) - - + + OCL self.performer->excluding(null).assignedEntity->excluding(null)->reject((telecom->isEmpty() or telecom->exists(element | element.isNullFlavorUndefined())) implies (( not telecom->isEmpty()) )) - - + + OCL self.performer->excluding(null)->reject(assignedEntity->one(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(cda::AssignedEntity))) - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::Indication2)).oclAsType(consol::Indication2) - - + + - - - + + + OCL self.getSubstanceAdministrations()->select(substanceAdministration : cda::SubstanceAdministration | not substanceAdministration.oclIsUndefined() and substanceAdministration.oclIsKindOf(consol::MedicationActivity2)).oclAsType(consol::MedicationActivity2) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::Instruction2))->asSequence()->any(true).oclAsType(consol::Instruction2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ReactionObservation2)).oclAsType(consol::ReactionObservation2) - - + + @@ -31523,116 +31523,116 @@ value.code = 'completed' or value.code = 'active' or value.code = 'aborted' or v true - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.9' and id.extension.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = 'ASSERTION' and value.codeSystem = '2.16.840.1.113883.5.4') - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (true) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (not self.value->isEmpty()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined())) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.procedure.oclIsUndefined() and entryRelationship.procedure.oclIsKindOf(consol::ProcedureActivityProcedure2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::RSON) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.substanceAdministration.oclIsUndefined() and entryRelationship.substanceAdministration.oclIsKindOf(consol::MedicationActivity2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::RSON) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::SeverityObservation2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ) - - - + + + OCL self.getProcedures()->select(procedure : cda::Procedure | not procedure.oclIsUndefined() and procedure.oclIsKindOf(consol::ProcedureActivityProcedure2)).oclAsType(consol::ProcedureActivityProcedure2) - - + + - - - + + + OCL self.getSubstanceAdministrations()->select(substanceAdministration : cda::SubstanceAdministration | not substanceAdministration.oclIsUndefined() and substanceAdministration.oclIsKindOf(consol::MedicationActivity2)).oclAsType(consol::MedicationActivity2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::SeverityObservation2))->asSequence()->any(true).oclAsType(consol::SeverityObservation2) - - + + @@ -31681,84 +31681,84 @@ The result observation includes a statusCode to allow recording the status of an true - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.2' and id.extension.oclIsUndefined()) - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (true) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (not self.value->isEmpty()) - - + + OCL (self.interpretationCode->isEmpty() or self.interpretationCode->exists(element | element.isNullFlavorUndefined())) implies (not self.interpretationCode->isEmpty()) - - + + OCL (self.interpretationCode->isEmpty() or self.interpretationCode->exists(element | element.isNullFlavorUndefined())) implies (self.interpretationCode->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = element.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.5.83' and not value.code.oclIsUndefined())) - - + + OCL self.author->exists(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(consol::AuthorParticipation)) - - + + OCL self.referenceRange->exists(referenceRange : cda::ReferenceRange | not referenceRange.oclIsUndefined() and referenceRange.oclIsKindOf(cda::ReferenceRange)) - - + + OCL self.referenceRange->excluding(null).observationRange->excluding(null)->reject((value.oclIsUndefined() or value.isNullFlavorUndefined()) implies (not value.oclIsUndefined())) - - + + OCL self.referenceRange->excluding(null).observationRange->excluding(null)->reject(code.oclIsUndefined()) - - + + OCL self.referenceRange->excluding(null)->reject(observationRange->one(observationRange : cda::ObservationRange | not observationRange.oclIsUndefined() and observationRange.oclIsKindOf(cda::ObservationRange))) @@ -31786,52 +31786,52 @@ If any Result Observation within the organizer has a statusCode of "active& true - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.1' and id.extension.oclIsUndefined()) - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL self.component->exists(component : cda::Component4 | not component.observation.oclIsUndefined() and component.observation.oclIsKindOf(consol::ResultObservation2)) - - + + OCL self.author->exists(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(consol::AuthorParticipation)) - - + + OCL self.effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((low.oclIsUndefined() or low.isNullFlavorUndefined()) implies (not low.oclIsUndefined()) ))) - - + + OCL self.effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((high.oclIsUndefined() or high.isNullFlavorUndefined()) implies (not high.oclIsUndefined()) ))) - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ResultObservation2)).oclAsType(consol::ResultObservation2) - - + + @@ -31862,54 +31862,54 @@ NOTE -- the severity observation is no longer associated with the allergy and in true - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.8' and id.extension.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = 'SEV' and value.codeSystem = '2.16.840.1.113883.5.4') - - + + OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (true) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (not self.value->isEmpty()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in @@ -31940,68 +31940,68 @@ value.codeSystem = '2.16.840.1.113883.6.96' and (value.code = '24484000' or valu code.codeSystem <> '2.16.840.1.113883.6.1' and code.translation->size() >= 1 implies code.translation->forAll(trans : datatypes::CD | trans.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.38' and id.extension.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in 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')) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (not self.value->isEmpty()) - - + + OCL self.author->exists(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(consol::AuthorParticipation)) - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((translation->isEmpty() or translation->exists(element | element.isNullFlavorUndefined())) implies (not translation->isEmpty() and translation->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in not value.codeSystem.oclIsUndefined() or not value.codeSystemName.oclIsUndefined())) ))) - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((translation->isEmpty() or translation->exists(element | element.isNullFlavorUndefined())) implies (( not translation->isEmpty()) ) ))) @@ -32043,203 +32043,203 @@ The effectiveTime of the Substance or Device Allergy - Intolerance Observation i self.entryRelationship->select(er : cda::EntryRelationship | er.observation.oclIsTypeOf(consol::AllergyStatusObservation2))->forAll(ent : cda::EntryRelationship | ent.inversionInd=true) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.24.3.90' and id.extension.oclIsUndefined()) - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (not self.value->isEmpty()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and (value.code = '420134006' or value.code = '418038007' or value.code = '419511003' or value.code = '418471000' or value.code = '419199007' or value.code = '416098002' or value.code = '414285001' or value.code = '59037007' or value.code = '235719002' or value.code = '232347008' or value.code = '426232007'))) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = 'ASSERTION' and value.codeSystem = '2.16.840.1.113883.5.4') - - + + OCL self.participant->exists(participant : cda::Participant2 | not participant.oclIsUndefined() and participant.oclIsKindOf(cda::Participant2)) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::ReactionObservation2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::MFST) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::SeverityObservation2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ) - - + + OCL self.author->exists(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(consol::AuthorParticipation)) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::CriticalityObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::AllergyStatusObservation2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ) - - + + OCL self.effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((low.oclIsUndefined() or low.isNullFlavorUndefined()) implies (not low.oclIsUndefined()) ))) - - + + OCL self.effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((high.oclIsUndefined() or high.isNullFlavorUndefined()) implies (not high.oclIsUndefined()) ))) - - + + OCL self.participant->excluding(null).participantRole->excluding(null).playingEntity->excluding(null).code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((originalText.oclIsUndefined() or originalText.isNullFlavorUndefined()) implies (true) ))) - - + + OCL self.participant->excluding(null).participantRole->excluding(null).playingEntity->excluding(null).code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((translation->isEmpty() or translation->exists(element | element.isNullFlavorUndefined())) implies (true) ))) - - + + OCL self.participant->excluding(null).participantRole->excluding(null).playingEntity->excluding(null)->reject(true) - - + + OCL self.participant->excluding(null).participantRole->excluding(null).playingEntity->excluding(null)->reject(true) - - + + OCL self.participant->excluding(null).participantRole->excluding(null).playingEntity->excluding(null)->reject(true) - - + + OCL self.participant->excluding(null).participantRole->excluding(null).playingEntity->excluding(null)->reject(true) - - + + OCL self.participant->excluding(null).participantRole->excluding(null).playingEntity->excluding(null)->reject(true) - - + + OCL self.participant->excluding(null).participantRole->excluding(null).playingEntity->excluding(null)->reject(true) - - + + OCL self.participant->excluding(null).participantRole->excluding(null).playingEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.participant->excluding(null).participantRole->excluding(null)->reject(playingEntity->one(playingEntity : cda::PlayingEntity | not playingEntity.oclIsUndefined() and playingEntity.oclIsKindOf(cda::PlayingEntity))) - - + + OCL self.participant->excluding(null)->reject(participantRole->one(participantRole : cda::ParticipantRole | not participantRole.oclIsUndefined() and participantRole.oclIsKindOf(cda::ParticipantRole))) - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ReactionObservation2)).oclAsType(consol::ReactionObservation2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::SeverityObservation2))->asSequence()->any(true).oclAsType(consol::SeverityObservation2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::CriticalityObservation))->asSequence()->any(true).oclAsType(consol::CriticalityObservation) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::AllergyStatusObservation2))->asSequence()->any(true).oclAsType(consol::AllergyStatusObservation2) - - + + @@ -32249,52 +32249,52 @@ value.code = 'ASSERTION' and value.codeSystem = '2.16.840.1.113883.5.4') All the types of tobacco use are represented using the codes from the tobacco use and exposure-finding hierarchy in SNOMED CT, including codes required for recording smoking status in Meaningful Use Stage 2. The effectiveTime element is used to describe dates associated with the patient's tobacco use. Whereas the Smoking Status - Meaningful Use (V2) template (2.16.840.1.113883.10.20.22.4.78:2014-06-09) represents a "snapshot in time" observation, simply reflecting what the patient's current smoking status is at the time of the observation, this Tobacco Use template uses effectiveTime to represent the biologically relevant time of the observation. Thus, to record a former smoker, an observation of "cigarette smoker" will have an effectiveTime/low defining the time the patient started to smoke cigarettes and an effectiveTime/high defining the time the patient ceased to smoke cigarettes. To record a current smoker, the effectiveTime/low will define the time the patient started smoking and will have no effectiveTime/high to indicated that the patient is still smoking. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.85' and id.extension.oclIsUndefined()) - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '11367-0') - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL self.author->exists(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(consol::AuthorParticipation)) - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined())->reject(true) - - + + OCL self.effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((high.oclIsUndefined() or high.isNullFlavorUndefined()) implies (not high.oclIsUndefined()) ))) @@ -32323,52 +32323,52 @@ value.code = '11367-0') true - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.27' and id.extension.oclIsUndefined()) - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (not self.value->isEmpty()) - - + + OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (true) - - + + OCL (self.interpretationCode->isEmpty() or self.interpretationCode->exists(element | element.isNullFlavorUndefined())) implies (not self.interpretationCode->isEmpty()) - - + + OCL (self.interpretationCode->isEmpty() or self.interpretationCode->exists(element | element.isNullFlavorUndefined())) implies (self.interpretationCode->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = element.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.5.83' and not value.code.oclIsUndefined())) - - + + OCL self.author->exists(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(consol::AuthorParticipation)) - - + + OCL true @@ -32379,68 +32379,68 @@ value.codeSystem = '2.16.840.1.113883.5.83' and not value.code.oclIsUndefined()) This template provides a mechanism for grouping vital signs (e.g., grouping systolic blood pressure and diastolic blood pressure). - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.26' and id.extension.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '46680005' and value.codeSystem = '2.16.840.1.113883.6.96') - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL self.component->exists(component : cda::Component4 | not component.observation.oclIsUndefined() and component.observation.oclIsKindOf(consol::VitalSignObservation2)) - - + + OCL self.author->exists(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(consol::AuthorParticipation)) - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((translation->isEmpty() or translation->exists(element | element.isNullFlavorUndefined())) implies (translation->size() = 1 and translation->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.code = '74728-7' and value.codeSystem = '2.16.840.1.113883.6.1')) ))) - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((translation->isEmpty() or translation->exists(element | element.isNullFlavorUndefined())) implies (translation->size() = 1) ))) - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::VitalSignObservation2)).oclAsType(consol::VitalSignObservation2) - - + + @@ -32490,188 +32490,188 @@ value.code = '74728-7' and value.codeSystem = '2.16.840.1.113883.6.1')) )))true - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.74' and id.extension.oclIsUndefined()) - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (not self.id->isEmpty()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '373930000' and value.codeSystem = '2.16.840.1.113883.6.96') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (not self.value->isEmpty()) - - + + OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (true) - - + + OCL (self.interpretationCode->isEmpty() or self.interpretationCode->exists(element | element.isNullFlavorUndefined())) implies (true) - - + + OCL (self.methodCode->isEmpty() or self.methodCode->exists(element | element.isNullFlavorUndefined())) implies (true) - - + + OCL (self.targetSiteCode->isEmpty() or self.targetSiteCode->exists(element | element.isNullFlavorUndefined())) implies (true) - - + + OCL self.author->exists(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(consol::AuthorParticipation)) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::AssessmentScaleObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::COMP) - - + + OCL self.referenceRange->exists(referenceRange : cda::ReferenceRange | not referenceRange.oclIsUndefined() and referenceRange.oclIsKindOf(cda::ReferenceRange)) - - + + OCL true - - + + OCL true - - + + OCL true - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((translation->isEmpty() or translation->exists(element | element.isNullFlavorUndefined())) implies (translation->size() = 1 and translation->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.code = '75275-8' and value.codeSystem = '2.16.840.1.113883.6.1')) ))) - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((translation->isEmpty() or translation->exists(element | element.isNullFlavorUndefined())) implies (translation->size() = 1) ))) - - + + OCL self.referenceRange->excluding(null).observationRange->excluding(null)->reject(true) - - + + OCL self.referenceRange->excluding(null)->reject(true) - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::AssessmentScaleObservation)).oclAsType(consol::AssessmentScaleObservation) - - + + - - - + + + OCL self.getSupplies()->select(supply : cda::Supply | not supply.oclIsUndefined() and supply.oclIsKindOf(consol::NonMedicinalSupplyActivity)).oclAsType(consol::NonMedicinalSupplyActivity) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::CaregiverCharacteristics)).oclAsType(consol::CaregiverCharacteristics) - - + + @@ -32679,59 +32679,59 @@ value.code = '75275-8' and value.codeSystem = '2.16.840.1.113883.6.1')) ))) The Anesthesia Section records the type of anesthesia (e.g., general or local) and may state the actual agent used. This may be a subsection of the Procedure Description Section. The full details of anesthesia are usually found in a separate Anesthesia Note. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.25' and id.extension.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '59774-0' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.procedure.oclIsUndefined() and entry.procedure.oclIsKindOf(consol::ProcedureActivityProcedure2)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.substanceAdministration.oclIsUndefined() and entry.substanceAdministration.oclIsKindOf(consol::MedicationActivity2)) - - - + + + OCL self.getProcedures()->select(procedure : cda::Procedure | not procedure.oclIsUndefined() and procedure.oclIsKindOf(consol::ProcedureActivityProcedure2)).oclAsType(consol::ProcedureActivityProcedure2) - - + + - - - + + + OCL self.getSubstanceAdministrations()->select(substanceAdministration : cda::SubstanceAdministration | not substanceAdministration.oclIsUndefined() and substanceAdministration.oclIsKindOf(consol::MedicationActivity2)).oclAsType(consol::MedicationActivity2) - - + + @@ -32740,42 +32740,42 @@ value.code = '59774-0' and value.codeSystem = '2.16.840.1.113883.6.1') This section represents the clinician's conclusions and working assumptions that will guide treatment of the patient. The Assessment and Plan Section may be combined or separated to meet local policy requirements. See also the Assessment Section: templateId 2.16.840.1.113883.10.20.22.2.8 and Plan of Treatment Section (V2): templateId 2.16.840.1.113883.10.20.22.2.10:2014-06-09 - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.9' and id.extension.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '51847-2' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::PlannedAct2)) - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::PlannedAct2)).oclAsType(consol::PlannedAct2) - - + + @@ -32792,42 +32792,42 @@ value.code = '51847-2' and value.codeSystem = '2.16.840.1.113883.6.1') true - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.37' and id.extension.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '55109-3' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::ProblemObservation2)) - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ProblemObservation2)).oclAsType(consol::ProblemObservation2) - - + + @@ -32835,42 +32835,42 @@ value.code = '55109-3' and value.codeSystem = '2.16.840.1.113883.6.1') This section lists and describes any healthcare encounters pertinent to the patient's current health status or historical health history. An encounter is an interaction, regardless of the setting, between a patient and a practitioner who is vested with primary responsibility for diagnosing, evaluating, or treating the patient's condition. It may include visits, appointments, or non-face-to-face interactions. It is also a contact between a patient and a practitioner who has primary responsibility (exercising independent judgment) for assessing and treating the patient at a given contact. This section may contain all encounters for the time period being summarized, but should include notable encounters. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.22' and id.extension = '2015-08-01') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '46240-8' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.encounter.oclIsUndefined() and entry.encounter.oclIsKindOf(consol::EncounterActivity2)) - - - + + + OCL self.getEncounters()->select(encounter : cda::Encounter | not encounter.oclIsUndefined() and encounter.oclIsKindOf(consol::EncounterActivity2)).oclAsType(consol::EncounterActivity2) - - + + @@ -32878,178 +32878,178 @@ value.code = '46240-8' and value.codeSystem = '2.16.840.1.113883.6.1') The Functional Status Section contains observations and assessments of a patient's physical abilities. A patient's functional status may include information regarding the patient's ability to perform Activities of Daily Living (ADLs) in areas such as Mobility (e.g., ambulation), Self-Care (e.g., bathing, dressing, feeding, grooming) or Instrumental Activities of Daily Living (IADLs) (e.g., shopping, using a telephone, balancing a check book). Problems that impact function (e.g., dyspnea, dysphagia) can be contained in the section. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.14' and id.extension.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '47420-5' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.organizer.oclIsUndefined() and entry.organizer.oclIsKindOf(consol::FunctionalStatusOrganizer2)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::FunctionalStatusObservation2)) - - + + OCL true - - + + OCL true - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.supply.oclIsUndefined() and entry.supply.oclIsKindOf(consol::NonMedicinalSupplyActivity2)) - - + + OCL true - - + + OCL true - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::SelfCareActivities)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::SensoryStatus)) - - - + + + OCL self.getOrganizers()->select(organizer : cda::Organizer | not organizer.oclIsUndefined() and organizer.oclIsKindOf(consol::FunctionalStatusOrganizer2)).oclAsType(consol::FunctionalStatusOrganizer2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::FunctionalStatusObservation2)).oclAsType(consol::FunctionalStatusObservation2) - - + + - - - + + + OCL self.getOrganizers()->select(organizer : cda::Organizer | not organizer.oclIsUndefined() and organizer.oclIsKindOf(consol::CognitiveStatusResultOrganizer)).oclAsType(consol::CognitiveStatusResultOrganizer) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::CognitiveStatusResultObservation)).oclAsType(consol::CognitiveStatusResultObservation) - - + + - - - + + + OCL self.getSupplies()->select(supply : cda::Supply | not supply.oclIsUndefined() and supply.oclIsKindOf(consol::NonMedicinalSupplyActivity2)).oclAsType(consol::NonMedicinalSupplyActivity2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::NumberOfPressureUlcersObservation)).oclAsType(consol::NumberOfPressureUlcersObservation) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::HighestPressureUlcerStage)).oclAsType(consol::HighestPressureUlcerStage) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::SelfCareActivities)).oclAsType(consol::SelfCareActivities) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::SensoryStatus)).oclAsType(consol::SensoryStatus) - - + + @@ -33057,42 +33057,42 @@ value.code = '47420-5' and value.codeSystem = '2.16.840.1.113883.6.1') This section contains a record of the patient's past complaints, problems, and diagnoses. It contains data from the patient's past up to the patient's current complaint or reason for seeking medical care. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.20' and id.extension.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '11348-0' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::ProblemObservation2)) - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ProblemObservation2)).oclAsType(consol::ProblemObservation2) - - + + @@ -33100,56 +33100,56 @@ value.code = '11348-0' and value.codeSystem = '2.16.840.1.113883.6.1') This section contains a narrative description of the problems or diagnoses identified by the clinician at the time of the patient's admission. This section may contain coded entries representing the admitting diagnoses. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.43' and id.extension.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '46241-6' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->one(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::HospitalAdmissionDiagnosis2)) - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((translation->isEmpty() or translation->exists(element | element.isNullFlavorUndefined())) implies (translation->size() = 1 and translation->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.code = '42347-5' and value.codeSystem = '2.16.840.1.113883.6.1')) ))) - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((translation->isEmpty() or translation->exists(element | element.isNullFlavorUndefined())) implies (translation->size() = 1) ))) - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::HospitalAdmissionDiagnosis2))->asSequence()->any(true).oclAsType(consol::HospitalAdmissionDiagnosis2) - - + + @@ -33157,42 +33157,42 @@ value.code = '42347-5' and value.codeSystem = '2.16.840.1.113883.6.1')) ))) The section contains the medications taken by the patient prior to and at the time of admission to the facility. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.44' and id.extension = '2015-08-01') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '42346-7' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::AdmissionMedication2)) - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::AdmissionMedication2)).oclAsType(consol::AdmissionMedication2) - - + + @@ -33200,56 +33200,56 @@ value.code = '42346-7' and value.codeSystem = '2.16.840.1.113883.6.1') <p>This template represents problems or diagnoses present at the time of discharge which occurred during the hospitalization. This section includes an optional entry to record patient diagnoses specific to this visit. Problems that need ongoing tracking should also be included in the Problem Section. DSTU:1238</p> - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.24' and id.extension.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '11535-2' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->one(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::HospitalDischargeDiagnosis2)) - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((translation->isEmpty() or translation->exists(element | element.isNullFlavorUndefined())) implies (translation->size() = 1 and translation->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.code = '78375-3' and value.codeSystem = '2.16.840.1.113883.6.1')) ))) - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((translation->isEmpty() or translation->exists(element | element.isNullFlavorUndefined())) implies (translation->size() = 1) ))) - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::HospitalDischargeDiagnosis2))->asSequence()->any(true).oclAsType(consol::HospitalDischargeDiagnosis2) - - + + @@ -33257,56 +33257,56 @@ value.code = '78375-3' and value.codeSystem = '2.16.840.1.113883.6.1')) ))) This section contains the medications the patient is intended to take or stop after discharge. Current, active medications must be listed. The section may also include a patient's prescription history and indicate the source of the medication list. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.11' and id.extension = '2015-08-01') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '10183-2' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::DischargeMedication2)) - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((translation->isEmpty() or translation->exists(element | element.isNullFlavorUndefined())) implies (translation->size() = 1 and translation->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.code = '75311-1' and value.codeSystem = '2.16.840.1.113883.6.1')) ))) - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((translation->isEmpty() or translation->exists(element | element.isNullFlavorUndefined())) implies (translation->size() = 1) ))) - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::DischargeMedication2)).oclAsType(consol::DischargeMedication2) - - + + @@ -33314,42 +33314,42 @@ value.code = '75311-1' and value.codeSystem = '2.16.840.1.113883.6.1')) ))) The Immunizations Section defines a patient's current immunization status and pertinent immunization history. The primary use case for the Immunization Section is to enable communication of a patient's immunization status. The section should include current immunization status, and may contain the entire immunization history that is relevant to the period of time being summarized. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.2' and id.extension = '2015-08-01') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '11369-6' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.substanceAdministration.oclIsUndefined() and entry.substanceAdministration.oclIsKindOf(consol::ImmunizationActivity2)) - - - + + + OCL self.getSubstanceAdministrations()->select(substanceAdministration : cda::SubstanceAdministration | not substanceAdministration.oclIsUndefined() and substanceAdministration.oclIsKindOf(consol::ImmunizationActivity2)).oclAsType(consol::ImmunizationActivity2) - - + + @@ -33357,48 +33357,48 @@ value.code = '11369-6' and value.codeSystem = '2.16.840.1.113883.6.1') The Instructions Section records instructions given to a patient. List patient decision aids here. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.45' and id.extension.oclIsUndefined()) - - + + OCL isDefined('nullFlavor') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '69730-0' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::Instruction2)) - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::Instruction2)).oclAsType(consol::Instruction2) - - + + @@ -33417,76 +33417,76 @@ Instructions are nested within interventions and may include self-care instructi Instructions are information or directions to the patient. Use the Instructions Section when instructions are included as part of a document that is not a Care Plan. Use the Interventions Section, containing the Intervention Act containing the Instruction entry, when instructions are part of a structured care plan. </p> - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.21.2.3' and id.extension.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '62387-6' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::InterventionAct)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::HandoffCommunicationParticipants)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::PlannedInterventionAct)) - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::InterventionAct)).oclAsType(consol::InterventionAct) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::HandoffCommunicationParticipants)).oclAsType(consol::HandoffCommunicationParticipants) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::PlannedInterventionAct)).oclAsType(consol::PlannedInterventionAct) - - + + @@ -33496,76 +33496,76 @@ value.code = '62387-6' and value.codeSystem = '2.16.840.1.113883.6.1') Devices applied to, or placed in, the patient are represented with the Procedure Activity Procedure (V2) template. Equipment supplied to the patient (e.g., pumps, inhalers, wheelchairs) is represented by the Non-Medicinal Supply Activity V2 template. These devices may be grouped together within a Medical Equipment Organizer. The organizer would probably not be used with devices applied in or on the patient but rather to organize a group of medical supplies the patient has been supplied with. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.23' and id.extension.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '46264-8' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.supply.oclIsUndefined() and entry.supply.oclIsKindOf(consol::NonMedicinalSupplyActivity2)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.organizer.oclIsUndefined() and entry.organizer.oclIsKindOf(consol::MedicalEquipmentOrganizer)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.procedure.oclIsUndefined() and entry.procedure.oclIsKindOf(consol::ProcedureActivityProcedure2)) - - - + + + OCL self.getSupplies()->select(supply : cda::Supply | not supply.oclIsUndefined() and supply.oclIsKindOf(consol::NonMedicinalSupplyActivity2)).oclAsType(consol::NonMedicinalSupplyActivity2) - - + + - - - + + + OCL self.getOrganizers()->select(organizer : cda::Organizer | not organizer.oclIsUndefined() and organizer.oclIsKindOf(consol::MedicalEquipmentOrganizer)).oclAsType(consol::MedicalEquipmentOrganizer) - - + + - - - + + + OCL self.getProcedures()->select(procedure : cda::Procedure | not procedure.oclIsUndefined() and procedure.oclIsKindOf(consol::ProcedureActivityProcedure2)).oclAsType(consol::ProcedureActivityProcedure2) - - + + @@ -33573,42 +33573,42 @@ value.code = '46264-8' and value.codeSystem = '2.16.840.1.113883.6.1') The Medications Administered Section usually resides inside a Procedure Note describing a procedure. This section defines medications and fluids administered during the procedure, its related encounter, or other procedure related activity excluding anesthetic medications. Anesthesia medications should be documented as described in the Anesthesia Section templateId 2.16.840.1.113883.10.20.22.2.25. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.38' and id.extension.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '29549-3' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.substanceAdministration.oclIsUndefined() and entry.substanceAdministration.oclIsKindOf(consol::MedicationActivity2)) - - - + + + OCL self.getSubstanceAdministrations()->select(substanceAdministration : cda::SubstanceAdministration | not substanceAdministration.oclIsUndefined() and substanceAdministration.oclIsKindOf(consol::MedicationActivity2)).oclAsType(consol::MedicationActivity2) - - + + @@ -33624,42 +33624,42 @@ Each unique instance of a payer and all the pertinent data needed to contact, bi The sources of payment are represented as a Coverage Activity, which identifies all of the insurance policies or government or other programs that cover some or all of the patient's healthcare expenses. The policies or programs are sequenced by preference. The Coverage Activity has a sequence number that represents the preference order. Each policy or program identifies the covered party with respect to the payer, so that the identifiers can be recorded. </p> - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.18' and id.extension.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '48768-6' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::CoverageActivity2)) - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::CoverageActivity2)).oclAsType(consol::CoverageActivity2) - - + + @@ -33678,131 +33678,131 @@ The exam may be limited to pertinent body systems based on the patient's chief c The Physical Exam Section may contain multiple nested subsections. </p> - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.2.10' and id.extension.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '29545-1' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::LongitudinalCareWoundObservation)) - - + + OCL true - - + + OCL true - - + + OCL true - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies component->exists(component : cda::Component5 | not component.oclIsUndefined() and component.oclIsKindOf(cda::Component5)) - - + + OCL self.component->excluding(null).section->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.6.1' and not value.code.oclIsUndefined())) - - + + OCL self.component->excluding(null).section->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.component->excluding(null).section->excluding(null)->reject((title.oclIsUndefined() or title.isNullFlavorUndefined()) implies (not title.oclIsUndefined())) - - + + OCL self.component->excluding(null).section->excluding(null)->reject(not text.oclIsUndefined()) - - + + OCL self.component->excluding(null)->reject(section->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(cda::Section))) - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::LongitudinalCareWoundObservation)).oclAsType(consol::LongitudinalCareWoundObservation) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::PressureUlcerObservation)).oclAsType(consol::PressureUlcerObservation) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::HighestPressureUlcerStage)).oclAsType(consol::HighestPressureUlcerStage) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::NumberOfPressureUlcersObservation)).oclAsType(consol::NumberOfPressureUlcersObservation) - - + + @@ -33824,212 +33824,212 @@ When used in a document that includes a Goals Section, all the goals (whether na When used in a document that does not include a Goals Section, the Plan of Treatment section may also contain information about care team members' goals, including the patient's values, beliefs, preferences, care expectations, and overarching care goals. Values may include the importance of quality of life over longevity. These values are taken into account when prioritizing all problems and their treatments. Beliefs may include comfort with dying or the refusal of blood transfusions because of the patient's religious convictions. Preferences may include liquid medicines over tablets, or treatment via secure email instead of in person. Care expectations may range from being treated only by female clinicians, to expecting all calls to be returned within 24 hours. Overarching goals described in this section are not tied to a specific condition, problem, health concern, or intervention. Examples of overarching goals could be to minimize pain or dependence on others, or to walk a daughter down the aisle for her marriage. DSTU:871 </p> - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.10' and id.extension.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '18776-5' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::PlannedObservation2)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.encounter.oclIsUndefined() and entry.encounter.oclIsKindOf(consol::PlannedEncounter2)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::PlannedAct2)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.procedure.oclIsUndefined() and entry.procedure.oclIsKindOf(consol::PlannedProcedure2)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.substanceAdministration.oclIsUndefined() and entry.substanceAdministration.oclIsKindOf(consol::PlannedMedicationActivity2)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.supply.oclIsUndefined() and entry.supply.oclIsKindOf(consol::PlannedSupply2)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::Instruction2)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::HandoffCommunicationParticipants)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::NutritionRecommendation)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.substanceAdministration.oclIsUndefined() and entry.substanceAdministration.oclIsKindOf(consol::PlannedImmunizationActivity)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::GoalObservation)) - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::PlannedObservation2)).oclAsType(consol::PlannedObservation2) - - + + - - - + + + OCL self.getEncounters()->select(encounter : cda::Encounter | not encounter.oclIsUndefined() and encounter.oclIsKindOf(consol::PlannedEncounter2)).oclAsType(consol::PlannedEncounter2) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::PlannedAct2)).oclAsType(consol::PlannedAct2) - - + + - - - + + + OCL self.getProcedures()->select(procedure : cda::Procedure | not procedure.oclIsUndefined() and procedure.oclIsKindOf(consol::PlannedProcedure2)).oclAsType(consol::PlannedProcedure2) - - + + - - - + + + OCL self.getSubstanceAdministrations()->select(substanceAdministration : cda::SubstanceAdministration | not substanceAdministration.oclIsUndefined() and substanceAdministration.oclIsKindOf(consol::PlannedMedicationActivity2)).oclAsType(consol::PlannedMedicationActivity2) - - + + - - - + + + OCL self.getSupplies()->select(supply : cda::Supply | not supply.oclIsUndefined() and supply.oclIsKindOf(consol::PlannedSupply2)).oclAsType(consol::PlannedSupply2) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::Instruction2)).oclAsType(consol::Instruction2) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::HandoffCommunicationParticipants)).oclAsType(consol::HandoffCommunicationParticipants) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::NutritionRecommendation)).oclAsType(consol::NutritionRecommendation) - - + + - - - + + + OCL self.getSubstanceAdministrations()->select(substanceAdministration : cda::SubstanceAdministration | not substanceAdministration.oclIsUndefined() and substanceAdministration.oclIsKindOf(consol::PlannedImmunizationActivity)).oclAsType(consol::PlannedImmunizationActivity) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::GoalObservation)).oclAsType(consol::GoalObservation) - - + + @@ -34037,42 +34037,42 @@ value.code = '18776-5' and value.codeSystem = '2.16.840.1.113883.6.1') This section contains the procedure(s) that a clinician planned based on the preoperative assessment. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.30' and id.extension.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '59772-4' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.procedure.oclIsUndefined() and entry.procedure.oclIsKindOf(consol::PlannedProcedure2)) - - - + + + OCL self.getProcedures()->select(procedure : cda::Procedure | not procedure.oclIsUndefined() and procedure.oclIsKindOf(consol::PlannedProcedure2)).oclAsType(consol::PlannedProcedure2) - - + + @@ -34080,42 +34080,42 @@ value.code = '59772-4' and value.codeSystem = '2.16.840.1.113883.6.1') The Postprocedure Diagnosis Section records the diagnosis or diagnoses discovered or confirmed during the procedure. Often it is the same as the preprocedure diagnosis or indication. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.36' and id.extension.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '59769-0' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->one(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::PostprocedureDiagnosis2)) - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::PostprocedureDiagnosis2))->asSequence()->any(true).oclAsType(consol::PostprocedureDiagnosis2) - - + + @@ -34123,42 +34123,42 @@ value.code = '59769-0' and value.codeSystem = '2.16.840.1.113883.6.1') The Preoperative Diagnosis Section records the surgical diagnoses assigned to the patient before the surgical procedure which are the reason for the surgery. The preoperative diagnosis is, in the surgeon's opinion, the diagnosis that will be confirmed during surgery. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.34' and id.extension.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '10219-4' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->one(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::PreoperativeDiagnosis2)) - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::PreoperativeDiagnosis2))->asSequence()->any(true).oclAsType(consol::PreoperativeDiagnosis2) - - + + @@ -34166,42 +34166,42 @@ value.code = '10219-4' and value.codeSystem = '2.16.840.1.113883.6.1') The Procedure Findings Section records clinically significant observations confirmed or discovered during a procedure or surgery. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.28' and id.extension.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '59776-5' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::ProblemObservation2)) - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ProblemObservation2)).oclAsType(consol::ProblemObservation2) - - + + @@ -34209,42 +34209,42 @@ value.code = '59776-5' and value.codeSystem = '2.16.840.1.113883.6.1') This section contains the reason(s) for the procedure or surgery. This section may include the preprocedure diagnoses as well as symptoms contributing to the reason for the procedure. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.29' and id.extension.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '59768-2' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::Indication2)) - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::Indication2)).oclAsType(consol::Indication2) - - + + @@ -34252,76 +34252,76 @@ value.code = '59768-2' and value.codeSystem = '2.16.840.1.113883.6.1') This section describes all interventional, surgical, diagnostic, or therapeutic procedures or treatments pertinent to the patient historically at the time the document is generated. The section should include notable procedures, but can contain all procedures for the period of time being summarized. The common notion of "procedure" is broader than that specified by the HL7 Version 3 Reference Information Model (RIM), therefore this section contains procedure templates represented with three RIM classes: Act, Observation, and Procedure. Procedure Activity Procedure (V2) is for procedures that alter the physical condition of a patient (e.g., splenectomy). Procedure Activity Observation (V2) is for procedures that result in new information about a patient but do not cause physical alteration (e.g., EEG). Procedure Activity Act (V2) is for all other types of procedures (e.g., dressing change). - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.7' and id.extension = '2014-06-09') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '47519-4' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.procedure.oclIsUndefined() and entry.procedure.oclIsKindOf(consol::ProcedureActivityProcedure2)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::ProcedureActivityObservation2)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::ProcedureActivityAct2)) - - - + + + OCL self.getProcedures()->select(procedure : cda::Procedure | not procedure.oclIsUndefined() and procedure.oclIsKindOf(consol::ProcedureActivityProcedure2)).oclAsType(consol::ProcedureActivityProcedure2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ProcedureActivityObservation2)).oclAsType(consol::ProcedureActivityObservation2) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::ProcedureActivityAct2)).oclAsType(consol::ProcedureActivityAct2) - - + + @@ -34329,42 +34329,42 @@ value.code = '47519-4' and value.codeSystem = '2.16.840.1.113883.6.1') This section describes the clinical reason why a provider is sending a patient to another provider for care. The reason for referral may become the reason for visit documented by the receiving provider. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '1.3.6.1.4.1.19376.1.5.3.1.3.1' and id.extension.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '42349-1' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::PatientReferralAct)) - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::PatientReferralAct)).oclAsType(consol::PatientReferralAct) - - + + @@ -34386,42 +34386,42 @@ Imaging results are typically generated by a clinician reviewing the output of a Procedure results are typically generated by a clinician to provide more granular information about component observations made during a procedure, such as where a gastroenterologist reports the size of a polyp observed during a colonoscopy. </p> - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.3' and id.extension = '2015-08-01') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '30954-2' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.organizer.oclIsUndefined() and entry.organizer.oclIsKindOf(consol::ResultOrganizer2)) - - - + + + OCL self.getOrganizers()->select(organizer : cda::Organizer | not organizer.oclIsUndefined() and organizer.oclIsKindOf(consol::ResultOrganizer2)).oclAsType(consol::ResultOrganizer2) - - + + @@ -34429,144 +34429,144 @@ value.code = '30954-2' and value.codeSystem = '2.16.840.1.113883.6.1') This section contains social history data that influence a patient's physical, psychological or emotional health (e.g., smoking status, pregnancy). Demographic data, such as marital status, race, ethnicity, and religious affiliation, is captured in the header. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.17' and id.extension.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '29762-2') - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::SocialHistoryObservation2)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::SmokingStatusMeaningfulUse2)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::TobaccoUse2)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::CaregiverCharacteristics)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::CulturalAndReligiousObservation)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::CharacteristicsOfHomeEnvironment)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::BirthSexObservation)) - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::SocialHistoryObservation2)).oclAsType(consol::SocialHistoryObservation2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::SmokingStatusMeaningfulUse2)).oclAsType(consol::SmokingStatusMeaningfulUse2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::TobaccoUse2)).oclAsType(consol::TobaccoUse2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::CaregiverCharacteristics)).oclAsType(consol::CaregiverCharacteristics) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::CulturalAndReligiousObservation)).oclAsType(consol::CulturalAndReligiousObservation) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::CharacteristicsOfHomeEnvironment)).oclAsType(consol::CharacteristicsOfHomeEnvironment) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::BirthSexObservation)).oclAsType(consol::BirthSexObservation) - - + + @@ -34579,42 +34579,42 @@ The Vital Signs Section contains relevant vital signs for the context and use ca Vital signs are represented in the same way as other results, but are aggregated into their own section to follow clinical conventions. </p> - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.4' and id.extension = '2015-08-01') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '8716-3' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.organizer.oclIsUndefined() and entry.organizer.oclIsKindOf(consol::VitalSignsOrganizer2)) - - - + + + OCL self.getOrganizers()->select(organizer : cda::Organizer | not organizer.oclIsUndefined() and organizer.oclIsKindOf(consol::VitalSignsOrganizer2)).oclAsType(consol::VitalSignsOrganizer2) - - + + @@ -34630,59 +34630,59 @@ The most recent directives are required, if known, and should be listed in as mu This section differentiates between "advance directives" and "advance directive documents". The former is the directions to be followed whereas the latter refers to a legal document containing those directions. </p> - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.21' and id.extension = '2015-08-01') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '42348-3' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.organizer.oclIsUndefined() and entry.organizer.oclIsKindOf(consol::AdvanceDirectiveOrganizer)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::AdvanceDirectiveObservation2)) - - - + + + OCL self.getOrganizers()->select(organizer : cda::Organizer | not organizer.oclIsUndefined() and organizer.oclIsKindOf(consol::AdvanceDirectiveOrganizer)).oclAsType(consol::AdvanceDirectiveOrganizer) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::AdvanceDirectiveObservation2)).oclAsType(consol::AdvanceDirectiveObservation2) - - + + @@ -34696,42 +34696,42 @@ value.code = '42348-3' and value.codeSystem = '2.16.840.1.113883.6.1') true - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.1' and id.extension = '2014-06-09') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '10160-0' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.substanceAdministration.oclIsUndefined() and entry.substanceAdministration.oclIsKindOf(consol::MedicationActivity2)) - - - + + + OCL self.getSubstanceAdministrations()->select(substanceAdministration : cda::SubstanceAdministration | not substanceAdministration.oclIsUndefined() and substanceAdministration.oclIsKindOf(consol::MedicationActivity2)).oclAsType(consol::MedicationActivity2) - - + + @@ -34739,59 +34739,59 @@ value.code = '10160-0' and value.codeSystem = '2.16.840.1.113883.6.1') This section lists and describes all relevant clinical problems at the time the document is generated. At a minimum, all pertinent current and historical problems should be listed. Overall health status may be represented in this section. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.5' and id.extension = '2015-08-01') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '11450-4' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::ProblemConcernAct2)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->one(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::HealthStatusObservation2)) - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::ProblemConcernAct2)).oclAsType(consol::ProblemConcernAct2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::HealthStatusObservation2))->asSequence()->any(true).oclAsType(consol::HealthStatusObservation2) - - + + @@ -34813,95 +34813,95 @@ This section differentiates between "advance directives" and "adv self.nullFlavor <> vocab::NullFlavor::NI implies self.getObservations()->exists(obs : cda::Observation | obs.oclIsKindOf(consol::AdvanceDirectiveObservation2)) or self.getOrganizers()->exists(org : cda::Organizer | org.oclIsKindOf(consol::AdvanceDirectiveOrganizer)) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.21.1' and id.extension = '2015-08-01') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '42348-3' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL true - - + + OCL true - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.oclIsUndefined() and entry.oclIsKindOf(cda::Entry)) - - + + OCL self.entry->excluding(null)->reject(nullFlavor <> vocab::NullFlavor::NI implies (observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::AdvanceDirectiveObservation2) xor organizer.oclIsUndefined() and entry.organizer.oclIsKindOf(consol::AdvanceDirectiveOrganizer))) - - + + OCL self.entry->excluding(null)->reject(organizer->one(organizer : cda::Organizer | not organizer.oclIsUndefined() and organizer.oclIsKindOf(consol::AdvanceDirectiveOrganizer))) - - + + OCL self.entry->excluding(null)->reject(observation->one(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::AdvanceDirectiveObservation2))) - - - + + + OCL self.getOrganizers()->select(organizer : cda::Organizer | not organizer.oclIsUndefined() and organizer.oclIsKindOf(consol::AdvanceDirectiveOrganizer)).oclAsType(consol::AdvanceDirectiveOrganizer) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::AdvanceDirectiveObservation2)).oclAsType(consol::AdvanceDirectiveObservation2) - - + + @@ -34909,42 +34909,42 @@ value.code = '42348-3' and value.codeSystem = '2.16.840.1.113883.6.1') This section lists and describes any medication allergies, adverse reactions, idiosyncratic reactions, anaphylaxis/anaphylactoid reactions to food items, and metabolic variations or adverse reactions/allergies to other substances (such as latex, iodine, tape adhesives). At a minimum, it should list currently active and any relevant historical allergies and adverse reactions. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.6' and id.extension = '2015-08-01') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '48765-2' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::AllergyConcernAct2)) - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::AllergyConcernAct2)).oclAsType(consol::AllergyConcernAct2) - - + + @@ -34952,60 +34952,60 @@ value.code = '48765-2' and value.codeSystem = '2.16.840.1.113883.6.1') This section lists and describes any medication allergies, adverse reactions, idiosyncratic reactions, anaphylaxis/anaphylactoid reactions to food items, and metabolic variations or adverse reactions/allergies to other substances (such as latex, iodine, tape adhesives). At a minimum, it should list currently active and any relevant historical allergies and adverse reactions. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.6.1' and id.extension = '2015-08-01') - - + + OCL isDefined('nullFlavor') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '48765-2' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::AllergyConcernAct2)) - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::AllergyConcernAct2)).oclAsType(consol::AllergyConcernAct2) - - + + @@ -35013,60 +35013,60 @@ value.code = '48765-2' and value.codeSystem = '2.16.840.1.113883.6.1') This section lists and describes any healthcare encounters pertinent to the patient's current health status or historical health history. An encounter is an interaction, regardless of the setting, between a patient and a practitioner who is vested with primary responsibility for diagnosing, evaluating, or treating the patient's condition. It may include visits, appointments, as well as non-face-to-face interactions. It is also a contact between a patient and a practitioner who has primary responsibility (exercising independent judgment) for assessing and treating the patient at a given contact. This section may contain all encounters for the time period being summarized, but should include notable encounters. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.22.1' and id.extension = '2015-08-01') - - + + OCL isDefined('nullFlavor') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '46240-8' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL not self.text.oclIsUndefined() - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.encounter.oclIsUndefined() and entry.encounter.oclIsKindOf(consol::EncounterActivity2)) - - - + + + OCL self.getEncounters()->select(encounter : cda::Encounter | not encounter.oclIsUndefined() and encounter.oclIsKindOf(consol::EncounterActivity2)).oclAsType(consol::EncounterActivity2) - - + + @@ -35074,74 +35074,74 @@ value.code = '46240-8' and value.codeSystem = '2.16.840.1.113883.6.1') This section contains the medications the patient is intended to take or stop after discharge. Current, active medications must be listed. The section may also include a patient's prescription history and indicate the source of the medication list. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.11.1' and id.extension = '2015-08-01') - - + + OCL isDefined('nullFlavor') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '10183-2' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::DischargeMedication2)) - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((translation->isEmpty() or translation->exists(element | element.isNullFlavorUndefined())) implies (translation->size() = 1 and translation->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.code = '75311-1' and value.codeSystem = '2.16.840.1.113883.6.1')) ))) - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((translation->isEmpty() or translation->exists(element | element.isNullFlavorUndefined())) implies (translation->size() = 1) ))) - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::DischargeMedication2)).oclAsType(consol::DischargeMedication2) - - + + @@ -35149,60 +35149,60 @@ value.code = '75311-1' and value.codeSystem = '2.16.840.1.113883.6.1')) ))) The Immunizations Section defines a patient's current immunization status and pertinent immunization history. The primary use case for the Immunization Section is to enable communication of a patient's immunization status. The section should include current immunization status, and may contain the entire immunization history that is relevant to the period of time being summarized. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.2.1' and id.extension = '2015-08-01') - - + + OCL isDefined('nullFlavor') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '11369-6' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.substanceAdministration.oclIsUndefined() and entry.substanceAdministration.oclIsKindOf(consol::ImmunizationActivity2)) - - - + + + OCL self.getSubstanceAdministrations()->select(substanceAdministration : cda::SubstanceAdministration | not substanceAdministration.oclIsUndefined() and substanceAdministration.oclIsKindOf(consol::ImmunizationActivity2)).oclAsType(consol::ImmunizationActivity2) - - + + @@ -35211,60 +35211,60 @@ value.code = '11369-6' and value.codeSystem = '2.16.840.1.113883.6.1') The Medications Section contains a patient's current medications and pertinent medication history. At a minimum, the currently active medications are listed. An entire medication history is an option. The section can describe a patient's prescription and dispense history and information about intended drug monitoring. This section requires either an entry indicating the subject is not known to be on any medications or entries summarizing the subject's medications. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.1.1' and id.extension = '2014-06-09') - - + + OCL isDefined('nullFlavor') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '10160-0' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.substanceAdministration.oclIsUndefined() and entry.substanceAdministration.oclIsKindOf(consol::MedicationActivity2)) - - - + + + OCL self.getSubstanceAdministrations()->select(substanceAdministration : cda::SubstanceAdministration | not substanceAdministration.oclIsUndefined() and substanceAdministration.oclIsKindOf(consol::MedicationActivity2)).oclAsType(consol::MedicationActivity2) - - + + @@ -35272,77 +35272,77 @@ value.code = '10160-0' and value.codeSystem = '2.16.840.1.113883.6.1') This section lists and describes all relevant clinical problems at the time the document is generated. At a minimum, all pertinent current and historical problems should be listed. Overall health status may be represented in this section. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.5.1' and id.extension = '2015-08-01') - - + + OCL isDefined('nullFlavor') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '11450-4' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::ProblemConcernAct2)) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->one(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::HealthStatusObservation2)) - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::ProblemConcernAct2)).oclAsType(consol::ProblemConcernAct2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::HealthStatusObservation2))->asSequence()->any(true).oclAsType(consol::HealthStatusObservation2) - - + + @@ -35356,118 +35356,118 @@ value.code = '11450-4' and value.codeSystem = '2.16.840.1.113883.6.1') self.nullFlavor <> vocab::NullFlavor::NI implies self.getActs()->exists(a : cda::Act | a.oclIsKindOf(consol::ProcedureActivityAct)) or self.getObservations()->exists(o : cda::Observation | o.oclIsKindOf(consol::ProcedureActivityObservation)) or self.getProcedures()->exists(p : cda::Procedure | p.oclIsKindOf(consol::ProcedureActivityProcedure)) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.7.1' and id.extension = '2014-06-09') - - + + OCL isDefined('nullFlavor') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '47519-4' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL true - - + + OCL true - - + + OCL true - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.oclIsUndefined() and entry.oclIsKindOf(cda::Entry)) - - + + OCL self.entry->excluding(null)->reject(act->one(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::ProcedureActivityAct2))) - - + + OCL self.entry->excluding(null)->reject(observation->one(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ProcedureActivityObservation2))) - - + + OCL self.entry->excluding(null)->reject(procedure->one(procedure : cda::Procedure | not procedure.oclIsUndefined() and procedure.oclIsKindOf(consol::ProcedureActivityProcedure2))) - - - + + + OCL self.getProcedures()->select(procedure : cda::Procedure | not procedure.oclIsUndefined() and procedure.oclIsKindOf(consol::ProcedureActivityProcedure2)).oclAsType(consol::ProcedureActivityProcedure2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ProcedureActivityObservation2)).oclAsType(consol::ProcedureActivityObservation2) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::ProcedureActivityAct2)).oclAsType(consol::ProcedureActivityAct2) - - + + @@ -35486,60 +35486,60 @@ Imaging results are typically generated by a clinician reviewing the output of a Procedure results are typically generated by a clinician to provide more granular information about component observations made during a procedure, such as where a gastroenterologist reports the size of a polyp observed during a colonoscopy. </p> - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.3.1' and id.extension = '2015-08-01') - - + + OCL isDefined('nullFlavor') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '30954-2' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.organizer.oclIsUndefined() and entry.organizer.oclIsKindOf(consol::ResultOrganizer2)) - - - + + + OCL self.getOrganizers()->select(organizer : cda::Organizer | not organizer.oclIsUndefined() and organizer.oclIsKindOf(consol::ResultOrganizer2)).oclAsType(consol::ResultOrganizer2) - - + + @@ -35552,60 +35552,60 @@ The Vital Signs Section contains relevant vital signs for the context and use ca Vital signs are represented in the same way as other results, but are aggregated into their own section to follow clinical conventions. </p> - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.4.1' and id.extension = '2015-08-01') - - + + OCL isDefined('nullFlavor') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '8716-3' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.organizer.oclIsUndefined() and entry.organizer.oclIsKindOf(consol::VitalSignsOrganizer2)) - - - + + + OCL self.getOrganizers()->select(organizer : cda::Organizer | not organizer.oclIsUndefined() and organizer.oclIsKindOf(consol::VitalSignsOrganizer2)).oclAsType(consol::VitalSignsOrganizer2) - - + + @@ -35642,612 +35642,612 @@ A Consultation Note includes the reason for the referral, history of present ill (self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PlanOfTreatmentSection2)) and self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AssessmentSection))) xor self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AssessmentAndPlanSection)) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.1.4' and id.extension = '2015-08-01') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in 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')) - - + + OCL self.participant->select(participant : cda::Participant1 | not participant.oclIsUndefined() and participant.oclIsKindOf(cda::Participant1))->select(typeCode = vocab::ParticipationType::CALLBCK)->notEmpty() - - + + OCL self.inFulfillmentOf->exists(inFulfillmentOf : cda::InFulfillmentOf | not inFulfillmentOf.oclIsUndefined() and inFulfillmentOf.oclIsKindOf(cda::InFulfillmentOf)) - - + + OCL self.componentOf->one(componentOf : cda::Component1 | not componentOf.oclIsUndefined() and componentOf.oclIsKindOf(cda::Component1)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AssessmentSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AssessmentAndPlanSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PlanOfTreatmentSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReasonForVisitSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HistoryOfPresentIllnessSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PhysicalExamSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AllergiesSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintAndReasonForVisitSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::GeneralStatusSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HistoryOfPastIllnessSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ImmunizationsSectionEntriesOptional2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MedicationsSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProblemSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProceduresSectionEntriesOptional2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ResultsSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::SocialHistorySection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::VitalSignsSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AdvanceDirectivesSectionEntriesOptional2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::FunctionalStatusSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReviewOfSystemsSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MedicalEquipmentSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MentalStatusSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::NutritionSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::FamilyHistorySection2)) - - + + OCL self.participant->excluding(null)->select(typeCode = vocab::ParticipationType::CALLBCK).associatedEntity->excluding(null).associatedPerson->excluding(null)->reject((name->isEmpty() or name->exists(element | element.isNullFlavorUndefined())) implies (( not name->isEmpty()) )) - - + + OCL self.participant->excluding(null)->select(typeCode = vocab::ParticipationType::CALLBCK).associatedEntity->excluding(null)->reject(classCode=vocab::RoleClassAssociative::ASSIGNED) - - + + OCL self.participant->excluding(null)->select(typeCode = vocab::ParticipationType::CALLBCK).associatedEntity->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (( not id->isEmpty()) )) - - + + OCL self.participant->excluding(null)->select(typeCode = vocab::ParticipationType::CALLBCK).associatedEntity->excluding(null)->reject((addr->isEmpty() or addr->exists(element | element.isNullFlavorUndefined())) implies (not addr->isEmpty())) - - + + OCL self.participant->excluding(null)->select(typeCode = vocab::ParticipationType::CALLBCK).associatedEntity->excluding(null)->reject((telecom->isEmpty() or telecom->exists(element | element.isNullFlavorUndefined())) implies (( not telecom->isEmpty()) )) - - + + OCL self.participant->excluding(null)->select(typeCode = vocab::ParticipationType::CALLBCK).associatedEntity->excluding(null)->reject(associatedPerson->one(associatedPerson : cda::Person | not associatedPerson.oclIsUndefined() and associatedPerson.oclIsKindOf(cda::Person))) - - + + OCL self.participant->excluding(null)->select(typeCode = vocab::ParticipationType::CALLBCK).associatedEntity->excluding(null)->reject(scopingOrganization->one(scopingOrganization : cda::Organization | not scopingOrganization.oclIsUndefined() and scopingOrganization.oclIsKindOf(rim::Entity))) - - + + OCL self.participant->excluding(null)->select(typeCode = vocab::ParticipationType::CALLBCK)->select(typeCode = vocab::ParticipationType::CALLBCK)->reject(typeCode=vocab::ParticipationType::CALLBCK) - - + + OCL self.participant->excluding(null)->select(typeCode = vocab::ParticipationType::CALLBCK)->select(typeCode = vocab::ParticipationType::CALLBCK)->reject(associatedEntity->one(associatedEntity : cda::AssociatedEntity | not associatedEntity.oclIsUndefined() and associatedEntity.oclIsKindOf(cda::AssociatedEntity))) - - + + OCL self.inFulfillmentOf->excluding(null).order->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (not id->isEmpty())) - - + + OCL self.inFulfillmentOf->excluding(null)->reject(order->one(order : cda::Order | not order.oclIsUndefined() and order.oclIsKindOf(cda::Order))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() implies ((not value.oclIsUndefined() implies value.size() >= 8) and ((not low.value.oclIsUndefined() and low.isNullFlavorUndefined() implies low.value.size() >= 8) and (not high.value.oclIsUndefined() and high.isNullFlavorUndefined() implies high.value.size() >= 8)))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() implies ((not value.oclIsUndefined() implies value.size() >= 12) and ((not low.value.oclIsUndefined() and low.isNullFlavorUndefined() implies low.value.size() >= 12) and (not high.value.oclIsUndefined() and high.isNullFlavorUndefined() implies high.value.size() >= 12)))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() implies ((not value.oclIsUndefined() implies value.size() >= 14) and ((not low.value.oclIsUndefined() and low.isNullFlavorUndefined() implies low.value.size() >= 14) and (not high.value.oclIsUndefined() and high.isNullFlavorUndefined() implies high.value.size() >= 14)))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject((not value.oclIsUndefined() and value.size() > 8 implies value.size() >= 15) and ((not low.value.oclIsUndefined() and low.value.size() > 8 implies low.value.size() >= 15) and (not high.value.oclIsUndefined() and high.value.size() > 8 implies high.value.size() >= 15))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).responsibleParty->excluding(null)->reject(not assignedEntity.assignedPerson.oclIsUndefined() or not assignedEntity.representedOrganization->isEmpty()) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).responsibleParty->excluding(null)->reject(assignedEntity->one(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(rim::Role))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).encounterParticipant->excluding(null)->reject(not assignedEntity.assignedPerson.oclIsUndefined() or not assignedEntity.representedOrganization->isEmpty()) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).encounterParticipant->excluding(null)->reject(assignedEntity->one(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(rim::Role))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (( not id->isEmpty()) )) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject((effectiveTime.oclIsUndefined() or effectiveTime.isNullFlavorUndefined()) implies (not effectiveTime.oclIsUndefined())) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject(responsibleParty->one(responsibleParty : cda::ResponsibleParty | not responsibleParty.oclIsUndefined() and responsibleParty.oclIsKindOf(cda::ResponsibleParty))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject(encounterParticipant->exists(encounterParticipant : cda::EncounterParticipant | not encounterParticipant.oclIsUndefined() and encounterParticipant.oclIsKindOf(cda::EncounterParticipant))) - - + + OCL self.componentOf->excluding(null)->reject(encompassingEncounter->one(encompassingEncounter : cda::EncompassingEncounter | not encompassingEncounter.oclIsUndefined() and encompassingEncounter.oclIsKindOf(cda::EncompassingEncounter))) - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AssessmentSection))->asSequence()->any(true).oclAsType(consol::AssessmentSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AssessmentAndPlanSection2))->asSequence()->any(true).oclAsType(consol::AssessmentAndPlanSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PlanOfTreatmentSection2))->asSequence()->any(true).oclAsType(consol::PlanOfTreatmentSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReasonForVisitSection))->asSequence()->any(true).oclAsType(consol::ReasonForVisitSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HistoryOfPresentIllnessSection))->asSequence()->any(true).oclAsType(consol::HistoryOfPresentIllnessSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PhysicalExamSection2))->asSequence()->any(true).oclAsType(consol::PhysicalExamSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AllergiesSection2))->asSequence()->any(true).oclAsType(consol::AllergiesSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintSection))->asSequence()->any(true).oclAsType(consol::ChiefComplaintSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintAndReasonForVisitSection))->asSequence()->any(true).oclAsType(consol::ChiefComplaintAndReasonForVisitSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::GeneralStatusSection))->asSequence()->any(true).oclAsType(consol::GeneralStatusSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HistoryOfPastIllnessSection2))->asSequence()->any(true).oclAsType(consol::HistoryOfPastIllnessSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ImmunizationsSectionEntriesOptional2))->asSequence()->any(true).oclAsType(consol::ImmunizationsSectionEntriesOptional2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MedicationsSection2))->asSequence()->any(true).oclAsType(consol::MedicationsSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProblemSection2))->asSequence()->any(true).oclAsType(consol::ProblemSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProceduresSectionEntriesOptional2))->asSequence()->any(true).oclAsType(consol::ProceduresSectionEntriesOptional2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ResultsSection2))->asSequence()->any(true).oclAsType(consol::ResultsSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::SocialHistorySection2))->asSequence()->any(true).oclAsType(consol::SocialHistorySection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::VitalSignsSection2))->asSequence()->any(true).oclAsType(consol::VitalSignsSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AdvanceDirectivesSectionEntriesOptional2))->asSequence()->any(true).oclAsType(consol::AdvanceDirectivesSectionEntriesOptional2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::FunctionalStatusSection2))->asSequence()->any(true).oclAsType(consol::FunctionalStatusSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReviewOfSystemsSection))->asSequence()->any(true).oclAsType(consol::ReviewOfSystemsSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MedicalEquipmentSection2))->asSequence()->any(true).oclAsType(consol::MedicalEquipmentSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MentalStatusSection))->asSequence()->any(true).oclAsType(consol::MentalStatusSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::NutritionSection))->asSequence()->any(true).oclAsType(consol::NutritionSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::FamilyHistorySection2))->asSequence()->any(true).oclAsType(consol::FamilyHistorySection2) - - + + @@ -36264,410 +36264,410 @@ The primary use case for the CCD is to provide a snapshot in time containing the More specific use cases, such as a Discharge Summary, Transfer Summary, Referral Note, Consultation Note, or Progress Note, are available as alternative documents in this guide. </p> - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.1.2' and id.extension = '2015-08-01') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '34133-9' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL self.author->exists(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(cda::Author)) - - + + OCL self.documentationOf->one(documentationOf : cda::DocumentationOf | not documentationOf.oclIsUndefined() and documentationOf.oclIsKindOf(cda::DocumentationOf)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AllergiesSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MedicationsSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProblemSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProceduresSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ResultsSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AdvanceDirectivesSectionEntriesOptional2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::EncountersSectionEntriesOptional2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::FunctionalStatusSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ImmunizationsSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MedicalEquipmentSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PayersSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PlanOfTreatmentSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::SocialHistorySection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::VitalSignsSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MentalStatusSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::NutritionSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::FamilyHistorySection2)) - - + + OCL self.author->excluding(null).assignedAuthor->excluding(null)->reject(not assignedPerson.oclIsUndefined() or (not assignedAuthoringDevice.oclIsUndefined() and not representedOrganization.oclIsUndefined())) - - + + OCL self.author->excluding(null).assignedAuthor->excluding(null)->reject((not representedOrganization.oclIsUndefined() and assignedPerson.oclIsUndefined() and assignedAuthoringDevice.oclIsUndefined()) implies id->exists(id | not id.isNullFlavorUndefined() and id.nullFlavor = vocab::NullFlavor::NA)) - - + + OCL self.author->excluding(null)->reject(assignedAuthor->one(assignedAuthor : cda::AssignedAuthor | not assignedAuthor.oclIsUndefined() and assignedAuthor.oclIsKindOf(cda::AssignedAuthor))) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((low.oclIsUndefined() or low.isNullFlavorUndefined()) implies (not low.oclIsUndefined()) ))) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((high.oclIsUndefined() or high.isNullFlavorUndefined()) implies (not high.oclIsUndefined()) ))) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null)->select(typeCode = vocab::x_ServiceEventPerformer::PRF).assignedEntity->excluding(null)->reject((not assignedPerson.oclIsUndefined() and not id->isEmpty()) implies id->exists(id | (id.isNullFlavorDefined() and id.extension->isEmpty() and id.root->isEmpty()) or (id.isNullFlavorDefined() and id.root='2.16.840.1.113883.4.6') or (id.root='2.16.840.1.113883.4.6' and id.extension->size() = 1))) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null)->select(typeCode = vocab::x_ServiceEventPerformer::PRF).assignedEntity->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (not id->isEmpty())) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null)->select(typeCode = vocab::x_ServiceEventPerformer::PRF).assignedEntity->excluding(null)->reject(assignedPerson->one(assignedPerson : cda::Person | not assignedPerson.oclIsUndefined() and assignedPerson.oclIsKindOf(rim::Entity))) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null)->select(typeCode = vocab::x_ServiceEventPerformer::PRF)->select(typeCode = vocab::x_ServiceEventPerformer::PRF)->reject(typeCode=vocab::x_ServiceEventPerformer::PRF) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null)->select(typeCode = vocab::x_ServiceEventPerformer::PRF)->select(typeCode = vocab::x_ServiceEventPerformer::PRF)->reject(assignedEntity->one(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(cda::AssignedEntity))) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject(isDefined('classCode') and classCode=vocab::ActClassRoot::PCPR) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject((effectiveTime.oclIsUndefined() or effectiveTime.isNullFlavorUndefined()) implies (not effectiveTime.oclIsUndefined())) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject(performer->select(performer : cda::Performer1 | not performer.oclIsUndefined() and performer.oclIsKindOf(cda::Performer1))->select(typeCode = vocab::x_ServiceEventPerformer::PRF)->notEmpty()) - - + + OCL self.documentationOf->excluding(null)->reject(serviceEvent->one(serviceEvent : cda::ServiceEvent | not serviceEvent.oclIsUndefined() and serviceEvent.oclIsKindOf(cda::ServiceEvent))) - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AllergiesSection2))->asSequence()->any(true).oclAsType(consol::AllergiesSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MedicationsSection2))->asSequence()->any(true).oclAsType(consol::MedicationsSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProblemSection2))->asSequence()->any(true).oclAsType(consol::ProblemSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProceduresSection2))->asSequence()->any(true).oclAsType(consol::ProceduresSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ResultsSection2))->asSequence()->any(true).oclAsType(consol::ResultsSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AdvanceDirectivesSectionEntriesOptional2))->asSequence()->any(true).oclAsType(consol::AdvanceDirectivesSectionEntriesOptional2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::EncountersSectionEntriesOptional2))->asSequence()->any(true).oclAsType(consol::EncountersSectionEntriesOptional2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::FunctionalStatusSection2))->asSequence()->any(true).oclAsType(consol::FunctionalStatusSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ImmunizationsSection2))->asSequence()->any(true).oclAsType(consol::ImmunizationsSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MedicalEquipmentSection2))->asSequence()->any(true).oclAsType(consol::MedicalEquipmentSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PayersSection2))->asSequence()->any(true).oclAsType(consol::PayersSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PlanOfTreatmentSection2))->asSequence()->any(true).oclAsType(consol::PlanOfTreatmentSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::SocialHistorySection2))->asSequence()->any(true).oclAsType(consol::SocialHistorySection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::VitalSignsSection2))->asSequence()->any(true).oclAsType(consol::VitalSignsSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MentalStatusSection))->asSequence()->any(true).oclAsType(consol::MentalStatusSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::NutritionSection))->asSequence()->any(true).oclAsType(consol::NutritionSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::FamilyHistorySection2))->asSequence()->any(true).oclAsType(consol::FamilyHistorySection2) - - + + @@ -36675,367 +36675,367 @@ value.code = '34133-9' and value.codeSystem = '2.16.840.1.113883.6.1') A Diagnostic Imaging Report (DIR) is a document that contains a consulting specialist's interpretation of image data. It conveys the interpretation to the referring (ordering) physician and becomes part of the patient's medical record. It is for use in Radiology, Endoscopy, Cardiology, and other imaging specialties. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.1.5' and id.extension = '2015-08-01') - - + + OCL (self.id.oclIsUndefined() or self.id.isNullFlavorUndefined()) implies (not self.id.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.6.1' and not value.code.oclIsUndefined()) - - + + OCL self.informationRecipient->exists(informationRecipient : cda::InformationRecipient | not informationRecipient.oclIsUndefined() and informationRecipient.oclIsKindOf(rim::Participation)) - - + + OCL self.participant->one(participant : cda::Participant1 | not participant.oclIsUndefined() and participant.oclIsKindOf(cda::Participant1)) - - + + OCL self.inFulfillmentOf->exists(inFulfillmentOf : cda::InFulfillmentOf | not inFulfillmentOf.oclIsUndefined() and inFulfillmentOf.oclIsKindOf(cda::InFulfillmentOf)) - - + + OCL self.documentationOf->one(documentationOf : cda::DocumentationOf | not documentationOf.oclIsUndefined() and documentationOf.oclIsKindOf(cda::DocumentationOf)) - - + + OCL self.relatedDocument->one(relatedDocument : cda::RelatedDocument | not relatedDocument.oclIsUndefined() and relatedDocument.oclIsKindOf(cda::RelatedDocument)) - - + + OCL self.componentOf->one(componentOf : cda::Component1 | not componentOf.oclIsUndefined() and componentOf.oclIsKindOf(cda::Component1)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::FindingsSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::DICOMObjectCatalogSection)) - - + + OCL self.component->one(component : cda::Component2 | not component.oclIsUndefined() and component.oclIsKindOf(cda::Component2)) - - + + OCL self.informant->select(informant : cda::Informant12 | not informant.oclIsUndefined() and informant.oclIsKindOf(rim::Participation))->isEmpty() - - + + OCL self.templateId->excluding(null)->select(isNullFlavorUndefined())->reject(id.root.size() <= 64) - - + + OCL self.templateId->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (not root.oclIsUndefined() ))) - - + + OCL self.participant->excluding(null).associatedEntity->excluding(null).associatedPerson->excluding(null)->reject((name->isEmpty() or name->exists(element | element.isNullFlavorUndefined())) implies (name->size() = 1)) - - + + OCL self.participant->excluding(null).associatedEntity->excluding(null)->reject(associatedPerson->one(associatedPerson : cda::Person | not associatedPerson.oclIsUndefined() and associatedPerson.oclIsKindOf(cda::Person))) - - + + OCL self.participant->excluding(null)->reject(associatedEntity->one(associatedEntity : cda::AssociatedEntity | not associatedEntity.oclIsUndefined() and associatedEntity.oclIsKindOf(cda::AssociatedEntity))) - - + + OCL self.inFulfillmentOf->excluding(null).order->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (not id->isEmpty())) - - + + OCL self.inFulfillmentOf->excluding(null)->reject(order->one(order : cda::Order | not order.oclIsUndefined() and order.oclIsKindOf(cda::Order))) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject(isDefined('classCode') and classCode=vocab::ActClassRoot::ACT) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (not id->isEmpty())) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject(performer->exists(performer : cda::Performer1 | not performer.oclIsUndefined() and performer.oclIsKindOf(consol::PhysicianReadingStudyPerformer2))) - - + + OCL self.documentationOf->excluding(null)->reject(serviceEvent->one(serviceEvent : cda::ServiceEvent | not serviceEvent.oclIsUndefined() and serviceEvent.oclIsKindOf(cda::ServiceEvent))) - - + + OCL self.relatedDocument->excluding(null).parentDocument->excluding(null).id->excluding(null)->select(isNullFlavorUndefined())->reject(not root.oclIsUndefined() implies root.size() <= 64) - - + + OCL self.relatedDocument->excluding(null).parentDocument->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (id->size() = 1)) - - + + OCL self.relatedDocument->excluding(null)->reject(parentDocument->one(parentDocument : cda::ParentDocument | not parentDocument.oclIsUndefined() and parentDocument.oclIsKindOf(cda::ParentDocument))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() implies ((not value.oclIsUndefined() implies value.size() >= 8) and ((not low.value.oclIsUndefined() and low.isNullFlavorUndefined() implies low.value.size() >= 8) and (not high.value.oclIsUndefined() and high.isNullFlavorUndefined() implies high.value.size() >= 8)))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() implies ((not value.oclIsUndefined() implies value.size() >= 12) and ((not low.value.oclIsUndefined() and low.isNullFlavorUndefined() implies low.value.size() >= 12) and (not high.value.oclIsUndefined() and high.isNullFlavorUndefined() implies high.value.size() >= 12)))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() implies ((not value.oclIsUndefined() implies value.size() >= 14) and ((not low.value.oclIsUndefined() and low.isNullFlavorUndefined() implies low.value.size() >= 14) and (not high.value.oclIsUndefined() and high.isNullFlavorUndefined() implies high.value.size() >= 14)))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject((not value.oclIsUndefined() and value.size() > 8 implies value.size() >= 15) and ((not low.value.oclIsUndefined() and low.value.size() > 8 implies low.value.size() >= 15) and (not high.value.oclIsUndefined() and high.value.size() > 8 implies high.value.size() >= 15))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).responsibleParty->excluding(null).assignedEntity->excluding(null)->reject(assignedPerson->size() = 1 or representedOrganization->size() = 1) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).responsibleParty->excluding(null)->reject(assignedEntity->one(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(cda::AssignedEntity))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (( not id->isEmpty()) )) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject((effectiveTime.oclIsUndefined() or effectiveTime.isNullFlavorUndefined()) implies (not effectiveTime.oclIsUndefined())) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject(responsibleParty->one(responsibleParty : cda::ResponsibleParty | not responsibleParty.oclIsUndefined() and responsibleParty.oclIsKindOf(cda::ResponsibleParty))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject(encounterParticipant->one(encounterParticipant : cda::EncounterParticipant | not encounterParticipant.oclIsUndefined() and encounterParticipant.oclIsKindOf(consol::PhysicianofRecordParticipant2))) - - + + OCL self.componentOf->excluding(null)->reject(encompassingEncounter->one(encompassingEncounter : cda::EncompassingEncounter | not encompassingEncounter.oclIsUndefined() and encompassingEncounter.oclIsKindOf(cda::EncompassingEncounter))) - - + + OCL self.component->excluding(null).structuredBody->excluding(null).component->excluding(null).section->excluding(null).subject->excluding(null)->reject(relatedSubject->one(relatedSubject : cda::RelatedSubject | not relatedSubject.oclIsUndefined() and relatedSubject.oclIsKindOf(consol::FetusSubjectContext))) - - + + OCL self.component->excluding(null).structuredBody->excluding(null).component->excluding(null).section->excluding(null)->reject(getAllSections()->forAll(section : cda::Section | not section.text.oclIsUndefined())) - - + + OCL self.component->excluding(null).structuredBody->excluding(null).component->excluding(null).section->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '1.2.840.10008.2.16.4' and not value.code.oclIsUndefined())) - - + + OCL self.component->excluding(null).structuredBody->excluding(null).component->excluding(null).section->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.component->excluding(null).structuredBody->excluding(null).component->excluding(null).section->excluding(null)->reject((title.oclIsUndefined() or title.isNullFlavorUndefined()) implies (not title.oclIsUndefined())) - - + + OCL self.component->excluding(null).structuredBody->excluding(null).component->excluding(null).section->excluding(null)->reject(not text.oclIsUndefined()) - - + + OCL self.component->excluding(null).structuredBody->excluding(null).component->excluding(null).section->excluding(null)->reject(nullFlavor <> vocab::NullFlavor::NI implies subject->exists(subject : cda::Subject | not subject.oclIsUndefined() and subject.oclIsKindOf(cda::Subject))) - - + + OCL self.component->excluding(null).structuredBody->excluding(null).component->excluding(null).section->excluding(null)->reject(nullFlavor <> vocab::NullFlavor::NI implies author->exists(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(cda::Author))) - - + + OCL self.component->excluding(null).structuredBody->excluding(null).component->excluding(null).section->excluding(null)->reject(nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.act.oclIsUndefined() and entry.act.oclIsKindOf(consol::ProcedureContext))) - - + + OCL self.component->excluding(null).structuredBody->excluding(null).component->excluding(null).section->excluding(null)->reject(nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::TextObservation))) - - + + OCL self.component->excluding(null).structuredBody->excluding(null).component->excluding(null).section->excluding(null)->reject(nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::CodeObservations))) - - + + OCL self.component->excluding(null).structuredBody->excluding(null).component->excluding(null).section->excluding(null)->reject(nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::QuantityMeasurementObservation))) - - + + OCL self.component->excluding(null).structuredBody->excluding(null).component->excluding(null).section->excluding(null)->reject(nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::SOPInstanceObservation))) - - + + OCL self.component->excluding(null).structuredBody->excluding(null).component->excluding(null)->reject(section->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(cda::Section))) - - + + OCL self.component->excluding(null).structuredBody->excluding(null)->reject(component->exists(component : cda::Component3 | not component.oclIsUndefined() and component.oclIsKindOf(cda::Component3))) - - + + OCL self.component->excluding(null)->reject(structuredBody->one(structuredBody : cda::StructuredBody | not structuredBody.oclIsUndefined() and structuredBody.oclIsKindOf(cda::StructuredBody))) - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::FindingsSection))->asSequence()->any(true).oclAsType(consol::FindingsSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::DICOMObjectCatalogSection))->asSequence()->any(true).oclAsType(consol::DICOMObjectCatalogSection) - - + + @@ -37064,600 +37064,600 @@ The best practice for a Discharge Summary is to include the discharge dispositio ( self.getAllSections()->exists(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintAndReasonForVisitSection)) ) implies not ( self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintSection)) or self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReasonForVisitSection)) ) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.1.8' and id.extension = '2015-08-01') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in 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')) - - + + OCL self.participant->exists(participant : cda::Participant1 | not participant.oclIsUndefined() and participant.oclIsKindOf(cda::Participant1)) - - + + OCL self.componentOf->one(componentOf : cda::Component1 | not componentOf.oclIsUndefined() and componentOf.oclIsKindOf(cda::Component1)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AllergiesSectionEntriesOptional2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HospitalCourseSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PlanOfTreatmentSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintAndReasonForVisitSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::NutritionSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::FunctionalStatusSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HistoryOfPastIllnessSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HistoryOfPresentIllnessSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HospitalConsultationsSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HospitalDischargeInstructionsSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HospitalDischargePhysicalSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HospitalDischargeStudiesSummarySection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ImmunizationsSectionEntriesOptional2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProblemSectionEntriesOptional2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProceduresSectionEntriesOptional2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReasonForVisitSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReviewOfSystemsSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::SocialHistorySection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::VitalSignsSectionEntriesOptional2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::DischargeDiagnosisSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::DischargeMedicationsSectionEntriesOptional2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::FamilyHistorySection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AdmissionDiagnosisSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AdmissionMedicationsSectionEntriesOptional2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::DischargeMedicationsSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::DischargeDietSection)) - - + + OCL self.participant->excluding(null)->reject(p : cda::Participant1 | p.typeCode = vocab::ParticipationType::IND and not ( p.associatedEntity.classCode = vocab::RoleClassAssociative::PRS or p.associatedEntity.classCode = vocab::RoleClassAssociative::NOK or p.associatedEntity.classCode = vocab::RoleClassAssociative::CAREGIVER or p.associatedEntity.classCode = vocab::RoleClassAssociative::AGNT or p.associatedEntity.classCode = vocab::RoleClassAssociative::GUAR or p.associatedEntity.classCode = vocab::RoleClassAssociative::ECON or p.associatedEntity.isNullFlavorDefined() ) or p.associatedEntity.oclIsUndefined()) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((low.oclIsUndefined() or low.isNullFlavorUndefined()) implies (not low.oclIsUndefined()) ))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((high.oclIsUndefined() or high.isNullFlavorUndefined()) implies (not high.oclIsUndefined()) ))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).encounterParticipant->excluding(null).assignedEntity->excluding(null)->reject(assignedPerson->one(assignedPerson : cda::Person | not assignedPerson.oclIsUndefined() and assignedPerson.oclIsKindOf(rim::Entity))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).encounterParticipant->excluding(null).assignedEntity->excluding(null)->reject(representedOrganization->one(representedOrganization : cda::Organization | not representedOrganization.oclIsUndefined() and representedOrganization.oclIsKindOf(rim::Entity))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).encounterParticipant->excluding(null)->reject(not assignedEntity.assignedPerson.oclIsUndefined() or not assignedEntity.representedOrganization->isEmpty()) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).encounterParticipant->excluding(null)->reject(assignedEntity->one(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(cda::AssignedEntity))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).responsibleParty->excluding(null).assignedEntity->excluding(null)->reject(assignedPerson->one(assignedPerson : cda::Person | not assignedPerson.oclIsUndefined() and assignedPerson.oclIsKindOf(rim::Entity))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).responsibleParty->excluding(null).assignedEntity->excluding(null)->reject(representedOrganization->one(representedOrganization : cda::Organization | not representedOrganization.oclIsUndefined() and representedOrganization.oclIsKindOf(rim::Entity))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).responsibleParty->excluding(null)->reject(not assignedEntity.assignedPerson.oclIsUndefined() or not assignedEntity.representedOrganization->isEmpty()) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).responsibleParty->excluding(null)->reject(assignedEntity->one(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(cda::AssignedEntity))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject((effectiveTime.oclIsUndefined() or effectiveTime.isNullFlavorUndefined()) implies (not effectiveTime.oclIsUndefined())) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject((dischargeDispositionCode.oclIsUndefined() or dischargeDispositionCode.isNullFlavorUndefined()) implies (not dischargeDispositionCode.oclIsUndefined() and dischargeDispositionCode.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = dischargeDispositionCode.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.6.301.5' and not value.code.oclIsUndefined())) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject((dischargeDispositionCode.oclIsUndefined() or dischargeDispositionCode.isNullFlavorUndefined()) implies (not dischargeDispositionCode.oclIsUndefined())) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject(encounterParticipant->one(encounterParticipant : cda::EncounterParticipant | not encounterParticipant.oclIsUndefined() and encounterParticipant.oclIsKindOf(cda::EncounterParticipant))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject(responsibleParty->one(responsibleParty : cda::ResponsibleParty | not responsibleParty.oclIsUndefined() and responsibleParty.oclIsKindOf(cda::ResponsibleParty))) - - + + OCL self.componentOf->excluding(null)->reject(encompassingEncounter->one(encompassingEncounter : cda::EncompassingEncounter | not encompassingEncounter.oclIsUndefined() and encompassingEncounter.oclIsKindOf(cda::EncompassingEncounter))) - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AllergiesSectionEntriesOptional2))->asSequence()->any(true).oclAsType(consol::AllergiesSectionEntriesOptional2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HospitalCourseSection))->asSequence()->any(true).oclAsType(consol::HospitalCourseSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PlanOfTreatmentSection2))->asSequence()->any(true).oclAsType(consol::PlanOfTreatmentSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintSection))->asSequence()->any(true).oclAsType(consol::ChiefComplaintSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintAndReasonForVisitSection))->asSequence()->any(true).oclAsType(consol::ChiefComplaintAndReasonForVisitSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::NutritionSection))->asSequence()->any(true).oclAsType(consol::NutritionSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::FunctionalStatusSection2))->asSequence()->any(true).oclAsType(consol::FunctionalStatusSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HistoryOfPastIllnessSection2))->asSequence()->any(true).oclAsType(consol::HistoryOfPastIllnessSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HistoryOfPresentIllnessSection))->asSequence()->any(true).oclAsType(consol::HistoryOfPresentIllnessSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HospitalConsultationsSection))->asSequence()->any(true).oclAsType(consol::HospitalConsultationsSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HospitalDischargeInstructionsSection))->asSequence()->any(true).oclAsType(consol::HospitalDischargeInstructionsSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HospitalDischargePhysicalSection))->asSequence()->any(true).oclAsType(consol::HospitalDischargePhysicalSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HospitalDischargeStudiesSummarySection))->asSequence()->any(true).oclAsType(consol::HospitalDischargeStudiesSummarySection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ImmunizationsSectionEntriesOptional2))->asSequence()->any(true).oclAsType(consol::ImmunizationsSectionEntriesOptional2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProblemSectionEntriesOptional2))->asSequence()->any(true).oclAsType(consol::ProblemSectionEntriesOptional2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProceduresSectionEntriesOptional2))->asSequence()->any(true).oclAsType(consol::ProceduresSectionEntriesOptional2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReasonForVisitSection))->asSequence()->any(true).oclAsType(consol::ReasonForVisitSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReviewOfSystemsSection))->asSequence()->any(true).oclAsType(consol::ReviewOfSystemsSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::SocialHistorySection2))->asSequence()->any(true).oclAsType(consol::SocialHistorySection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::VitalSignsSectionEntriesOptional2))->asSequence()->any(true).oclAsType(consol::VitalSignsSectionEntriesOptional2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::DischargeDiagnosisSection2))->asSequence()->any(true).oclAsType(consol::DischargeDiagnosisSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::DischargeMedicationsSectionEntriesOptional2))->asSequence()->any(true).oclAsType(consol::DischargeMedicationsSectionEntriesOptional2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::FamilyHistorySection2))->asSequence()->any(true).oclAsType(consol::FamilyHistorySection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AdmissionDiagnosisSection2))->asSequence()->any(true).oclAsType(consol::AdmissionDiagnosisSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AdmissionMedicationsSectionEntriesOptional2))->asSequence()->any(true).oclAsType(consol::AdmissionMedicationsSectionEntriesOptional2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::DischargeMedicationsSection2))->asSequence()->any(true).oclAsType(consol::DischargeMedicationsSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::DischargeDietSection))->asSequence()->any(true).oclAsType(consol::DischargeDietSection) - - + + @@ -37703,502 +37703,502 @@ A History and Physical Examination is required upon hospital admission as well a (self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintSection)) or self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReasonForVisitSection))) xor self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintAndReasonForVisitSection)) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.1.3' and id.extension = '2015-08-01') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.6.1' and (value.code = '34117-2' or value.code = '11492-6' or value.code = '28626-0' or value.code = '34774-0' or value.code = '34115-6' or value.code = '34116-4' or value.code = '34095-0' or value.code = '34096-8' or value.code = '51849-8' or value.code = '47039-3' or value.code = '34763-3' or value.code = '34094-3' or value.code = '34138-8')) - - + + OCL self.informationRecipient->exists(informationRecipient : cda::InformationRecipient | not informationRecipient.oclIsUndefined() and informationRecipient.oclIsKindOf(cda::InformationRecipient)) - - + + OCL self.participant->exists(participant : cda::Participant1 | not participant.oclIsUndefined() and participant.oclIsKindOf(cda::Participant1)) - - + + OCL self.inFulfillmentOf->exists(inFulfillmentOf : cda::InFulfillmentOf | not inFulfillmentOf.oclIsUndefined() and inFulfillmentOf.oclIsKindOf(rim::ActRelationship)) - - + + OCL self.componentOf->one(componentOf : cda::Component1 | not componentOf.oclIsUndefined() and componentOf.oclIsKindOf(cda::Component1)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AllergiesSectionEntriesOptional2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AssessmentSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PlanOfTreatmentSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AssessmentAndPlanSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintAndReasonForVisitSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::GeneralStatusSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HistoryOfPastIllnessSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HistoryOfPresentIllnessSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ImmunizationsSectionEntriesOptional2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::InstructionsSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MedicationsSectionEntriesOptional2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PhysicalExamSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProblemSectionEntriesOptional2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProceduresSectionEntriesOptional2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReasonForVisitSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ResultsSectionEntriesOptional2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReviewOfSystemsSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::SocialHistorySection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::VitalSignsSectionEntriesOptional2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::FamilyHistorySection2)) - - + + OCL self.informationRecipient->excluding(null)->reject(intendedRecipient->one(intendedRecipient : cda::IntendedRecipient | not intendedRecipient.oclIsUndefined() and intendedRecipient.oclIsKindOf(rim::Role))) - - + + OCL self.participant->excluding(null)->reject(p : cda::Participant1 | p.typeCode = vocab::ParticipationType::IND and not ( p.associatedEntity.classCode = vocab::RoleClassAssociative::PRS or p.associatedEntity.classCode = vocab::RoleClassAssociative::NOK or p.associatedEntity.classCode = vocab::RoleClassAssociative::CAREGIVER or p.associatedEntity.classCode = vocab::RoleClassAssociative::AGNT or p.associatedEntity.classCode = vocab::RoleClassAssociative::GUAR or p.associatedEntity.classCode = vocab::RoleClassAssociative::ECON or p.associatedEntity.isNullFlavorDefined() ) or p.associatedEntity.oclIsUndefined()) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() implies ((not value.oclIsUndefined() implies value.size() >= 8) and ((not low.value.oclIsUndefined() and low.isNullFlavorUndefined() implies low.value.size() >= 8) and (not high.value.oclIsUndefined() and high.isNullFlavorUndefined() implies high.value.size() >= 8)))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() implies ((not value.oclIsUndefined() implies value.size() >= 12) and ((not low.value.oclIsUndefined() and low.isNullFlavorUndefined() implies low.value.size() >= 12) and (not high.value.oclIsUndefined() and high.isNullFlavorUndefined() implies high.value.size() >= 12)))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject(isNullFlavorUndefined() implies ((not value.oclIsUndefined() implies value.size() >= 14) and ((not low.value.oclIsUndefined() and low.isNullFlavorUndefined() implies low.value.size() >= 14) and (not high.value.oclIsUndefined() and high.isNullFlavorUndefined() implies high.value.size() >= 14)))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject((not value.oclIsUndefined() and value.size() > 8 implies value.size() >= 15) and ((not low.value.oclIsUndefined() and low.value.size() > 8 implies low.value.size() >= 15) and (not high.value.oclIsUndefined() and high.value.size() > 8 implies high.value.size() >= 15))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).responsibleParty->excluding(null)->reject(not assignedEntity.assignedPerson.oclIsUndefined() or not assignedEntity.representedOrganization->isEmpty()) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).responsibleParty->excluding(null)->reject(assignedEntity->one(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(rim::Role))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).encounterParticipant->excluding(null)->reject(not assignedEntity.assignedPerson.oclIsUndefined() or not assignedEntity.representedOrganization->isEmpty()) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).encounterParticipant->excluding(null)->reject(assignedEntity->one(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(rim::Role))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (( not id->isEmpty()) )) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject((effectiveTime.oclIsUndefined() or effectiveTime.isNullFlavorUndefined()) implies (not effectiveTime.oclIsUndefined())) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject(responsibleParty->one(responsibleParty : cda::ResponsibleParty | not responsibleParty.oclIsUndefined() and responsibleParty.oclIsKindOf(cda::ResponsibleParty))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject(encounterParticipant->exists(encounterParticipant : cda::EncounterParticipant | not encounterParticipant.oclIsUndefined() and encounterParticipant.oclIsKindOf(cda::EncounterParticipant))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject(location->one(location : cda::Location | not location.oclIsUndefined() and location.oclIsKindOf(rim::Participation))) - - + + OCL self.componentOf->excluding(null)->reject(encompassingEncounter->one(encompassingEncounter : cda::EncompassingEncounter | not encompassingEncounter.oclIsUndefined() and encompassingEncounter.oclIsKindOf(cda::EncompassingEncounter))) - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AllergiesSectionEntriesOptional2))->asSequence()->any(true).oclAsType(consol::AllergiesSectionEntriesOptional2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AssessmentSection))->asSequence()->any(true).oclAsType(consol::AssessmentSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PlanOfTreatmentSection2))->asSequence()->any(true).oclAsType(consol::PlanOfTreatmentSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AssessmentAndPlanSection2))->asSequence()->any(true).oclAsType(consol::AssessmentAndPlanSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintSection))->asSequence()->any(true).oclAsType(consol::ChiefComplaintSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintAndReasonForVisitSection))->asSequence()->any(true).oclAsType(consol::ChiefComplaintAndReasonForVisitSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::GeneralStatusSection))->asSequence()->any(true).oclAsType(consol::GeneralStatusSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HistoryOfPastIllnessSection2))->asSequence()->any(true).oclAsType(consol::HistoryOfPastIllnessSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HistoryOfPresentIllnessSection))->asSequence()->any(true).oclAsType(consol::HistoryOfPresentIllnessSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ImmunizationsSectionEntriesOptional2))->asSequence()->any(true).oclAsType(consol::ImmunizationsSectionEntriesOptional2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::InstructionsSection2))->asSequence()->any(true).oclAsType(consol::InstructionsSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MedicationsSectionEntriesOptional2))->asSequence()->any(true).oclAsType(consol::MedicationsSectionEntriesOptional2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PhysicalExamSection2))->asSequence()->any(true).oclAsType(consol::PhysicalExamSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProblemSectionEntriesOptional2))->asSequence()->any(true).oclAsType(consol::ProblemSectionEntriesOptional2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProceduresSectionEntriesOptional2))->asSequence()->any(true).oclAsType(consol::ProceduresSectionEntriesOptional2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReasonForVisitSection))->asSequence()->any(true).oclAsType(consol::ReasonForVisitSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ResultsSectionEntriesOptional2))->asSequence()->any(true).oclAsType(consol::ResultsSectionEntriesOptional2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReviewOfSystemsSection))->asSequence()->any(true).oclAsType(consol::ReviewOfSystemsSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::SocialHistorySection2))->asSequence()->any(true).oclAsType(consol::SocialHistorySection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::VitalSignsSectionEntriesOptional2))->asSequence()->any(true).oclAsType(consol::VitalSignsSectionEntriesOptional2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::FamilyHistorySection2))->asSequence()->any(true).oclAsType(consol::FamilyHistorySection2) - - + + @@ -38211,445 +38211,445 @@ The Operative Note is a frequently used type of procedure note with specific req The Operative Note is created immediately following a surgical or other high-risk procedure. It records the pre- and post-surgical diagnosis, pertinent events of the procedure, as well as the condition of the patient following the procedure. The report should be sufficiently detailed to support the diagnoses, justify the treatment, document the course of the procedure, and provide continuity of care. </p> - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.1.7' and id.extension = '2015-08-01') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.6.1' and (value.code = '11504-8' or value.code = '34137-0' or value.code = '28583-3' or value.code = '28624-5' or value.code = '28573-4' or value.code = '34877-1' or value.code = '34874-8' or value.code = '34870-6' or value.code = '34868-0' or value.code = '34818-5')) - - + + OCL self.documentationOf->exists(documentationOf : cda::DocumentationOf | not documentationOf.oclIsUndefined() and documentationOf.oclIsKindOf(cda::DocumentationOf)) - - + + OCL self.authorization->one(authorization : cda::Authorization | not authorization.oclIsUndefined() and authorization.oclIsKindOf(cda::Authorization)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AnesthesiaSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ComplicationsSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PreoperativeDiagnosisSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureEstimatedBloodLossSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureFindingsSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureSpecimensTakenSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureDescriptionSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PostoperativeDiagnosisSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureImplantsSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::OperativeNoteFluidSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::OperativeNoteSurgicalProcedureSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PlanOfTreatmentSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PlannedProcedureSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureDispositionSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureIndicationsSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::SurgicalDrainsSection)) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((low.oclIsUndefined() or low.isNullFlavorUndefined()) implies (not low.oclIsUndefined()) ))) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null)->select(typeCode = vocab::x_ServiceEventPerformer::PPRF).assignedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null)->select(typeCode = vocab::x_ServiceEventPerformer::PPRF).assignedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.6.101' and not value.code.oclIsUndefined())) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null)->select(typeCode = vocab::x_ServiceEventPerformer::PPRF)->select(typeCode = vocab::x_ServiceEventPerformer::PPRF)->reject(typeCode=vocab::x_ServiceEventPerformer::PPRF) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null)->select(typeCode = vocab::x_ServiceEventPerformer::PPRF)->select(typeCode = vocab::x_ServiceEventPerformer::PPRF)->reject(assignedEntity->one(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(cda::AssignedEntity))) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null)->select(typeCode = vocab::x_ServiceEventPerformer::SPRF).assignedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null)->select(typeCode = vocab::x_ServiceEventPerformer::SPRF).assignedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.6.101' and not value.code.oclIsUndefined())) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null)->select(typeCode = vocab::x_ServiceEventPerformer::SPRF)->select(typeCode = vocab::x_ServiceEventPerformer::SPRF)->reject(typeCode=vocab::x_ServiceEventPerformer::SPRF) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null)->select(typeCode = vocab::x_ServiceEventPerformer::SPRF)->select(typeCode = vocab::x_ServiceEventPerformer::SPRF)->reject(assignedEntity->one(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(cda::AssignedEntity))) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject(not effectiveTime.width.oclIsUndefined() xor not effectiveTime.high.oclIsUndefined()) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject(not effectiveTime.width.oclIsUndefined() xor not effectiveTime.high.oclIsUndefined()) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject(code.codeSystem = '2.16.840.1.113883.6.104' or code.codeSystem = '2.16.840.1.113883.6.12' or code.codeSystem = '2.16.840.1.113883.6.96') - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject((effectiveTime.oclIsUndefined() or effectiveTime.isNullFlavorUndefined()) implies (not effectiveTime.oclIsUndefined())) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject(performer->select(performer : cda::Performer1 | not performer.oclIsUndefined() and performer.oclIsKindOf(cda::Performer1))->select(typeCode = vocab::x_ServiceEventPerformer::PPRF)->notEmpty()) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject(performer->select(performer : cda::Performer1 | not performer.oclIsUndefined() and performer.oclIsKindOf(cda::Performer1))->select(typeCode = vocab::x_ServiceEventPerformer::SPRF)->notEmpty()) - - + + OCL self.documentationOf->excluding(null)->reject(serviceEvent->one(serviceEvent : cda::ServiceEvent | not serviceEvent.oclIsUndefined() and serviceEvent.oclIsKindOf(cda::ServiceEvent))) - - + + OCL self.authorization->excluding(null).consent->excluding(null)->reject(isDefined('classCode') and classCode=vocab::ActClass::CONS) - - + + OCL self.authorization->excluding(null).consent->excluding(null)->reject(isDefined('moodCode') and moodCode=vocab::ActMood::EVN) - - + + OCL self.authorization->excluding(null).consent->excluding(null)->reject((statusCode.oclIsUndefined() or statusCode.isNullFlavorUndefined()) implies (not statusCode.oclIsUndefined())) - - + + OCL self.authorization->excluding(null)->reject(isDefined('typeCode') and typeCode=vocab::ActRelationshipType::AUTH) - - + + OCL self.authorization->excluding(null)->reject(consent->one(consent : cda::Consent | not consent.oclIsUndefined() and consent.oclIsKindOf(cda::Consent))) - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AnesthesiaSection2))->asSequence()->any(true).oclAsType(consol::AnesthesiaSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ComplicationsSection2))->asSequence()->any(true).oclAsType(consol::ComplicationsSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PreoperativeDiagnosisSection2))->asSequence()->any(true).oclAsType(consol::PreoperativeDiagnosisSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureEstimatedBloodLossSection))->asSequence()->any(true).oclAsType(consol::ProcedureEstimatedBloodLossSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureFindingsSection2))->asSequence()->any(true).oclAsType(consol::ProcedureFindingsSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureSpecimensTakenSection))->asSequence()->any(true).oclAsType(consol::ProcedureSpecimensTakenSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureDescriptionSection))->asSequence()->any(true).oclAsType(consol::ProcedureDescriptionSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PostoperativeDiagnosisSection))->asSequence()->any(true).oclAsType(consol::PostoperativeDiagnosisSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureImplantsSection))->asSequence()->any(true).oclAsType(consol::ProcedureImplantsSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::OperativeNoteFluidSection))->asSequence()->any(true).oclAsType(consol::OperativeNoteFluidSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::OperativeNoteSurgicalProcedureSection))->asSequence()->any(true).oclAsType(consol::OperativeNoteSurgicalProcedureSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PlanOfTreatmentSection2))->asSequence()->any(true).oclAsType(consol::PlanOfTreatmentSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PlannedProcedureSection2))->asSequence()->any(true).oclAsType(consol::PlannedProcedureSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureDispositionSection))->asSequence()->any(true).oclAsType(consol::ProcedureDispositionSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureIndicationsSection2))->asSequence()->any(true).oclAsType(consol::ProcedureIndicationsSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::SurgicalDrainsSection))->asSequence()->any(true).oclAsType(consol::SurgicalDrainsSection) - - + + @@ -38680,747 +38680,747 @@ The Procedure Note is created immediately following a non-operative procedure. I (self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintSection)) or self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReasonForVisitSection))) xor self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintAndReasonForVisitSection)) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.1.6' and id.extension = '2015-08-01') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.6.1' and (value.code = '28570-0' or value.code = '11505-5' or value.code = '18744-3' or value.code = '18745-0' or value.code = '18746-8' or value.code = '18751-8' or value.code = '18753-4' or value.code = '18836-7' or value.code = '28577-5' or value.code = '28625-2' or value.code = '29757-2' or value.code = '33721-2' or value.code = '34121-4' or value.code = '34896-1' or value.code = '34899-5' or value.code = '47048-4' or value.code = '48807-2')) - - + + OCL self.participant->select(participant : cda::Participant1 | not participant.oclIsUndefined() and participant.oclIsKindOf(cda::Participant1))->select(typeCode = vocab::ParticipationType::IND)->notEmpty() - - + + OCL self.documentationOf->exists(documentationOf : cda::DocumentationOf | not documentationOf.oclIsUndefined() and documentationOf.oclIsKindOf(cda::DocumentationOf)) - - + + OCL self.authorization->one(authorization : cda::Authorization | not authorization.oclIsUndefined() and authorization.oclIsKindOf(cda::Authorization)) - - + + OCL self.componentOf->one(componentOf : cda::Component1 | not componentOf.oclIsUndefined() and componentOf.oclIsKindOf(cda::Component1)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ComplicationsSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureDescriptionSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureIndicationsSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PostprocedureDiagnosisSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AssessmentSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AssessmentAndPlanSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PlanOfTreatmentSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AllergiesSectionEntriesOptional2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AnesthesiaSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintAndReasonForVisitSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::FamilyHistorySection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HistoryOfPastIllnessSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HistoryOfPresentIllnessSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MedicalHistorySection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MedicationsSectionEntriesOptional2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MedicationsAdministeredSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PhysicalExamSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PlannedProcedureSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureDispositionSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureEstimatedBloodLossSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureFindingsSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureImplantsSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureSpecimensTakenSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProceduresSectionEntriesOptional2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReasonForVisitSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReviewOfSystemsSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::SocialHistorySection2)) - - + + OCL self.participant->excluding(null)->select(typeCode = vocab::ParticipationType::IND).associatedEntity->excluding(null)->reject(classCode=vocab::RoleClassAssociative::PROV) - - + + OCL self.participant->excluding(null)->select(typeCode = vocab::ParticipationType::IND).associatedEntity->excluding(null)->reject(associatedPerson->one(associatedPerson : cda::Person | not associatedPerson.oclIsUndefined() and associatedPerson.oclIsKindOf(rim::Entity))) - - + + OCL self.participant->excluding(null)->select(typeCode = vocab::ParticipationType::IND)->select(typeCode = vocab::ParticipationType::IND)->reject(typeCode=vocab::ParticipationType::IND) - - + + OCL self.participant->excluding(null)->select(typeCode = vocab::ParticipationType::IND)->select(typeCode = vocab::ParticipationType::IND)->reject((functionCode.oclIsUndefined() or functionCode.isNullFlavorUndefined()) implies (not functionCode.oclIsUndefined() and functionCode.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = functionCode.oclAsType(datatypes::CE) in value.code = 'PCP' and value.codeSystem = '2.16.840.1.113883.5.88')) - - + + OCL self.participant->excluding(null)->select(typeCode = vocab::ParticipationType::IND)->select(typeCode = vocab::ParticipationType::IND)->reject((functionCode.oclIsUndefined() or functionCode.isNullFlavorUndefined()) implies (not functionCode.oclIsUndefined())) - - + + OCL self.participant->excluding(null)->select(typeCode = vocab::ParticipationType::IND)->select(typeCode = vocab::ParticipationType::IND)->reject(associatedEntity->one(associatedEntity : cda::AssociatedEntity | not associatedEntity.oclIsUndefined() and associatedEntity.oclIsKindOf(cda::AssociatedEntity))) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((low.oclIsUndefined() or low.isNullFlavorUndefined()) implies (not low.oclIsUndefined()) ))) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null)->select(typeCode = vocab::x_ServiceEventPerformer::PPRF).assignedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null)->select(typeCode = vocab::x_ServiceEventPerformer::PPRF).assignedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.6.101' and not value.code.oclIsUndefined())) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null)->select(typeCode = vocab::x_ServiceEventPerformer::PPRF)->select(typeCode = vocab::x_ServiceEventPerformer::PPRF)->reject(typeCode=vocab::x_ServiceEventPerformer::PPRF) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null)->select(typeCode = vocab::x_ServiceEventPerformer::PPRF)->select(typeCode = vocab::x_ServiceEventPerformer::PPRF)->reject(assignedEntity->one(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(cda::AssignedEntity))) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null)->select(typeCode = vocab::x_ServiceEventPerformer::SPRF).assignedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null)->select(typeCode = vocab::x_ServiceEventPerformer::SPRF).assignedEntity->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.6.101' and not value.code.oclIsUndefined())) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null)->select(typeCode = vocab::x_ServiceEventPerformer::SPRF)->select(typeCode = vocab::x_ServiceEventPerformer::SPRF)->reject(typeCode=vocab::x_ServiceEventPerformer::SPRF) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).performer->excluding(null)->select(typeCode = vocab::x_ServiceEventPerformer::SPRF)->select(typeCode = vocab::x_ServiceEventPerformer::SPRF)->reject(assignedEntity->one(assignedEntity : cda::AssignedEntity | not assignedEntity.oclIsUndefined() and assignedEntity.oclIsKindOf(cda::AssignedEntity))) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject(not effectiveTime.width.oclIsUndefined() xor not effectiveTime.high.oclIsUndefined()) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject(not effectiveTime.width.oclIsUndefined() xor not effectiveTime.high.oclIsUndefined()) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject(code.codeSystem = '2.16.840.1.113883.6.104' or code.codeSystem = '2.16.840.1.113883.6.12' or code.codeSystem = '2.16.840.1.113883.6.96') - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject((effectiveTime.oclIsUndefined() or effectiveTime.isNullFlavorUndefined()) implies (not effectiveTime.oclIsUndefined())) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject(performer->select(performer : cda::Performer1 | not performer.oclIsUndefined() and performer.oclIsKindOf(cda::Performer1))->select(typeCode = vocab::x_ServiceEventPerformer::PPRF)->notEmpty()) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject(performer->select(performer : cda::Performer1 | not performer.oclIsUndefined() and performer.oclIsKindOf(cda::Performer1))->select(typeCode = vocab::x_ServiceEventPerformer::SPRF)->notEmpty()) - - + + OCL self.documentationOf->excluding(null)->reject(serviceEvent->one(serviceEvent : cda::ServiceEvent | not serviceEvent.oclIsUndefined() and serviceEvent.oclIsKindOf(cda::ServiceEvent))) - - + + OCL self.authorization->excluding(null).consent->excluding(null)->reject(isDefined('classCode') and classCode=vocab::ActClass::CONS) - - + + OCL self.authorization->excluding(null).consent->excluding(null)->reject(isDefined('moodCode') and moodCode=vocab::ActMood::EVN) - - + + OCL self.authorization->excluding(null).consent->excluding(null)->reject((statusCode.oclIsUndefined() or statusCode.isNullFlavorUndefined()) implies (not statusCode.oclIsUndefined())) - - + + OCL self.authorization->excluding(null)->reject(isDefined('typeCode') and typeCode=vocab::ActRelationshipType::AUTH) - - + + OCL self.authorization->excluding(null)->reject(consent->one(consent : cda::Consent | not consent.oclIsUndefined() and consent.oclIsKindOf(cda::Consent))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).encounterParticipant->excluding(null)->reject(typeCode=vocab::x_EncounterParticipant::REF) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).location->excluding(null).healthCareFacility->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (( not id->isEmpty()) )) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).location->excluding(null)->reject(healthCareFacility->one(healthCareFacility : cda::HealthCareFacility | not healthCareFacility.oclIsUndefined() and healthCareFacility.oclIsKindOf(cda::HealthCareFacility))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (not id->isEmpty())) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject(encounterParticipant->one(encounterParticipant : cda::EncounterParticipant | not encounterParticipant.oclIsUndefined() and encounterParticipant.oclIsKindOf(cda::EncounterParticipant))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject(location->exists(location : cda::Location | not location.oclIsUndefined() and location.oclIsKindOf(cda::Location))) - - + + OCL self.componentOf->excluding(null)->reject(encompassingEncounter->one(encompassingEncounter : cda::EncompassingEncounter | not encompassingEncounter.oclIsUndefined() and encompassingEncounter.oclIsKindOf(cda::EncompassingEncounter))) - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ComplicationsSection2))->asSequence()->any(true).oclAsType(consol::ComplicationsSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureDescriptionSection))->asSequence()->any(true).oclAsType(consol::ProcedureDescriptionSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureIndicationsSection2))->asSequence()->any(true).oclAsType(consol::ProcedureIndicationsSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PostprocedureDiagnosisSection2))->asSequence()->any(true).oclAsType(consol::PostprocedureDiagnosisSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AssessmentSection))->asSequence()->any(true).oclAsType(consol::AssessmentSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AssessmentAndPlanSection2))->asSequence()->any(true).oclAsType(consol::AssessmentAndPlanSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PlanOfTreatmentSection2))->asSequence()->any(true).oclAsType(consol::PlanOfTreatmentSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AllergiesSectionEntriesOptional2))->asSequence()->any(true).oclAsType(consol::AllergiesSectionEntriesOptional2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AnesthesiaSection2))->asSequence()->any(true).oclAsType(consol::AnesthesiaSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintSection))->asSequence()->any(true).oclAsType(consol::ChiefComplaintSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintAndReasonForVisitSection))->asSequence()->any(true).oclAsType(consol::ChiefComplaintAndReasonForVisitSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::FamilyHistorySection2))->asSequence()->any(true).oclAsType(consol::FamilyHistorySection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HistoryOfPastIllnessSection2))->asSequence()->any(true).oclAsType(consol::HistoryOfPastIllnessSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::HistoryOfPresentIllnessSection))->asSequence()->any(true).oclAsType(consol::HistoryOfPresentIllnessSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MedicalHistorySection))->asSequence()->any(true).oclAsType(consol::MedicalHistorySection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MedicationsSectionEntriesOptional2))->asSequence()->any(true).oclAsType(consol::MedicationsSectionEntriesOptional2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MedicationsAdministeredSection2))->asSequence()->any(true).oclAsType(consol::MedicationsAdministeredSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PhysicalExamSection2))->asSequence()->any(true).oclAsType(consol::PhysicalExamSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PlannedProcedureSection2))->asSequence()->any(true).oclAsType(consol::PlannedProcedureSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureDispositionSection))->asSequence()->any(true).oclAsType(consol::ProcedureDispositionSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureEstimatedBloodLossSection))->asSequence()->any(true).oclAsType(consol::ProcedureEstimatedBloodLossSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureFindingsSection2))->asSequence()->any(true).oclAsType(consol::ProcedureFindingsSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureImplantsSection))->asSequence()->any(true).oclAsType(consol::ProcedureImplantsSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProcedureSpecimensTakenSection))->asSequence()->any(true).oclAsType(consol::ProcedureSpecimensTakenSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProceduresSectionEntriesOptional2))->asSequence()->any(true).oclAsType(consol::ProceduresSectionEntriesOptional2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReasonForVisitSection))->asSequence()->any(true).oclAsType(consol::ReasonForVisitSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReviewOfSystemsSection))->asSequence()->any(true).oclAsType(consol::ReviewOfSystemsSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::SocialHistorySection2))->asSequence()->any(true).oclAsType(consol::SocialHistorySection2) - - + + @@ -39451,387 +39451,387 @@ A Progress Note is not a re-evaluation note. A Progress Note is not intended to (self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PlanOfTreatmentSection2)) or self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AssessmentSection))) xor self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AssessmentAndPlanSection2)) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.1.9' and id.extension = '2015-08-01') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.6.1' and (value.code = '11506-3' or value.code = '18733-6' or value.code = '18762-5' or value.code = '28569-2' or value.code = '28617-9' or value.code = '34900-1' or value.code = '34904-3' or value.code = '18764-1' or value.code = '28623-7' or value.code = '11507-1' or value.code = '11508-9' or value.code = '11509-7' or value.code = '28627-8' or value.code = '11510-5' or value.code = '28656-7' or value.code = '11512-1' or value.code = '34126-3' or value.code = '15507-7' or value.code = '34129-7' or value.code = '34125-5' or value.code = '34130-5' or value.code = '34131-3' or value.code = '34124-8' or value.code = '34127-1' or value.code = '34128-9' or value.code = '34901-9' or value.code = '34132-1')) - - + + OCL self.documentationOf->one(documentationOf : cda::DocumentationOf | not documentationOf.oclIsUndefined() and documentationOf.oclIsKindOf(cda::DocumentationOf)) - - + + OCL self.componentOf->one(componentOf : cda::Component1 | not componentOf.oclIsUndefined() and componentOf.oclIsKindOf(cda::Component1)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AssessmentSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PlanOfTreatmentSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AssessmentAndPlanSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AllergiesSectionEntriesOptional2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::InterventionsSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::InstructionsSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MedicationsSectionEntriesOptional2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ObjectiveSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PhysicalExamSection2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProblemSectionEntriesOptional2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ResultsSectionEntriesOptional2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReviewOfSystemsSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::SubjectiveSection)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::VitalSignsSectionEntriesOptional2)) - - + + OCL self.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::NutritionSection)) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null).effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((low.oclIsUndefined() or low.isNullFlavorUndefined()) implies (not low.oclIsUndefined()) ))) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject(not effectiveTime.width.oclIsUndefined() xor not effectiveTime.high.oclIsUndefined()) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject(templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.21.3.1')) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject(isDefined('classCode') and classCode=vocab::ActClassRoot::PCPR) - - + + OCL self.documentationOf->excluding(null).serviceEvent->excluding(null)->reject((effectiveTime.oclIsUndefined() or effectiveTime.isNullFlavorUndefined()) implies (not effectiveTime.oclIsUndefined())) - - + + OCL self.documentationOf->excluding(null)->reject(serviceEvent->one(serviceEvent : cda::ServiceEvent | not serviceEvent.oclIsUndefined() and serviceEvent.oclIsKindOf(cda::ServiceEvent))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((low.oclIsUndefined() or low.isNullFlavorUndefined()) implies (not low.oclIsUndefined()) ))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).location->excluding(null).healthCareFacility->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (( not id->isEmpty()) )) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null).location->excluding(null)->reject(healthCareFacility->one(healthCareFacility : cda::HealthCareFacility | not healthCareFacility.oclIsUndefined() and healthCareFacility.oclIsKindOf(cda::HealthCareFacility))) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (( not id->isEmpty()) )) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject((effectiveTime.oclIsUndefined() or effectiveTime.isNullFlavorUndefined()) implies (not effectiveTime.oclIsUndefined())) - - + + OCL self.componentOf->excluding(null).encompassingEncounter->excluding(null)->reject(location->one(location : cda::Location | not location.oclIsUndefined() and location.oclIsKindOf(cda::Location))) - - + + OCL self.componentOf->excluding(null)->reject(encompassingEncounter->one(encompassingEncounter : cda::EncompassingEncounter | not encompassingEncounter.oclIsUndefined() and encompassingEncounter.oclIsKindOf(cda::EncompassingEncounter))) - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AssessmentSection))->asSequence()->any(true).oclAsType(consol::AssessmentSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PlanOfTreatmentSection2))->asSequence()->any(true).oclAsType(consol::PlanOfTreatmentSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AssessmentAndPlanSection2))->asSequence()->any(true).oclAsType(consol::AssessmentAndPlanSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::AllergiesSectionEntriesOptional2))->asSequence()->any(true).oclAsType(consol::AllergiesSectionEntriesOptional2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ChiefComplaintSection))->asSequence()->any(true).oclAsType(consol::ChiefComplaintSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::InterventionsSection2))->asSequence()->any(true).oclAsType(consol::InterventionsSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::InstructionsSection2))->asSequence()->any(true).oclAsType(consol::InstructionsSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::MedicationsSectionEntriesOptional2))->asSequence()->any(true).oclAsType(consol::MedicationsSectionEntriesOptional2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ObjectiveSection))->asSequence()->any(true).oclAsType(consol::ObjectiveSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::PhysicalExamSection2))->asSequence()->any(true).oclAsType(consol::PhysicalExamSection2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ProblemSectionEntriesOptional2))->asSequence()->any(true).oclAsType(consol::ProblemSectionEntriesOptional2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ResultsSectionEntriesOptional2))->asSequence()->any(true).oclAsType(consol::ResultsSectionEntriesOptional2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::ReviewOfSystemsSection))->asSequence()->any(true).oclAsType(consol::ReviewOfSystemsSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::SubjectiveSection))->asSequence()->any(true).oclAsType(consol::SubjectiveSection) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::VitalSignsSectionEntriesOptional2))->asSequence()->any(true).oclAsType(consol::VitalSignsSectionEntriesOptional2) - - + + - - - + + + OCL self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(consol::NutritionSection))->asSequence()->any(true).oclAsType(consol::NutritionSection) - - + + @@ -39849,80 +39849,80 @@ IHE's XDS-SD (Cross-Transaction Specifications and Content Specifications, Scann For conformance with both specifications, implementers need to ensure that their documents at a minimum conform with the SHALL constraints from either specification. </p> - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.1.10' and id.extension = '2015-08-01') - - + + OCL self.recordTarget->exists(recordTarget : cda::RecordTarget | not recordTarget.oclIsUndefined() and recordTarget.oclIsKindOf(cda::RecordTarget)) - - + + OCL self.custodian->one(custodian : cda::Custodian | not custodian.oclIsUndefined() and custodian.oclIsKindOf(cda::Custodian)) - - + + OCL self.component->one(component : cda::Component2 | not component.oclIsUndefined() and component.oclIsKindOf(cda::Component2)) - - + + OCL self.recordTarget->excluding(null).patientRole->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (not id->isEmpty())) - - + + OCL self.recordTarget->excluding(null)->reject(patientRole->one(patientRole : cda::PatientRole | not patientRole.oclIsUndefined() and patientRole.oclIsKindOf(cda::PatientRole))) - - + + OCL self.custodian->excluding(null).assignedCustodian->excluding(null)->reject(representedCustodianOrganization->one(representedCustodianOrganization : cda::CustodianOrganization | not representedCustodianOrganization.oclIsUndefined() and representedCustodianOrganization.oclIsKindOf(rim::Entity))) - - + + OCL self.custodian->excluding(null)->reject(assignedCustodian->one(assignedCustodian : cda::AssignedCustodian | not assignedCustodian.oclIsUndefined() and assignedCustodian.oclIsKindOf(cda::AssignedCustodian))) - - + + OCL self.component->excluding(null).nonXMLBody->excluding(null).text->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (not mediaType.oclIsUndefined() ))) - - + + OCL self.component->excluding(null).nonXMLBody->excluding(null)->reject(not text.reference.value.oclIsUndefined() xor ( text.isDefined('representation') and text.representation = datatypes::BinaryDataEncoding::B64 and (not text.mediaType.oclIsUndefined()) )) - - + + OCL self.component->excluding(null).nonXMLBody->excluding(null)->reject(not text.mediaType.oclIsUndefined() implies (text.mediaType = 'application/msword' or text.mediaType = 'application/pdf' or text.mediaType = 'text/plain' or text.mediaType = 'text/rtf' or text.mediaType = 'text/html' or text.mediaType = 'image/gif' or text.mediaType = 'image/tiff' or text.mediaType = 'image/jpeg' or text.mediaType = 'image/png')) - - + + OCL self.component->excluding(null).nonXMLBody->excluding(null)->reject((text.oclIsUndefined() or text.isNullFlavorUndefined()) implies (not text.oclIsUndefined())) - - + + OCL self.component->excluding(null)->reject(nonXMLBody->one(nonXMLBody : cda::NonXMLBody | not nonXMLBody.oclIsUndefined() and nonXMLBody.oclIsKindOf(cda::NonXMLBody))) @@ -39933,42 +39933,42 @@ For conformance with both specifications, implementers need to ensure that their A criterion for administration can be used to record that the medication is to be administered only when the associated criteria are met. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.25' and id.extension.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = 'ASSERTION' and value.codeSystem = '2.16.840.1.113883.5.4') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (true) - - + + OCL (self.value.oclIsUndefined() or self.value.isNullFlavorUndefined()) implies (not self.value.oclIsUndefined() and self.value.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.value.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined()) - - + + OCL (self.value.oclIsUndefined() or self.value.isNullFlavorUndefined()) implies (not self.value.oclIsUndefined()) @@ -39979,94 +39979,94 @@ value.codeSystem = '2.16.840.1.113883.6.96' and not value.code.oclIsUndefined()) This template represents the number of pressure ulcers observed at a particular stage. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.76' and id.extension.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '2264892003' and value.codeSystem = '2.16.840.1.113883.6.96') - - + + OCL self.entryRelationship->select(entryRelationship : cda::EntryRelationship | not entryRelationship.oclIsUndefined() and entryRelationship.oclIsKindOf(cda::EntryRelationship))->select(typeCode=vocab::x_ActRelationshipEntryRelationship::SUBJ)->size() = 1 - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((translation->isEmpty() or translation->exists(element | element.isNullFlavorUndefined())) implies (translation->size() = 1 and translation->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.code = '75277-4' and value.codeSystem = '2.16.840.1.113883.6.1')) ))) - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((translation->isEmpty() or translation->exists(element | element.isNullFlavorUndefined())) implies (translation->size() = 1) ))) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::SUBJ).observation->excluding(null)->reject(classCode=vocab::ActClassObservation::OBS) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::SUBJ).observation->excluding(null)->reject(moodCode=vocab::x_ActMoodDocumentObservation::EVN) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::SUBJ).observation->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined())) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::SUBJ).observation->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = code.oclAsType(datatypes::CD) in value.code = 'ASSERTION' and value.codeSystem = '2.16.840.1.113883.5.4')) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::SUBJ).observation->excluding(null)->reject((value->isEmpty() or value->exists(element | element.isNullFlavorUndefined())) implies (not value->isEmpty())) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::SUBJ).observation->excluding(null)->reject((value->isEmpty() or value->exists(element | element.isNullFlavorUndefined())) implies (value->size() = 1 and value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.96' and (value.code = '421076008' or value.code = '420324007' or value.code = '421927004' or value.code = '420597008' or value.code = '421594008')))) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::SUBJ)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::SUBJ)->reject(typeCode=vocab::x_ActRelationshipEntryRelationship::SUBJ) - - + + OCL self.entryRelationship->excluding(null)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::SUBJ)->select(typeCode=vocab::x_ActRelationshipEntryRelationship::SUBJ)->reject(observation->one(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(cda::Observation))) @@ -40077,36 +40077,36 @@ value.codeSystem = '2.16.840.1.113883.6.96' and (value.code = '421076008' or val Family History Observations related to a particular family member are contained within a Family History Organizer. The effectiveTime in the Family History Observation is the biologically or clinically relevant time of the observation. The biologically or clinically relevant time is the time at which the observation holds (is effective) for the family member (the subject of the observation). - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.46' and id.extension.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in 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')) - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((translation->isEmpty() or translation->exists(element | element.isNullFlavorUndefined())) implies (not translation->isEmpty() and translation->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.1' and (value.code = '75326-9' or value.code = '75325-1' or value.code = '75324-4' or value.code = '75323-6' or value.code = '29308-4' or value.code = '75322-8' or value.code = '75275-8' or value.code = '75321-0' or value.code = '75319-4' or value.code = '75318-6' or value.code = '75317-8' or value.code = '75316-0' or value.code = '75315-2' or value.code = '75314-5' or value.code = '75313-7' or value.code = '75312-9'))) ))) - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((translation->isEmpty() or translation->exists(element | element.isNullFlavorUndefined())) implies (( not translation->isEmpty()) ) ))) @@ -40117,34 +40117,34 @@ value.codeSystem = '2.16.840.1.113883.6.1' and (value.code = '75326-9' or value. The Family History Organizer associates a set of observations with a family member. For example, the Family History Organizer can group a set of observations about the patient's father. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.45' and id.extension.oclIsUndefined()) - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL self.component->exists(component : cda::Component4 | not component.observation.oclIsUndefined() and component.observation.oclIsKindOf(consol::FamilyHistoryObservation2)) - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::FamilyHistoryObservation2)).oclAsType(consol::FamilyHistoryObservation2) - - + + @@ -40152,28 +40152,28 @@ value.codeSystem = '2.16.840.1.113883.6.1' and (value.code = '75326-9' or value. This section contains data defining the patient's genetic relatives in terms of possible or relevant health risk factors that have a potential impact on the patient's healthcare risk profile. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.15' and id.extension.oclIsUndefined()) - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.organizer.oclIsUndefined() and entry.organizer.oclIsKindOf(consol::FamilyHistoryOrganizer2)) - - - + + + OCL self.getOrganizers()->select(organizer : cda::Organizer | not organizer.oclIsUndefined() and organizer.oclIsKindOf(consol::FamilyHistoryOrganizer2)).oclAsType(consol::FamilyHistoryOrganizer2) - - + + @@ -40181,8 +40181,8 @@ value.codeSystem = '2.16.840.1.113883.6.1' and (value.code = '75326-9' or value. This participant is the Physician Reading Study Performer defined in documentationOf/serviceEvent. It is usually different from the attending physician. The reading physician interprets the images and evidence of the study (DICOM Definition). - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.6.2.1' and id.extension.oclIsUndefined()) @@ -40193,34 +40193,34 @@ value.codeSystem = '2.16.840.1.113883.6.1' and (value.code = '75326-9' or value. The Course of Care section describes what happened during the course of an encounter. - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.64') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '8648-8' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() @@ -40244,218 +40244,218 @@ Planned Intervention Acts can be related to each other or to Intervention Acts. All interventions referenced in a Planned Intervention Act must have moodCodes indicating that that are planned (have not yet occurred). </p> - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.146' and id.extension = '2015-08-01') - - + + OCL self.classCode=vocab::x_ActClassDocumentEntryAct::ACT - - + + OCL isDefined('moodCode') - - + + OCL not self.moodCode.oclIsUndefined() and self.moodCode.oclIsKindOf(vocab::x_DocumentActMood) and let value : vocab::x_DocumentActMood = self.moodCode.oclAsType(vocab::x_DocumentActMood) in value = vocab::x_DocumentActMood::APT or value = vocab::x_DocumentActMood::ARQ or value = vocab::x_DocumentActMood::INT or value = vocab::x_DocumentActMood::PRMS or value = vocab::x_DocumentActMood::PRP or value = vocab::x_DocumentActMood::RQO - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '362956003' and value.codeSystem = '2.16.840.1.113883.6.96') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'active') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL self.author->exists(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(consol::AuthorParticipation)) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::AdvanceDirectiveObservation2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.substanceAdministration.oclIsUndefined() and entryRelationship.substanceAdministration.oclIsKindOf(consol::ImmunizationActivity2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.substanceAdministration.oclIsUndefined() and entryRelationship.substanceAdministration.oclIsKindOf(consol::MedicationActivity2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::ProcedureActivityAct2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::InterventionAct) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::ProcedureActivityObservation2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.procedure.oclIsUndefined() and entryRelationship.procedure.oclIsKindOf(consol::ProcedureActivityProcedure2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.encounter.oclIsUndefined() and entryRelationship.encounter.oclIsKindOf(consol::EncounterActivity2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::Instruction2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.supply.oclIsUndefined() and entryRelationship.supply.oclIsKindOf(consol::NonMedicinalSupplyActivity2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::PlannedAct2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.encounter.oclIsUndefined() and entryRelationship.encounter.oclIsKindOf(consol::PlannedEncounter2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::PlannedObservation2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.procedure.oclIsUndefined() and entryRelationship.procedure.oclIsKindOf(consol::PlannedProcedure2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.substanceAdministration.oclIsUndefined() and entryRelationship.substanceAdministration.oclIsKindOf(consol::PlannedMedicationActivity2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.supply.oclIsUndefined() and entryRelationship.supply.oclIsKindOf(consol::PlannedSupply2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::NutritionRecommendation)) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::EntryReference) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::EntryReference) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::RSON) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::HandoffCommunicationParticipants) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.substanceAdministration.oclIsUndefined() and entryRelationship.substanceAdministration.oclIsKindOf(consol::PlannedImmunizationActivity) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.reference->exists(reference : cda::Reference | not reference.oclIsUndefined() and reference.oclIsKindOf(cda::Reference)) - - + + OCL self.reference->excluding(null)->reject(typeCode=vocab::x_ActRelationshipExternalReference::REFR) - - + + OCL self.reference->excluding(null)->reject(externalDocument->one(externalDocument : cda::ExternalDocument | not externalDocument.oclIsUndefined() and externalDocument.oclIsKindOf(consol::ExternalDocumentReference))) @@ -40463,235 +40463,235 @@ value.code = 'active') - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::AdvanceDirectiveObservation2)).oclAsType(consol::AdvanceDirectiveObservation2) - - + + - - - + + + OCL self.getSubstanceAdministrations()->select(substanceAdministration : cda::SubstanceAdministration | not substanceAdministration.oclIsUndefined() and substanceAdministration.oclIsKindOf(consol::ImmunizationActivity2)).oclAsType(consol::ImmunizationActivity2) - - + + - - - + + + OCL self.getSubstanceAdministrations()->select(substanceAdministration : cda::SubstanceAdministration | not substanceAdministration.oclIsUndefined() and substanceAdministration.oclIsKindOf(consol::MedicationActivity2)).oclAsType(consol::MedicationActivity2) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::ProcedureActivityAct2)).oclAsType(consol::ProcedureActivityAct2) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::InterventionAct)).oclAsType(consol::InterventionAct) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ProcedureActivityObservation2)).oclAsType(consol::ProcedureActivityObservation2) - - + + - - - + + + OCL self.getProcedures()->select(procedure : cda::Procedure | not procedure.oclIsUndefined() and procedure.oclIsKindOf(consol::ProcedureActivityProcedure2)).oclAsType(consol::ProcedureActivityProcedure2) - - + + - - - + + + OCL self.getEncounters()->select(encounter : cda::Encounter | not encounter.oclIsUndefined() and encounter.oclIsKindOf(consol::EncounterActivity2)).oclAsType(consol::EncounterActivity2) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::Instruction2)).oclAsType(consol::Instruction2) - - + + - - - + + + OCL self.getSupplies()->select(supply : cda::Supply | not supply.oclIsUndefined() and supply.oclIsKindOf(consol::NonMedicinalSupplyActivity2)).oclAsType(consol::NonMedicinalSupplyActivity2) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::PlannedAct2)).oclAsType(consol::PlannedAct2) - - + + - - - + + + OCL self.getEncounters()->select(encounter : cda::Encounter | not encounter.oclIsUndefined() and encounter.oclIsKindOf(consol::PlannedEncounter2)).oclAsType(consol::PlannedEncounter2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::PlannedObservation2)).oclAsType(consol::PlannedObservation2) - - + + - - - + + + OCL self.getProcedures()->select(procedure : cda::Procedure | not procedure.oclIsUndefined() and procedure.oclIsKindOf(consol::PlannedProcedure2)).oclAsType(consol::PlannedProcedure2) - - + + - - - + + + OCL self.getSubstanceAdministrations()->select(substanceAdministration : cda::SubstanceAdministration | not substanceAdministration.oclIsUndefined() and substanceAdministration.oclIsKindOf(consol::PlannedMedicationActivity2)).oclAsType(consol::PlannedMedicationActivity2) - - + + - - - + + + OCL self.getSupplies()->select(supply : cda::Supply | not supply.oclIsUndefined() and supply.oclIsKindOf(consol::PlannedSupply2)).oclAsType(consol::PlannedSupply2) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::NutritionRecommendation)).oclAsType(consol::NutritionRecommendation) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::EntryReference)).oclAsType(consol::EntryReference) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::EntryReference)).oclAsType(consol::EntryReference) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::HandoffCommunicationParticipants)).oclAsType(consol::HandoffCommunicationParticipants) - - + + - - - + + + OCL self.getSubstanceAdministrations()->select(substanceAdministration : cda::SubstanceAdministration | not substanceAdministration.oclIsUndefined() and substanceAdministration.oclIsKindOf(consol::PlannedImmunizationActivity)).oclAsType(consol::PlannedImmunizationActivity) - - + + @@ -40707,306 +40707,306 @@ It is a wrapper for a single risk concern which may be derived from a variety of A Risk Concern Act represents a health concern that is a risk. A risk is a clinical or socioeconomic condition that the patient does not currently have, but the probability of developing that condition rises to the level of concern such that an intervention and/or monitoring is needed. </p> - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.136' and id.extension = '2015-08-01') - - + + OCL self.classCode=vocab::x_ActClassDocumentEntryAct::ACT - - + + OCL self.moodCode=vocab::x_DocumentActMood::EVN - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '281694009' and value.codeSystem = '2.16.840.1.113883.6.96') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'active' or value.code = 'suspended' or value.code = 'aborted' or value.code = 'completed') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL self.author->exists(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(consol::AuthorParticipation)) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::ProblemObservation2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::AllergyObservation2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::EntryReference) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::EntryReference) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::COMP) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::AssessmentScaleObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::MentalStatusObservation2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::SelfCareActivities) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::MentalStatusObservation2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::SmokingStatusMeaningfulUse2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::EncounterDiagnosis2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.organizer.oclIsUndefined() and entryRelationship.organizer.oclIsKindOf(consol::FamilyHistoryOrganizer2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::FunctionalStatusObservation2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::HospitalAdmissionDiagnosis2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::MentalStatusObservation2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::NutritionAssessment) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::NutritionAssessment) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::PostprocedureDiagnosis2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::PregnancyObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::PreoperativeDiagnosis2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::ReactionObservation2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::ResultObservation2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::SensoryStatus) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::SocialHistoryObservation2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::SubstanceOrDeviceAllergyObservation2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::TobaccoUse2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::VitalSignObservation2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::LongitudinalCareWoundObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::ProblemObservation2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SPRT) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::CaregiverCharacteristics) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::CulturalAndReligiousObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::CharacteristicsOfHomeEnvironment) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::NutritionalStatusObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.organizer.oclIsUndefined() and entryRelationship.organizer.oclIsKindOf(consol::ResultOrganizer2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::PriorityPreference) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::PriorityPreference) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::ProblemConcernAct2) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::EntryReference) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.reference->exists(reference : cda::Reference | not reference.oclIsUndefined() and reference.oclIsKindOf(cda::Reference)) - - + + OCL self.reference->excluding(null)->reject(typeCode=vocab::x_ActRelationshipExternalReference::REFR) - - + + OCL self.reference->excluding(null)->reject(externalDocument->one(externalDocument : cda::ExternalDocument | not externalDocument.oclIsUndefined() and externalDocument.oclIsKindOf(consol::ExternalDocumentReference))) @@ -41014,411 +41014,411 @@ value.code = 'active' or value.code = 'suspended' or value.code = 'aborted' or v - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ProblemObservation2)).oclAsType(consol::ProblemObservation2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::AllergyObservation2)).oclAsType(consol::AllergyObservation2) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::EntryReference)).oclAsType(consol::EntryReference) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::EntryReference)).oclAsType(consol::EntryReference) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::AssessmentScaleObservation)).oclAsType(consol::AssessmentScaleObservation) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::MentalStatusObservation2)).oclAsType(consol::MentalStatusObservation2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::SelfCareActivities)).oclAsType(consol::SelfCareActivities) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::MentalStatusObservation2)).oclAsType(consol::MentalStatusObservation2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::SmokingStatusMeaningfulUse2)).oclAsType(consol::SmokingStatusMeaningfulUse2) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::EncounterDiagnosis2)).oclAsType(consol::EncounterDiagnosis2) - - + + - - - + + + OCL self.getOrganizers()->select(organizer : cda::Organizer | not organizer.oclIsUndefined() and organizer.oclIsKindOf(consol::FamilyHistoryOrganizer2)).oclAsType(consol::FamilyHistoryOrganizer2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::FunctionalStatusObservation2)).oclAsType(consol::FunctionalStatusObservation2) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::HospitalAdmissionDiagnosis2)).oclAsType(consol::HospitalAdmissionDiagnosis2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::MentalStatusObservation2)).oclAsType(consol::MentalStatusObservation2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::NutritionAssessment)).oclAsType(consol::NutritionAssessment) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::NutritionAssessment)).oclAsType(consol::NutritionAssessment) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::PostprocedureDiagnosis2)).oclAsType(consol::PostprocedureDiagnosis2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::PregnancyObservation)).oclAsType(consol::PregnancyObservation) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::PreoperativeDiagnosis2)).oclAsType(consol::PreoperativeDiagnosis2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ReactionObservation2)).oclAsType(consol::ReactionObservation2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ResultObservation2)).oclAsType(consol::ResultObservation2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::SensoryStatus)).oclAsType(consol::SensoryStatus) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::SocialHistoryObservation2)).oclAsType(consol::SocialHistoryObservation2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::SubstanceOrDeviceAllergyObservation2)).oclAsType(consol::SubstanceOrDeviceAllergyObservation2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::TobaccoUse2)).oclAsType(consol::TobaccoUse2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::VitalSignObservation2)).oclAsType(consol::VitalSignObservation2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::LongitudinalCareWoundObservation)).oclAsType(consol::LongitudinalCareWoundObservation) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ProblemObservation2)).oclAsType(consol::ProblemObservation2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::CaregiverCharacteristics)).oclAsType(consol::CaregiverCharacteristics) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::CulturalAndReligiousObservation)).oclAsType(consol::CulturalAndReligiousObservation) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::CharacteristicsOfHomeEnvironment)).oclAsType(consol::CharacteristicsOfHomeEnvironment) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::NutritionalStatusObservation)).oclAsType(consol::NutritionalStatusObservation) - - + + - - - + + + OCL self.getOrganizers()->select(organizer : cda::Organizer | not organizer.oclIsUndefined() and organizer.oclIsKindOf(consol::ResultOrganizer2)).oclAsType(consol::ResultOrganizer2) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::PriorityPreference)).oclAsType(consol::PriorityPreference) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::PriorityPreference)).oclAsType(consol::PriorityPreference) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::ProblemConcernAct2)).oclAsType(consol::ProblemConcernAct2) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::EntryReference)).oclAsType(consol::EntryReference) - - + + @@ -41437,78 +41437,78 @@ An example free text sig: Thyroxin 150 ug, take one tab by mouth every morning&# not self.text.reference.value.oclIsUndefined() implies not self.getSection().text.getText(self.text.reference.value.substring(2, self.text.reference.value.size())).oclIsUndefined() - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.147') - - + + OCL self.classCode=vocab::ActClass::SBADM - - + + OCL not self.moodCode.oclIsUndefined() and self.moodCode.oclIsKindOf(vocab::x_DocumentSubstanceMood) and let value : vocab::x_DocumentSubstanceMood = self.moodCode.oclAsType(vocab::x_DocumentSubstanceMood) in value = vocab::x_DocumentSubstanceMood::EVN or value = vocab::x_DocumentSubstanceMood::INT - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '76662-6' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (not self.text.oclIsUndefined()) - - + + OCL self.consumable->one(consumable : cda::Consumable | not consumable.oclIsUndefined() and consumable.oclIsKindOf(cda::Consumable)) - - + + OCL self.text->excluding(null)->select(isNullFlavorUndefined()).reference->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (not value.oclIsUndefined() ))) - - + + OCL self.text->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((reference.oclIsUndefined() or reference.isNullFlavorUndefined()) implies (not reference.oclIsUndefined()) ))) - - + + OCL self.consumable->excluding(null).manufacturedProduct->excluding(null).manufacturedLabeledDrug->excluding(null)->reject(isDefined('nullFlavor')) - - + + OCL self.consumable->excluding(null).manufacturedProduct->excluding(null)->reject(manufacturedLabeledDrug->one(manufacturedLabeledDrug : cda::LabeledDrug | not manufacturedLabeledDrug.oclIsUndefined() and manufacturedLabeledDrug.oclIsKindOf(cda::LabeledDrug))) - - + + OCL self.consumable->excluding(null)->reject(manufacturedProduct->one(manufacturedProduct : cda::ManufacturedProduct | not manufacturedProduct.oclIsUndefined() and manufacturedProduct.oclIsKindOf(cda::ManufacturedProduct))) @@ -41522,62 +41522,62 @@ value.code = '76662-6' and value.codeSystem = '2.16.840.1.113883.6.1') <p>This observation represents the sex of the patient at birth. It is the sex that is entered on the person's birth certificate at time of birth.</p> <p>This observation is not appropriate for recording patient gender (administrativeGender).</p> - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.200' and id.extension = '2016-06-01') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '76689-9' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.5.1' and (value.code = 'F' or value.code = 'M'))) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | element.oclIsTypeOf(datatypes::CD))) @@ -41590,62 +41590,62 @@ value.codeSystem = '2.16.840.1.113883.5.1' and (value.code = 'F' or value.code = <p>This observation represents the gravity of the potential risk for future life-threatening adverse reactions when exposed to a substance known to cause an adverse reaction in that individual. When the worst case result is assessed to have a life-threatening or organ system threatening potential, it is considered to be of high criticality.</p> - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.145') - - + + OCL self.classCode=vocab::ActClassObservation::OBS - - + + OCL self.moodCode=vocab::x_ActMoodDocumentObservation::EVN - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '82606-5' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.5.1063' and (value.code = 'CRITL' or value.code = 'CRITH' or value.code = 'CRITU'))) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | element.oclIsTypeOf(datatypes::CD))) @@ -41660,22 +41660,22 @@ value.codeSystem = '2.16.840.1.113883.5.1063' and (value.code = 'CRITL' or value This template represents the status of the allergy indicating whether it is active, no longer active, or is an historic allergy. There can be only one allergy status observation per alert observation. </p> - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.28' and id.extension.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '33999-4' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = element.oclAsType(datatypes::CE) in @@ -41708,20 +41708,20 @@ The Problem Status records whether the indicated problem is active, inactive, or true - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.6' and id.extension.oclIsUndefined()) - - + + OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (true) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in @@ -41731,40 +41731,40 @@ value.codeSystem = '2.16.840.1.113883.6.96' and (value.code = '55561003' or valu - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.500' and id.extension = '2019-07-01') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in value.code = '85847-2' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined()) - - + + OCL not self.text.oclIsUndefined() - - + + OCL self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.organizer.oclIsUndefined() and entry.organizer.oclIsKindOf(consol::CareTeamOrganizer)) @@ -41772,121 +41772,121 @@ value.code = '85847-2' and value.codeSystem = '2.16.840.1.113883.6.1') - - - + + + OCL self.getOrganizers()->select(organizer : cda::Organizer | not organizer.oclIsUndefined() and organizer.oclIsKindOf(consol::CareTeamOrganizer)).oclAsType(consol::CareTeamOrganizer) - - + + - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.500' and id.extension = '2019-07-01') - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '86744-0') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'normal' or value.code = 'aborted' or value.code = 'active' or value.code = 'cancelled' or value.code = 'completed' or value.code = 'held' or value.code = 'new' or value.code = 'suspended' or value.code = 'nullified' or value.code = 'obsolete') - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL isDefined('classCode') - - + + OCL isDefined('moodCode') - - + + OCL self.participant->one(participant : cda::Participant2 | not participant.oclIsUndefined() and participant.oclIsKindOf(cda::Participant2)) - - + + OCL self.participant->one(participant : cda::Participant2 | not participant.oclIsUndefined() and participant.oclIsKindOf(cda::Participant2)) - - + + OCL self.component->one(component : cda::Component4 | not component.act.oclIsUndefined() and component.act.oclIsKindOf(consol::NoteActivity)) - - + + OCL self.component->one(component : cda::Component4 | not component.observation.oclIsUndefined() and component.observation.oclIsKindOf(consol::CareTeamTypeObservation)) - - + + OCL self.component->exists(component : cda::Component4 | not component.act.oclIsUndefined() and component.act.oclIsKindOf(consol::CareTeamMemberAct)) - - + + OCL self.author->one(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(consol::AuthorParticipation)) - - + + OCL self.effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((low.oclIsUndefined() or low.isNullFlavorUndefined()) implies (not low.oclIsUndefined()) ))) - - + + OCL self.effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((high.oclIsUndefined() or high.isNullFlavorUndefined()) implies (not high.oclIsUndefined()) ))) @@ -41894,97 +41894,97 @@ value.code = 'normal' or value.code = 'aborted' or value.code = 'active' or valu - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::NoteActivity))->asSequence()->any(true).oclAsType(consol::NoteActivity) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::CareTeamTypeObservation))->asSequence()->any(true).oclAsType(consol::CareTeamTypeObservation) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::CareTeamMemberAct)).oclAsType(consol::CareTeamMemberAct) - - + + - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.500.2' and id.extension = '2019-07-01') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '86744-0' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.1' and (value.code = 'LA27975-4' or value.code = 'LA27976-2' or value.code = 'LA27977-0' or value.code = 'LA27978-8' or value.code = 'LA27980-4' or value.code = 'LA28865-6' or value.code = 'LA28866-4' or value.code = 'LA28867-2'))) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | element.oclIsTypeOf(datatypes::CD))) - - + + OCL isDefined('classCode') - - + + OCL isDefined('moodCode') @@ -41994,90 +41994,90 @@ value.codeSystem = '2.16.840.1.113883.6.1' and (value.code = 'LA27975-4' or valu - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.202' and id.extension = '2016-11-01') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '34109-9' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (not self.text.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL isDefined('classCode') - - + + OCL isDefined('moodCode') - - + + OCL self.author->exists(author : cda::Author | not author.oclIsUndefined() and author.oclIsKindOf(consol::AuthorParticipation)) - - + + OCL self.participant->exists(participant : cda::Participant2 | not participant.oclIsUndefined() and participant.oclIsKindOf(cda::Participant2)) - - + + OCL self.reference->exists(reference : cda::Reference | not reference.oclIsUndefined() and reference.oclIsKindOf(cda::Reference)) - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((translation->isEmpty() or translation->exists(element | element.isNullFlavorUndefined())) implies (not translation->isEmpty()) ))) - - + + OCL self.code->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((translation->isEmpty() or translation->exists(element | element.isNullFlavorUndefined())) implies (translation->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.6.1' and not value.code.oclIsUndefined())) ))) - - + + OCL self.effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (not value.oclIsUndefined() ))) @@ -42087,88 +42087,88 @@ value.codeSystem = '2.16.840.1.113883.6.1' and not value.code.oclIsUndefined())) - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.500.1' and id.extension = '2019-07-01') - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'normal' or value.code = 'aborted' or value.code = 'active' or value.code = 'cancelled' or value.code = 'completed' or value.code = 'held' or value.code = 'new' or value.code = 'suspended' or value.code = 'nullified' or value.code = 'obsolete') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.effectiveTime.oclIsUndefined() or self.effectiveTime.isNullFlavorUndefined()) implies (not self.effectiveTime.oclIsUndefined()) - - + + OCL isDefined('classCode') - - + + OCL isDefined('moodCode') - - + + OCL self.performer->one(performer : cda::Performer2 | not performer.oclIsUndefined() and performer.oclIsKindOf(cda::Performer2)) - - + + OCL self.participant->exists(participant : cda::Participant2 | not participant.oclIsUndefined() and participant.oclIsKindOf(cda::Participant2)) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::CareTeamMemberScheduleObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.act.oclIsUndefined() and entryRelationship.act.oclIsKindOf(consol::NoteActivity) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR) - - + + OCL self.participant->one(participant : cda::Participant2 | not participant.oclIsUndefined() and participant.oclIsKindOf(cda::Participant2)) - - + + OCL self.effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((low.oclIsUndefined() or low.isNullFlavorUndefined()) implies (not low.oclIsUndefined()) ))) - - + + OCL self.effectiveTime->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((high.oclIsUndefined() or high.isNullFlavorUndefined()) implies (not high.oclIsUndefined()) ))) @@ -42176,96 +42176,96 @@ value.code = 'normal' or value.code = 'aborted' or value.code = 'active' or valu - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::CareTeamMemberScheduleObservation))->asSequence()->any(true).oclAsType(consol::CareTeamMemberScheduleObservation) - - + + - - - + + + OCL self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::NoteActivity))->asSequence()->any(true).oclAsType(consol::NoteActivity) - - + + - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.500.3' and id.extension = '2019-07-01') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = '57203-2' and value.codeSystem = '2.16.840.1.113883.6.1') - - + + OCL (self.text.oclIsUndefined() or self.text.isNullFlavorUndefined()) implies (not self.text.oclIsUndefined()) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | element.oclIsTypeOf(datatypes::TS))) - - + + OCL isDefined('classCode') - - + + OCL isDefined('moodCode') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL self.text->excluding(null)->select(isNullFlavorUndefined()).reference->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (not value.oclIsUndefined() ))) - - + + OCL self.text->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((reference.oclIsUndefined() or reference.isNullFlavorUndefined()) implies (not reference.oclIsUndefined()) ))) @@ -42275,88 +42275,88 @@ value.code = 'completed') - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.5 .6' and id.extension = '2019-10-01') - - + + OCL (self.time.oclIsUndefined() or self.time.isNullFlavorUndefined()) implies (not self.time.oclIsUndefined()) - - + + OCL self.assignedAuthor->one(assignedAuthor : cda::AssignedAuthor | not assignedAuthor.oclIsUndefined() and assignedAuthor.oclIsKindOf(cda::AssignedAuthor)) - - + + OCL self.assignedAuthor->excluding(null).assignedPerson->excluding(null).name->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((family->isEmpty() or family->exists(element | element.isNullFlavorUndefined())) implies (family->size() = 1) ))) - - + + OCL self.assignedAuthor->excluding(null).assignedPerson->excluding(null).name->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies ((given->isEmpty() or given->exists(element | element.isNullFlavorUndefined())) implies (not given->isEmpty()) ))) - - + + OCL self.assignedAuthor->excluding(null).assignedPerson->excluding(null)->reject((name->isEmpty() or name->exists(element | element.isNullFlavorUndefined())) implies (not name->isEmpty())) - - + + OCL self.assignedAuthor->excluding(null).representedOrganization->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (not id->isEmpty())) - - + + OCL self.assignedAuthor->excluding(null).representedOrganization->excluding(null)->reject((name->isEmpty() or name->exists(element | element.isNullFlavorUndefined())) implies (not name->isEmpty())) - - + + OCL self.assignedAuthor->excluding(null).representedOrganization->excluding(null)->reject((telecom->isEmpty() or telecom->exists(element | element.isNullFlavorUndefined())) implies (not telecom->isEmpty())) - - + + OCL self.assignedAuthor->excluding(null)->reject((id->isEmpty() or id->exists(element | element.isNullFlavorUndefined())) implies (not id->isEmpty())) - - + + OCL self.assignedAuthor->excluding(null)->reject((code.oclIsUndefined() or code.isNullFlavorUndefined()) implies (not code.oclIsUndefined() and code.oclIsKindOf(datatypes::CE) and let value : datatypes::CE = code.oclAsType(datatypes::CE) in value.codeSystem = '2.16.840.1.113883.5.111' and (value.code = 'DAUINLAW' or value.code = 'FTH' or value.code = 'DAU' or value.code = 'HPOWATT' or value.code = 'MTH' or value.code = 'SON' or value.code = 'SELF' or value.code = 'SONINLAW'))) - - + + OCL self.assignedAuthor->excluding(null)->reject(assignedPerson.oclIsTypeOf(consol::ProvenanceAuthorParticipation::ProvenanceAssignedAuthor::AssignedPerson)) - - + + OCL self.assignedAuthor->excluding(null)->reject(representedOrganization.oclIsTypeOf(consol::ProvenanceAuthorParticipation::ProvenanceAssignedAuthor::RepresentedOrganization)) - - + + OCL self.assignedAuthor->excluding(null)->reject(assignedAuthoringDevice->one(assignedAuthoringDevice : cda::AuthoringDevice | not assignedAuthoringDevice.oclIsUndefined() and assignedAuthoringDevice.oclIsKindOf(rim::Entity))) @@ -42366,28 +42366,28 @@ value.codeSystem = '2.16.840.1.113883.5.111' and (value.code = 'DAUINLAW' or val - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.319' and id.extension = '2019-06-21') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = 'C101671' and value.codeSystem = '2.16.840.1.113883.3.26.1.1') - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | element.oclIsTypeOf(datatypes::ED))) @@ -42397,30 +42397,30 @@ value.code = 'C101671' and value.codeSystem = '2.16.840.1.113883.3.26.1.1') - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.318' and id.extension = '2019-06-21') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = 'C106044' and value.codeSystem = '2.16.840.1.113883.3.26.1.1') - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.3.26.1.1' and (value.code = 'C113844' or value.code = 'C106046' or value.code = 'C106045' or value.code = 'C106047'))) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | element.oclIsTypeOf(datatypes::CD))) @@ -42430,28 +42430,28 @@ value.codeSystem = '2.16.840.1.113883.3.26.1.1' and (value.code = 'C113844' or v - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.317' and id.extension = '2019-06-21') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = 'C99285' and value.codeSystem = '2.16.840.1.113883.3.26.1.1') - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | element.oclIsTypeOf(datatypes::ED))) @@ -42461,34 +42461,34 @@ value.code = 'C99285' and value.codeSystem = '2.16.840.1.113883.3.26.1.1') - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.316' and id.extension = '2019-06') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = 'C101669' and value.codeSystem = '2.16.840.1.113883.3.26.1.1') - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | element.oclIsTypeOf(datatypes::TS))) - - + + OCL self.value->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (not value.oclIsUndefined() ))) @@ -42498,28 +42498,28 @@ value.code = 'C101669' and value.codeSystem = '2.16.840.1.113883.3.26.1.1') - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.315' and id.extension = '2019-06-21') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = 'C101672' and value.codeSystem = '2.16.840.1.113883.3.26.1.1') - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | element.oclIsTypeOf(datatypes::ST))) @@ -42529,36 +42529,36 @@ value.code = 'C101672' and value.codeSystem = '2.16.840.1.113883.3.26.1.1') - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.314' and id.extension = '2019-06-21') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = 'C160938' and value.codeSystem = '2.16.840.1.113883.3.26.1.1') - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.3.26.1.1' and (value.code = 'C106043' or value.code = 'C106038'))) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | element.oclIsTypeOf(datatypes::CD))) @@ -42568,36 +42568,36 @@ value.codeSystem = '2.16.840.1.113883.3.26.1.1' and (value.code = 'C106043' or v - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.305' and id.extension = '2019-06-21') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = 'C160939' and value.codeSystem = '2.16.840.1.113883.3.26.1.1') - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | not element.oclIsUndefined() and element.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = element.oclAsType(datatypes::CD) in value.codeSystem = '2.16.840.1.113883.3.26.1.1' and (value.code = 'C45329' or value.code = 'C154407' or value.code = 'C122711' or value.code = 'C160942'))) - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | element.oclIsTypeOf(datatypes::CD))) @@ -42607,34 +42607,34 @@ value.codeSystem = '2.16.840.1.113883.3.26.1.1' and (value.code = 'C45329' or va - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.309' and id.extension = '2019-06-21') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = 'C101670' and value.codeSystem = '2.16.840.1.113883.3.26.1.1') - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | element.oclIsTypeOf(datatypes::TS))) - - + + OCL self.value->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (not value.oclIsUndefined() ))) @@ -42644,28 +42644,28 @@ value.code = 'C101670' and value.codeSystem = '2.16.840.1.113883.3.26.1.1') - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.308' and id.extension = '2019-06-21') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = 'C113843' and value.codeSystem = '2.16.840.1.113883.3.26.1.1') - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | element.oclIsTypeOf(datatypes::ED))) @@ -42675,52 +42675,52 @@ value.code = 'C113843' and value.codeSystem = '2.16.840.1.113883.3.26.1.1') - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.304' and id.extension = '2019-06-21') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = 'C101722' and value.codeSystem = '2.16.840.1.113883.3.26.1.1') - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | element.oclIsTypeOf(datatypes::II))) - - + + OCL self.value->excluding(null)->select(isNullFlavorUndefined())->reject(matches('root','\\\\b1.3.160\\\\b')) - - + + OCL self.value->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (not root.oclIsUndefined() ))) - - + + OCL self.value->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (not extension.oclIsUndefined() ))) - - + + OCL self.value->excluding(null)->select(isNullFlavorUndefined())->reject( ( isNullFlavorUndefined() implies (not displayable.oclIsUndefined() ))) @@ -42730,28 +42730,28 @@ value.code = 'C101722' and value.codeSystem = '2.16.840.1.113883.3.26.1.1') - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.303' and id.extension = '2019-06-21') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = 'C54131' and value.codeSystem = '2.16.840.1.113883.3.26.1.1') - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | element.oclIsTypeOf(datatypes::ED))) @@ -42761,28 +42761,28 @@ value.code = 'C54131' and value.codeSystem = '2.16.840.1.113883.3.26.1.1') - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.302' and id.extension = '2019-06-21') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = 'C99286' and value.codeSystem = '2.16.840.1.113883.3.26.1.1') - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | element.oclIsTypeOf(datatypes::ED))) @@ -42792,28 +42792,28 @@ value.code = 'C99286' and value.codeSystem = '2.16.840.1.113883.3.26.1.1') - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.301' and id.extension = '2019-06-21') - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in value.code = 'C71898' and value.codeSystem = '2.16.840.1.113883.3.26.1.1') - - + + OCL (self.value->isEmpty() or self.value->exists(element | element.isNullFlavorUndefined())) implies (self.value->size() = 1 and self.value->forAll(element | element.oclIsTypeOf(datatypes::ED))) @@ -42823,132 +42823,132 @@ value.code = 'C71898' and value.codeSystem = '2.16.840.1.113883.3.26.1.1') - - + + OCL self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.4.311' and id.extension = '2019-06-21') - - + + OCL (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (( not self.id->isEmpty()) ) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined()) - - + + OCL (self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CD) and let value : datatypes::CD = self.code.oclAsType(datatypes::CD) in not value.codeSystem.oclIsUndefined() or not value.codeSystemName.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined()) - - + + OCL (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined() and self.statusCode.oclIsKindOf(datatypes::CS) and let value : datatypes::CS = self.statusCode.oclAsType(datatypes::CS) in value.code = 'completed') - - + + OCL isDefined('classCode') - - + + OCL isDefined('moodCode') - - + + OCL self.component->one(component : cda::Component4 | not component.observation.oclIsUndefined() and component.observation.oclIsKindOf(consol::DeviceIdentifierObservation)) - - + + OCL self.component->one(component : cda::Component4 | not component.observation.oclIsUndefined() and component.observation.oclIsKindOf(consol::LotOrBatchNumberObservation)) - - + + OCL self.component->one(component : cda::Component4 | not component.observation.oclIsUndefined() and component.observation.oclIsKindOf(consol::SerialNumberObservation)) - - + + OCL self.component->one(component : cda::Component4 | not component.observation.oclIsUndefined() and component.observation.oclIsKindOf(consol::ManufacturingDateObservation)) - - + + OCL self.component->one(component : cda::Component4 | not component.observation.oclIsUndefined() and component.observation.oclIsKindOf(consol::ExpirationDateObservation)) - - + + OCL self.component->one(component : cda::Component4 | not component.observation.oclIsUndefined() and component.observation.oclIsKindOf(consol::DistinctIdentificationCodeObservation)) - - + + OCL self.component->one(component : cda::Component4 | not component.observation.oclIsUndefined() and component.observation.oclIsKindOf(consol::BrandNameObservation)) - - + + OCL self.component->one(component : cda::Component4 | not component.observation.oclIsUndefined() and component.observation.oclIsKindOf(consol::ModelNumberObservation)) - - + + OCL self.component->one(component : cda::Component4 | not component.observation.oclIsUndefined() and component.observation.oclIsKindOf(consol::CompanyNameObservation)) - - + + OCL self.component->one(component : cda::Component4 | not component.observation.oclIsUndefined() and component.observation.oclIsKindOf(consol::CatalogNumberObservation)) - - + + OCL self.component->one(component : cda::Component4 | not component.observation.oclIsUndefined() and component.observation.oclIsKindOf(consol::LatexSafetyObservation)) - - + + OCL self.component->one(component : cda::Component4 | not component.observation.oclIsUndefined() and component.observation.oclIsKindOf(consol::MRISafetyObservation)) - - + + OCL self.component->one(component : cda::Component4 | not component.observation.oclIsUndefined() and component.observation.oclIsKindOf(consol::ImplantableDeviceStatusObservation)) @@ -42956,147 +42956,147 @@ value.code = 'completed') - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::DeviceIdentifierObservation))->asSequence()->any(true).oclAsType(consol::DeviceIdentifierObservation) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::LotOrBatchNumberObservation))->asSequence()->any(true).oclAsType(consol::LotOrBatchNumberObservation) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::SerialNumberObservation))->asSequence()->any(true).oclAsType(consol::SerialNumberObservation) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ManufacturingDateObservation))->asSequence()->any(true).oclAsType(consol::ManufacturingDateObservation) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ExpirationDateObservation))->asSequence()->any(true).oclAsType(consol::ExpirationDateObservation) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::DistinctIdentificationCodeObservation))->asSequence()->any(true).oclAsType(consol::DistinctIdentificationCodeObservation) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::BrandNameObservation))->asSequence()->any(true).oclAsType(consol::BrandNameObservation) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ModelNumberObservation))->asSequence()->any(true).oclAsType(consol::ModelNumberObservation) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::CompanyNameObservation))->asSequence()->any(true).oclAsType(consol::CompanyNameObservation) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::CatalogNumberObservation))->asSequence()->any(true).oclAsType(consol::CatalogNumberObservation) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::LatexSafetyObservation))->asSequence()->any(true).oclAsType(consol::LatexSafetyObservation) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::MRISafetyObservation))->asSequence()->any(true).oclAsType(consol::MRISafetyObservation) - - + + - - - + + + OCL self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ImplantableDeviceStatusObservation))->asSequence()->any(true).oclAsType(consol::ImplantableDeviceStatusObservation) - - + + @@ -43106,8 +43106,8 @@ value.code = 'completed') - - + + @@ -46335,10 +46335,10 @@ value.code = 'completed') CONF:4437-3443 CONF:4437-3444 - + http://www.eclipse.org/mdht/uml initializers='org.openhealthtools.mdht.uml.cda.consol' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='GeneralHeaderConstraintsTemplateId GeneralHeaderConstraintsTypeIdRoot GeneralHeaderConstraintsTypeIdExtension GeneralHeaderConstraintsSetIdVersionNumber GeneralHeaderConstraintsVersionNumberSetId GeneralHeaderConstraintsRealmCode GeneralHeaderConstraintsTypeId GeneralHeaderConstraintsId GeneralHeaderConstraintsCode GeneralHeaderConstraintsTitle GeneralHeaderConstraintsEffectiveTime GeneralHeaderConstraintsConfidentialityCodeP GeneralHeaderConstraintsLanguageCode GeneralHeaderConstraintsLanguageCodeP GeneralHeaderConstraintsAuthor GeneralHeaderConstraintsCustodian GeneralHeaderConstraintsRecordTarget GeneralHeaderConstraintsUSRealmDateAndTimeDTMPreciseToTheDayTS GeneralHeaderConstraintsRecordTargetPatientRoleGeneralHeaderConstraintsUSRealmAddressUSRealmAddressStreet GeneralHeaderConstraintsRecordTargetPatientRoleGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequireStateElement GeneralHeaderConstraintsRecordTargetPatientRoleGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequirePostalCodeElement GeneralHeaderConstraintsRecordTargetPatientRoleGeneralHeaderConstraintsUSRealmAddressUse GeneralHeaderConstraintsRecordTargetPatientRoleGeneralHeaderConstraintsUSRealmAddressCity GeneralHeaderConstraintsRecordTargetPatientRoleGeneralHeaderConstraintsUSRealmAddressStreetAddressLine GeneralHeaderConstraintsRecordTargetPatientRolePatientGeneralHeaderConstraintsUSRealmPatientNameUSRealmPatientNameMixedContent GeneralHeaderConstraintsRecordTargetPatientRolePatientGeneralHeaderConstraintsUSRealmPatientNameUse GeneralHeaderConstraintsRecordTargetPatientRolePatientGeneralHeaderConstraintsUSRealmPatientNameFamily GeneralHeaderConstraintsRecordTargetPatientRolePatientGeneralHeaderConstraintsUSRealmPatientNameGiven GeneralHeaderConstraintsRecordTargetPatientRolePatientTSBirthTimePreciseToYear GeneralHeaderConstraintsRecordTargetPatientRolePatientTSValue GeneralHeaderConstraintsRecordTargetPatientRolePatientGuardianGeneralHeaderConstraintsUSRealmAddressUSRealmAddressStreet GeneralHeaderConstraintsRecordTargetPatientRolePatientGuardianGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequireStateElement GeneralHeaderConstraintsRecordTargetPatientRolePatientGuardianGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequirePostalCodeElement GeneralHeaderConstraintsRecordTargetPatientRolePatientGuardianGeneralHeaderConstraintsUSRealmAddressUse GeneralHeaderConstraintsRecordTargetPatientRolePatientGuardianGeneralHeaderConstraintsUSRealmAddressCity GeneralHeaderConstraintsRecordTargetPatientRolePatientGuardianGeneralHeaderConstraintsUSRealmAddressStreetAddressLine GeneralHeaderConstraintsRecordTargetPatientRolePatientGuardianPersonGeneralHeaderConstraintsUSRealmPersonNameUSRealmPersonNameMixedContent GeneralHeaderConstraintsRecordTargetPatientRolePatientGuardianPersonName GeneralHeaderConstraintsRecordTargetPatientRolePatientGuardianCodeFromPersonalRelationshipOrResponsibleParty GeneralHeaderConstraintsRecordTargetPatientRolePatientGuardianGuardianPerson GeneralHeaderConstraintsRecordTargetPatientRolePatientBirthplacePlaceHasState GeneralHeaderConstraintsRecordTargetPatientRolePatientBirthplacePlaceAddr GeneralHeaderConstraintsRecordTargetPatientRolePatientBirthplacePlace GeneralHeaderConstraintsRecordTargetPatientRolePatientLanguageCommunicationLanguageCode GeneralHeaderConstraintsRecordTargetPatientRolePatientLanguageCommunicationLanguageCodeP GeneralHeaderConstraintsRecordTargetPatientRolePatientLanguageCommunicationModeCode GeneralHeaderConstraintsRecordTargetPatientRolePatientLanguageCommunicationProficiencyLevelCode GeneralHeaderConstraintsRecordTargetPatientRolePatientIfSdtcEnforceRaceCode GeneralHeaderConstraintsRecordTargetPatientRolePatientName GeneralHeaderConstraintsRecordTargetPatientRolePatientAdministrativeGenderCode GeneralHeaderConstraintsRecordTargetPatientRolePatientBirthTime GeneralHeaderConstraintsRecordTargetPatientRolePatientMaritalStatusCode GeneralHeaderConstraintsRecordTargetPatientRolePatientReligiousAffiliationCode GeneralHeaderConstraintsRecordTargetPatientRolePatientRaceCode GeneralHeaderConstraintsRecordTargetPatientRolePatientSDTCRaceCode GeneralHeaderConstraintsRecordTargetPatientRolePatientEthnicGroupCode GeneralHeaderConstraintsRecordTargetPatientRoleProviderOrganizationGeneralHeaderConstraintsUSRealmAddressUSRealmAddressStreet GeneralHeaderConstraintsRecordTargetPatientRoleProviderOrganizationGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequireStateElement GeneralHeaderConstraintsRecordTargetPatientRoleProviderOrganizationGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequirePostalCodeElement GeneralHeaderConstraintsRecordTargetPatientRoleProviderOrganizationGeneralHeaderConstraintsUSRealmAddressUse GeneralHeaderConstraintsRecordTargetPatientRoleProviderOrganizationGeneralHeaderConstraintsUSRealmAddressCity GeneralHeaderConstraintsRecordTargetPatientRoleProviderOrganizationGeneralHeaderConstraintsUSRealmAddressStreetAddressLine GeneralHeaderConstraintsRecordTargetPatientRoleProviderOrganizationId GeneralHeaderConstraintsRecordTargetPatientRoleProviderOrganizationName GeneralHeaderConstraintsRecordTargetPatientRoleProviderOrganizationTelecom GeneralHeaderConstraintsRecordTargetPatientRoleProviderOrganizationAddr GeneralHeaderConstraintsRecordTargetPatientRoleId GeneralHeaderConstraintsRecordTargetPatientRoleAddr GeneralHeaderConstraintsRecordTargetPatientRoleTelecom GeneralHeaderConstraintsRecordTargetPatientRolePatient GeneralHeaderConstraintsRecordTargetPatientRole GeneralHeaderConstraintsComponentOfEncompassingEncounterId GeneralHeaderConstraintsComponentOfEncompassingEncounterEffectiveTime GeneralHeaderConstraintsComponentOfEncompassingEncounter GeneralHeaderConstraintsAuthorGeneralHeaderConstraintsUSRealmDateAndTimeDTMPreciseToTheDayTS GeneralHeaderConstraintsAuthorAssignedAuthorGeneralHeaderConstraintsUSRealmAddressUSRealmAddressStreet GeneralHeaderConstraintsAuthorAssignedAuthorGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequireStateElement GeneralHeaderConstraintsAuthorAssignedAuthorGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequirePostalCodeElement GeneralHeaderConstraintsAuthorAssignedAuthorGeneralHeaderConstraintsUSRealmAddressUse GeneralHeaderConstraintsAuthorAssignedAuthorGeneralHeaderConstraintsUSRealmAddressCity GeneralHeaderConstraintsAuthorAssignedAuthorGeneralHeaderConstraintsUSRealmAddressStreetAddressLine GeneralHeaderConstraintsAuthorAssignedAuthorAuthoringDeviceManufacturerModelName GeneralHeaderConstraintsAuthorAssignedAuthorAuthoringDeviceSoftwareName GeneralHeaderConstraintsAuthorAssignedAuthorPersonGeneralHeaderConstraintsUSRealmPersonNameUSRealmPersonNameMixedContent GeneralHeaderConstraintsAuthorAssignedAuthorPersonName GeneralHeaderConstraintsAuthorAssignedAuthorHasOneAssignedPersonOrOneAssignedAuthoringDevice GeneralHeaderConstraintsAuthorAssignedAuthorId GeneralHeaderConstraintsAuthorAssignedAuthorAddr GeneralHeaderConstraintsAuthorAssignedAuthorTelecom GeneralHeaderConstraintsAuthorTime GeneralHeaderConstraintsAuthorAssignedAuthor GeneralHeaderConstraintsDataEntererAssignedEntityGeneralHeaderConstraintsUSRealmAddressUSRealmAddressStreet GeneralHeaderConstraintsDataEntererAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequireStateElement GeneralHeaderConstraintsDataEntererAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequirePostalCodeElement GeneralHeaderConstraintsDataEntererAssignedEntityGeneralHeaderConstraintsUSRealmAddressUse GeneralHeaderConstraintsDataEntererAssignedEntityGeneralHeaderConstraintsUSRealmAddressCity GeneralHeaderConstraintsDataEntererAssignedEntityGeneralHeaderConstraintsUSRealmAddressStreetAddressLine GeneralHeaderConstraintsDataEntererAssignedEntityPersonGeneralHeaderConstraintsUSRealmPersonNameUSRealmPersonNameMixedContent GeneralHeaderConstraintsDataEntererAssignedEntityPersonName GeneralHeaderConstraintsDataEntererAssignedEntityId GeneralHeaderConstraintsDataEntererAssignedEntityAddr GeneralHeaderConstraintsDataEntererAssignedEntityTelecom GeneralHeaderConstraintsDataEntererAssignedEntityAssignedPerson GeneralHeaderConstraintsDataEntererAssignedEntity GeneralHeaderConstraintsCustodianAssignedCustodianCustodianOrganizationGeneralHeaderConstraintsUSRealmAddressUSRealmAddressStreet GeneralHeaderConstraintsCustodianAssignedCustodianCustodianOrganizationGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequireStateElement GeneralHeaderConstraintsCustodianAssignedCustodianCustodianOrganizationGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequirePostalCodeElement GeneralHeaderConstraintsCustodianAssignedCustodianCustodianOrganizationGeneralHeaderConstraintsUSRealmAddressUse GeneralHeaderConstraintsCustodianAssignedCustodianCustodianOrganizationGeneralHeaderConstraintsUSRealmAddressCity GeneralHeaderConstraintsCustodianAssignedCustodianCustodianOrganizationGeneralHeaderConstraintsUSRealmAddressStreetAddressLine GeneralHeaderConstraintsCustodianAssignedCustodianCustodianOrganizationId GeneralHeaderConstraintsCustodianAssignedCustodianCustodianOrganizationName GeneralHeaderConstraintsCustodianAssignedCustodianCustodianOrganizationTelecom GeneralHeaderConstraintsCustodianAssignedCustodianCustodianOrganizationAddr GeneralHeaderConstraintsCustodianAssignedCustodianRepresentedCustodianOrganization GeneralHeaderConstraintsCustodianAssignedCustodian GeneralHeaderConstraintsInformationRecipientIntendedRecipientPersonGeneralHeaderConstraintsUSRealmPersonNameUSRealmPersonNameMixedContent GeneralHeaderConstraintsInformationRecipientIntendedRecipientPersonName GeneralHeaderConstraintsInformationRecipientIntendedRecipientOrganizationName GeneralHeaderConstraintsInformationRecipientIntendedRecipient GeneralHeaderConstraintsLegalAuthenticatorAssignedEntityGeneralHeaderConstraintsUSRealmAddressUSRealmAddressStreet GeneralHeaderConstraintsLegalAuthenticatorAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequireStateElement GeneralHeaderConstraintsLegalAuthenticatorAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequirePostalCodeElement GeneralHeaderConstraintsLegalAuthenticatorAssignedEntityGeneralHeaderConstraintsUSRealmAddressUse GeneralHeaderConstraintsLegalAuthenticatorAssignedEntityGeneralHeaderConstraintsUSRealmAddressCity GeneralHeaderConstraintsLegalAuthenticatorAssignedEntityGeneralHeaderConstraintsUSRealmAddressStreetAddressLine GeneralHeaderConstraintsLegalAuthenticatorAssignedEntityPersonGeneralHeaderConstraintsUSRealmPersonNameUSRealmPersonNameMixedContent GeneralHeaderConstraintsLegalAuthenticatorAssignedEntityPersonName GeneralHeaderConstraintsLegalAuthenticatorAssignedEntityId GeneralHeaderConstraintsLegalAuthenticatorAssignedEntityAddr GeneralHeaderConstraintsLegalAuthenticatorAssignedEntityTelecom GeneralHeaderConstraintsLegalAuthenticatorAssignedEntityAssignedPerson GeneralHeaderConstraintsLegalAuthenticatorTime GeneralHeaderConstraintsLegalAuthenticatorSignatureCodeP GeneralHeaderConstraintsLegalAuthenticatorSignatureCode GeneralHeaderConstraintsLegalAuthenticatorAssignedEntity GeneralHeaderConstraintsAuthenticatorAssignedEntityGeneralHeaderConstraintsUSRealmAddressUSRealmAddressStreet GeneralHeaderConstraintsAuthenticatorAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequireStateElement GeneralHeaderConstraintsAuthenticatorAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequirePostalCodeElement GeneralHeaderConstraintsAuthenticatorAssignedEntityGeneralHeaderConstraintsUSRealmAddressUse GeneralHeaderConstraintsAuthenticatorAssignedEntityGeneralHeaderConstraintsUSRealmAddressCity GeneralHeaderConstraintsAuthenticatorAssignedEntityGeneralHeaderConstraintsUSRealmAddressStreetAddressLine GeneralHeaderConstraintsAuthenticatorAssignedEntityPersonGeneralHeaderConstraintsUSRealmPersonNameUSRealmPersonNameMixedContent GeneralHeaderConstraintsAuthenticatorAssignedEntityPersonName GeneralHeaderConstraintsAuthenticatorAssignedEntityId GeneralHeaderConstraintsAuthenticatorAssignedEntityAddr GeneralHeaderConstraintsAuthenticatorAssignedEntityTelecom GeneralHeaderConstraintsAuthenticatorAssignedEntityAssignedPerson GeneralHeaderConstraintsAuthenticatorTime GeneralHeaderConstraintsAuthenticatorSignatureCodeP GeneralHeaderConstraintsAuthenticatorSignatureCode GeneralHeaderConstraintsAuthenticatorAssignedEntity GeneralHeaderConstraintsInformantAssignedEntityGeneralHeaderConstraintsUSRealmAddressUSRealmAddressStreet GeneralHeaderConstraintsInformantAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequireStateElement GeneralHeaderConstraintsInformantAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequirePostalCodeElement GeneralHeaderConstraintsInformantAssignedEntityGeneralHeaderConstraintsUSRealmAddressUse GeneralHeaderConstraintsInformantAssignedEntityGeneralHeaderConstraintsUSRealmAddressCity GeneralHeaderConstraintsInformantAssignedEntityGeneralHeaderConstraintsUSRealmAddressStreetAddressLine GeneralHeaderConstraintsInformantAssignedEntityPersonGeneralHeaderConstraintsUSRealmPersonNameUSRealmPersonNameMixedContent GeneralHeaderConstraintsInformantAssignedEntityPersonName GeneralHeaderConstraintsInformantAssignedEntityId GeneralHeaderConstraintsInformantAssignedEntityAssignedPerson GeneralHeaderConstraintsInformantRelatedEntityGeneralHeaderConstraintsUSRealmAddressUSRealmAddressStreet GeneralHeaderConstraintsInformantRelatedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequireStateElement GeneralHeaderConstraintsInformantRelatedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequirePostalCodeElement GeneralHeaderConstraintsInformantRelatedEntityGeneralHeaderConstraintsUSRealmAddressUse GeneralHeaderConstraintsInformantRelatedEntityGeneralHeaderConstraintsUSRealmAddressCity GeneralHeaderConstraintsInformantRelatedEntityGeneralHeaderConstraintsUSRealmAddressStreetAddressLine GeneralHeaderConstraintsInformantRelatedEntityPersonGeneralHeaderConstraintsUSRealmPersonNameUSRealmPersonNameMixedContent GeneralHeaderConstraintsInformantRelatedEntityPerson GeneralHeaderConstraintsInformantHasAssignedEntityOrRelatedEntity GeneralHeaderConstraintsParticipantSupportAssociatedEntityHasAssociatedPersonOrScopingOrganization GeneralHeaderConstraintsInFulfillmentOfOrderId GeneralHeaderConstraintsInFulfillmentOfOrder GeneralHeaderConstraintsDocumentationOfServiceEventPerformer1AssignedEntityId GeneralHeaderConstraintsDocumentationOfServiceEventPerformer1TypeCode GeneralHeaderConstraintsDocumentationOfServiceEventPerformer1AssignedEntity GeneralHeaderConstraintsDocumentationOfServiceEventEffectiveTimeLow GeneralHeaderConstraintsDocumentationOfServiceEventEffectiveTime GeneralHeaderConstraintsDocumentationOfServiceEvent GeneralHeaderConstraintsAuthorizationConsentStatusCodeP GeneralHeaderConstraintsAuthorizationConsentStatusCode GeneralHeaderConstraintsAuthorizationConsent' templateId.root='2.16.840.1.113883.10.20.22.1.1' realmCode.code='US' confidentialityCode.codeSystem='2.16.840.1.113883.5.25' confidentialityCode.codeSystemName='ConfidentialityCode' constraints.validation.warning='GeneralHeaderConstraintsConfidentialityCode GeneralHeaderConstraintsLegalAuthenticator GeneralHeaderConstraintsUSRealmDateAndTimeDTMPreciseToTheMinuteTS GeneralHeaderConstraintsUSRealmDateAndTimeDTMIfMorePreciseThanDayIncludeTimeZoneOffsetTS GeneralHeaderConstraintsRecordTargetPatientRoleGeneralHeaderConstraintsUSRealmAddressUseP GeneralHeaderConstraintsRecordTargetPatientRoleGeneralHeaderConstraintsUSRealmAddressCountry GeneralHeaderConstraintsRecordTargetPatientRoleGeneralHeaderConstraintsUSRealmAddressState GeneralHeaderConstraintsRecordTargetPatientRoleGeneralHeaderConstraintsUSRealmAddressPostalCode GeneralHeaderConstraintsRecordTargetPatientRoleTELUse GeneralHeaderConstraintsRecordTargetPatientRolePatientTSBirthTimePreciseToDay GeneralHeaderConstraintsRecordTargetPatientRolePatientGuardianGeneralHeaderConstraintsUSRealmAddressUseP GeneralHeaderConstraintsRecordTargetPatientRolePatientGuardianGeneralHeaderConstraintsUSRealmAddressCountry GeneralHeaderConstraintsRecordTargetPatientRolePatientGuardianGeneralHeaderConstraintsUSRealmAddressState GeneralHeaderConstraintsRecordTargetPatientRolePatientGuardianGeneralHeaderConstraintsUSRealmAddressPostalCode GeneralHeaderConstraintsRecordTargetPatientRolePatientGuardianTELUse GeneralHeaderConstraintsRecordTargetPatientRolePatientGuardianCode GeneralHeaderConstraintsRecordTargetPatientRolePatientGuardianAddr GeneralHeaderConstraintsRecordTargetPatientRolePatientLanguageCommunicationProficiencyLevelCodeP GeneralHeaderConstraintsRecordTargetPatientRolePatientMaritalStatusCodeP GeneralHeaderConstraintsRecordTargetPatientRolePatientRaceCodeP GeneralHeaderConstraintsRecordTargetPatientRolePatientLanguageCommunication GeneralHeaderConstraintsRecordTargetPatientRoleProviderOrganizationTELUse GeneralHeaderConstraintsRecordTargetPatientRoleProviderOrganizationGeneralHeaderConstraintsUSRealmAddressUseP GeneralHeaderConstraintsRecordTargetPatientRoleProviderOrganizationGeneralHeaderConstraintsUSRealmAddressCountry GeneralHeaderConstraintsRecordTargetPatientRoleProviderOrganizationGeneralHeaderConstraintsUSRealmAddressState GeneralHeaderConstraintsRecordTargetPatientRoleProviderOrganizationGeneralHeaderConstraintsUSRealmAddressPostalCode GeneralHeaderConstraintsRecordTargetPatientRoleProviderOrganizationHasNationalProviderIdentifier GeneralHeaderConstraintsAuthorGeneralHeaderConstraintsUSRealmDateAndTimeDTMPreciseToTheMinuteTS GeneralHeaderConstraintsAuthorGeneralHeaderConstraintsUSRealmDateAndTimeDTMIfMorePreciseThanDayIncludeTimeZoneOffsetTS GeneralHeaderConstraintsAuthorAssignedAuthorGeneralHeaderConstraintsUSRealmAddressUseP GeneralHeaderConstraintsAuthorAssignedAuthorGeneralHeaderConstraintsUSRealmAddressCountry GeneralHeaderConstraintsAuthorAssignedAuthorGeneralHeaderConstraintsUSRealmAddressState GeneralHeaderConstraintsAuthorAssignedAuthorGeneralHeaderConstraintsUSRealmAddressPostalCode GeneralHeaderConstraintsAuthorAssignedAuthorTELUse GeneralHeaderConstraintsAuthorAssignedAuthorHasNationalProviderIdentifier GeneralHeaderConstraintsAuthorAssignedAuthorCodeP GeneralHeaderConstraintsAuthorAssignedAuthorCode GeneralHeaderConstraintsDataEntererAssignedEntityGeneralHeaderConstraintsUSRealmAddressUseP GeneralHeaderConstraintsDataEntererAssignedEntityGeneralHeaderConstraintsUSRealmAddressCountry GeneralHeaderConstraintsDataEntererAssignedEntityGeneralHeaderConstraintsUSRealmAddressState GeneralHeaderConstraintsDataEntererAssignedEntityGeneralHeaderConstraintsUSRealmAddressPostalCode GeneralHeaderConstraintsDataEntererAssignedEntityTELUse GeneralHeaderConstraintsDataEntererAssignedEntityHasNationalProviderIdentifier GeneralHeaderConstraintsDataEntererAssignedEntityCode GeneralHeaderConstraintsCustodianAssignedCustodianCustodianOrganizationTELUse GeneralHeaderConstraintsCustodianAssignedCustodianCustodianOrganizationGeneralHeaderConstraintsUSRealmAddressUseP GeneralHeaderConstraintsCustodianAssignedCustodianCustodianOrganizationGeneralHeaderConstraintsUSRealmAddressCountry GeneralHeaderConstraintsCustodianAssignedCustodianCustodianOrganizationGeneralHeaderConstraintsUSRealmAddressState GeneralHeaderConstraintsCustodianAssignedCustodianCustodianOrganizationGeneralHeaderConstraintsUSRealmAddressPostalCode GeneralHeaderConstraintsCustodianAssignedCustodianCustodianOrganizationHasNationalProviderIdentifier GeneralHeaderConstraintsLegalAuthenticatorAssignedEntityGeneralHeaderConstraintsUSRealmAddressUseP GeneralHeaderConstraintsLegalAuthenticatorAssignedEntityGeneralHeaderConstraintsUSRealmAddressCountry GeneralHeaderConstraintsLegalAuthenticatorAssignedEntityGeneralHeaderConstraintsUSRealmAddressState GeneralHeaderConstraintsLegalAuthenticatorAssignedEntityGeneralHeaderConstraintsUSRealmAddressPostalCode GeneralHeaderConstraintsLegalAuthenticatorAssignedEntityTELUse GeneralHeaderConstraintsLegalAuthenticatorAssignedEntityCode GeneralHeaderConstraintsAuthenticatorAssignedEntityGeneralHeaderConstraintsUSRealmAddressUseP GeneralHeaderConstraintsAuthenticatorAssignedEntityGeneralHeaderConstraintsUSRealmAddressCountry GeneralHeaderConstraintsAuthenticatorAssignedEntityGeneralHeaderConstraintsUSRealmAddressState GeneralHeaderConstraintsAuthenticatorAssignedEntityGeneralHeaderConstraintsUSRealmAddressPostalCode GeneralHeaderConstraintsAuthenticatorAssignedEntityTELUse GeneralHeaderConstraintsAuthenticatorAssignedEntityHasNationalProviderIdentifier GeneralHeaderConstraintsAuthenticatorAssignedEntityCode GeneralHeaderConstraintsInformantAssignedEntityGeneralHeaderConstraintsUSRealmAddressUseP GeneralHeaderConstraintsInformantAssignedEntityGeneralHeaderConstraintsUSRealmAddressCountry GeneralHeaderConstraintsInformantAssignedEntityGeneralHeaderConstraintsUSRealmAddressState GeneralHeaderConstraintsInformantAssignedEntityGeneralHeaderConstraintsUSRealmAddressPostalCode GeneralHeaderConstraintsInformantAssignedEntityHasNationalProviderIdentifier GeneralHeaderConstraintsInformantAssignedEntityCode GeneralHeaderConstraintsInformantAssignedEntityAddr GeneralHeaderConstraintsInformantRelatedEntityGeneralHeaderConstraintsUSRealmAddressUseP GeneralHeaderConstraintsInformantRelatedEntityGeneralHeaderConstraintsUSRealmAddressCountry GeneralHeaderConstraintsInformantRelatedEntityGeneralHeaderConstraintsUSRealmAddressState GeneralHeaderConstraintsInformantRelatedEntityGeneralHeaderConstraintsUSRealmAddressPostalCode GeneralHeaderConstraintsInformantRelatedEntityAddr GeneralHeaderConstraintsDocumentationOfServiceEventPerformer1AssignedEntityHasNationalProviderIdentifier GeneralHeaderConstraintsDocumentationOfServiceEventPerformer1AssignedEntityCodeP GeneralHeaderConstraintsDocumentationOfServiceEventPerformer1AssignedEntityCode GeneralHeaderConstraintsDocumentationOfServiceEventPerformer1FunctionCode GeneralHeaderConstraintsDocumentationOfServiceEventPerformer' constraints.validation.dependOn.GeneralHeaderConstraintsConfidentialityCode='GeneralHeaderConstraintsConfidentialityCodeP' constraints.validation.info='GeneralHeaderConstraintsSetId GeneralHeaderConstraintsVersionNumber GeneralHeaderConstraintsDataEnterer GeneralHeaderConstraintsInformationRecipient GeneralHeaderConstraintsAuthenticator GeneralHeaderConstraintsComponentOf GeneralHeaderConstraintsInformant GeneralHeaderConstraintsSupportParticipant GeneralHeaderConstraintsInFulfillmentOf GeneralHeaderConstraintsDocumentationOf GeneralHeaderConstraintsAuthorization GeneralHeaderConstraintsUSRealmDateAndTimeDTMPreciseToTheSecondTS GeneralHeaderConstraintsRecordTargetPatientRolePatientGeneralHeaderConstraintsUSRealmPatientNameUseP GeneralHeaderConstraintsRecordTargetPatientRolePatientGeneralHeaderConstraintsUSRealmPatientNamePrefix GeneralHeaderConstraintsRecordTargetPatientRolePatientGeneralHeaderConstraintsUSRealmPatientNameSuffix GeneralHeaderConstraintsRecordTargetPatientRolePatientGuardianTelecom GeneralHeaderConstraintsRecordTargetPatientRolePatientLanguageCommunicationModeCodeP GeneralHeaderConstraintsRecordTargetPatientRolePatientLanguageCommunicationPreferenceInd GeneralHeaderConstraintsRecordTargetPatientRolePatientReligiousAffiliationCodeP GeneralHeaderConstraintsRecordTargetPatientRolePatientSDTCRaceCodeP GeneralHeaderConstraintsRecordTargetPatientRolePatientEthnicGroupCodeP GeneralHeaderConstraintsRecordTargetPatientRolePatientGuardian GeneralHeaderConstraintsRecordTargetPatientRolePatientBirthplace GeneralHeaderConstraintsRecordTargetPatientRoleProviderOrganization GeneralHeaderConstraintsAuthorGeneralHeaderConstraintsUSRealmDateAndTimeDTMPreciseToTheSecondTS GeneralHeaderConstraintsDataEntererAssignedEntityCodeP GeneralHeaderConstraintsInformationRecipientIntendedRecipientInformationRecipient GeneralHeaderConstraintsInformationRecipientIntendedRecipientRecievedOrganization GeneralHeaderConstraintsLegalAuthenticatorAssignedEntityHasNationalProviderIdentifier GeneralHeaderConstraintsLegalAuthenticatorAssignedEntityCodeP GeneralHeaderConstraintsAuthenticatorAssignedEntityCodeP GeneralHeaderConstraintsInformantAssignedEntityCodeP GeneralHeaderConstraintsParticipantSupportTime GeneralHeaderConstraintsDocumentationOfServiceEventPerformer1FunctionCodeP GeneralHeaderConstraintsAuthorizationConsentId GeneralHeaderConstraintsAuthorizationConsentCode' constraints.validation.query='GeneralHeaderConstraintsUSRealmDateAndTimeDTMPreciseToTheDayTS GeneralHeaderConstraintsUSRealmDateAndTimeDTMPreciseToTheMinuteTS GeneralHeaderConstraintsUSRealmDateAndTimeDTMPreciseToTheSecondTS GeneralHeaderConstraintsUSRealmDateAndTimeDTMIfMorePreciseThanDayIncludeTimeZoneOffsetTS GeneralHeaderConstraintsRecordTargetPatientRoleGeneralHeaderConstraintsUSRealmAddressUSRealmAddressStreet GeneralHeaderConstraintsRecordTargetPatientRoleGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequireStateElement GeneralHeaderConstraintsRecordTargetPatientRoleGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequirePostalCodeElement GeneralHeaderConstraintsRecordTargetPatientRoleGeneralHeaderConstraintsUSRealmAddressUse GeneralHeaderConstraintsRecordTargetPatientRoleGeneralHeaderConstraintsUSRealmAddressUseP GeneralHeaderConstraintsRecordTargetPatientRoleGeneralHeaderConstraintsUSRealmAddressCountry GeneralHeaderConstraintsRecordTargetPatientRoleGeneralHeaderConstraintsUSRealmAddressState GeneralHeaderConstraintsRecordTargetPatientRoleGeneralHeaderConstraintsUSRealmAddressCity GeneralHeaderConstraintsRecordTargetPatientRoleGeneralHeaderConstraintsUSRealmAddressPostalCode GeneralHeaderConstraintsRecordTargetPatientRoleGeneralHeaderConstraintsUSRealmAddressStreetAddressLine GeneralHeaderConstraintsRecordTargetPatientRoleTELUse GeneralHeaderConstraintsRecordTargetPatientRolePatientGeneralHeaderConstraintsUSRealmPatientNameUSRealmPatientNameMixedContent GeneralHeaderConstraintsRecordTargetPatientRolePatientGeneralHeaderConstraintsUSRealmPatientNameUse GeneralHeaderConstraintsRecordTargetPatientRolePatientGeneralHeaderConstraintsUSRealmPatientNameUseP GeneralHeaderConstraintsRecordTargetPatientRolePatientGeneralHeaderConstraintsUSRealmPatientNameFamily GeneralHeaderConstraintsRecordTargetPatientRolePatientGeneralHeaderConstraintsUSRealmPatientNameGiven GeneralHeaderConstraintsRecordTargetPatientRolePatientGeneralHeaderConstraintsUSRealmPatientNamePrefix GeneralHeaderConstraintsRecordTargetPatientRolePatientGeneralHeaderConstraintsUSRealmPatientNameSuffix GeneralHeaderConstraintsRecordTargetPatientRolePatientTSBirthTimePreciseToYear GeneralHeaderConstraintsRecordTargetPatientRolePatientTSBirthTimePreciseToDay GeneralHeaderConstraintsRecordTargetPatientRolePatientTSValue GeneralHeaderConstraintsRecordTargetPatientRolePatientGuardianGeneralHeaderConstraintsUSRealmAddressUSRealmAddressStreet GeneralHeaderConstraintsRecordTargetPatientRolePatientGuardianGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequireStateElement GeneralHeaderConstraintsRecordTargetPatientRolePatientGuardianGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequirePostalCodeElement GeneralHeaderConstraintsRecordTargetPatientRolePatientGuardianGeneralHeaderConstraintsUSRealmAddressUse GeneralHeaderConstraintsRecordTargetPatientRolePatientGuardianGeneralHeaderConstraintsUSRealmAddressUseP GeneralHeaderConstraintsRecordTargetPatientRolePatientGuardianGeneralHeaderConstraintsUSRealmAddressCountry GeneralHeaderConstraintsRecordTargetPatientRolePatientGuardianGeneralHeaderConstraintsUSRealmAddressState GeneralHeaderConstraintsRecordTargetPatientRolePatientGuardianGeneralHeaderConstraintsUSRealmAddressCity GeneralHeaderConstraintsRecordTargetPatientRolePatientGuardianGeneralHeaderConstraintsUSRealmAddressPostalCode GeneralHeaderConstraintsRecordTargetPatientRolePatientGuardianGeneralHeaderConstraintsUSRealmAddressStreetAddressLine GeneralHeaderConstraintsRecordTargetPatientRolePatientGuardianTELUse GeneralHeaderConstraintsRecordTargetPatientRolePatientGuardianPersonGeneralHeaderConstraintsUSRealmPersonNameUSRealmPersonNameMixedContent GeneralHeaderConstraintsRecordTargetPatientRolePatientGuardianPersonName GeneralHeaderConstraintsRecordTargetPatientRolePatientGuardianCodeFromPersonalRelationshipOrResponsibleParty GeneralHeaderConstraintsRecordTargetPatientRolePatientGuardianCode GeneralHeaderConstraintsRecordTargetPatientRolePatientGuardianAddr GeneralHeaderConstraintsRecordTargetPatientRolePatientGuardianTelecom GeneralHeaderConstraintsRecordTargetPatientRolePatientGuardianGuardianPerson GeneralHeaderConstraintsRecordTargetPatientRolePatientBirthplacePlaceHasState GeneralHeaderConstraintsRecordTargetPatientRolePatientBirthplacePlaceAddr GeneralHeaderConstraintsRecordTargetPatientRolePatientBirthplacePlace GeneralHeaderConstraintsRecordTargetPatientRolePatientLanguageCommunicationLanguageCode GeneralHeaderConstraintsRecordTargetPatientRolePatientLanguageCommunicationLanguageCodeP GeneralHeaderConstraintsRecordTargetPatientRolePatientLanguageCommunicationModeCodeP GeneralHeaderConstraintsRecordTargetPatientRolePatientLanguageCommunicationModeCode GeneralHeaderConstraintsRecordTargetPatientRolePatientLanguageCommunicationProficiencyLevelCodeP GeneralHeaderConstraintsRecordTargetPatientRolePatientLanguageCommunicationProficiencyLevelCode GeneralHeaderConstraintsRecordTargetPatientRolePatientLanguageCommunicationPreferenceInd GeneralHeaderConstraintsRecordTargetPatientRolePatientIfSdtcEnforceRaceCode GeneralHeaderConstraintsRecordTargetPatientRolePatientName GeneralHeaderConstraintsRecordTargetPatientRolePatientAdministrativeGenderCode GeneralHeaderConstraintsRecordTargetPatientRolePatientBirthTime GeneralHeaderConstraintsRecordTargetPatientRolePatientMaritalStatusCodeP GeneralHeaderConstraintsRecordTargetPatientRolePatientMaritalStatusCode GeneralHeaderConstraintsRecordTargetPatientRolePatientReligiousAffiliationCodeP GeneralHeaderConstraintsRecordTargetPatientRolePatientReligiousAffiliationCode GeneralHeaderConstraintsRecordTargetPatientRolePatientRaceCodeP GeneralHeaderConstraintsRecordTargetPatientRolePatientRaceCode GeneralHeaderConstraintsRecordTargetPatientRolePatientSDTCRaceCodeP GeneralHeaderConstraintsRecordTargetPatientRolePatientSDTCRaceCode GeneralHeaderConstraintsRecordTargetPatientRolePatientEthnicGroupCodeP GeneralHeaderConstraintsRecordTargetPatientRolePatientEthnicGroupCode GeneralHeaderConstraintsRecordTargetPatientRolePatientGuardian GeneralHeaderConstraintsRecordTargetPatientRolePatientBirthplace GeneralHeaderConstraintsRecordTargetPatientRolePatientLanguageCommunication GeneralHeaderConstraintsRecordTargetPatientRoleProviderOrganizationTELUse GeneralHeaderConstraintsRecordTargetPatientRoleProviderOrganizationGeneralHeaderConstraintsUSRealmAddressUSRealmAddressStreet GeneralHeaderConstraintsRecordTargetPatientRoleProviderOrganizationGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequireStateElement GeneralHeaderConstraintsRecordTargetPatientRoleProviderOrganizationGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequirePostalCodeElement GeneralHeaderConstraintsRecordTargetPatientRoleProviderOrganizationGeneralHeaderConstraintsUSRealmAddressUse GeneralHeaderConstraintsRecordTargetPatientRoleProviderOrganizationGeneralHeaderConstraintsUSRealmAddressUseP GeneralHeaderConstraintsRecordTargetPatientRoleProviderOrganizationGeneralHeaderConstraintsUSRealmAddressCountry GeneralHeaderConstraintsRecordTargetPatientRoleProviderOrganizationGeneralHeaderConstraintsUSRealmAddressState GeneralHeaderConstraintsRecordTargetPatientRoleProviderOrganizationGeneralHeaderConstraintsUSRealmAddressCity GeneralHeaderConstraintsRecordTargetPatientRoleProviderOrganizationGeneralHeaderConstraintsUSRealmAddressPostalCode GeneralHeaderConstraintsRecordTargetPatientRoleProviderOrganizationGeneralHeaderConstraintsUSRealmAddressStreetAddressLine GeneralHeaderConstraintsRecordTargetPatientRoleProviderOrganizationHasNationalProviderIdentifier GeneralHeaderConstraintsRecordTargetPatientRoleProviderOrganizationId GeneralHeaderConstraintsRecordTargetPatientRoleProviderOrganizationName GeneralHeaderConstraintsRecordTargetPatientRoleProviderOrganizationTelecom GeneralHeaderConstraintsRecordTargetPatientRoleProviderOrganizationAddr GeneralHeaderConstraintsRecordTargetPatientRoleId GeneralHeaderConstraintsRecordTargetPatientRoleAddr GeneralHeaderConstraintsRecordTargetPatientRoleTelecom GeneralHeaderConstraintsRecordTargetPatientRolePatient GeneralHeaderConstraintsRecordTargetPatientRoleProviderOrganization GeneralHeaderConstraintsRecordTargetPatientRole GeneralHeaderConstraintsComponentOfEncompassingEncounterId GeneralHeaderConstraintsComponentOfEncompassingEncounterEffectiveTime GeneralHeaderConstraintsComponentOfEncompassingEncounter GeneralHeaderConstraintsAuthorGeneralHeaderConstraintsUSRealmDateAndTimeDTMPreciseToTheDayTS GeneralHeaderConstraintsAuthorGeneralHeaderConstraintsUSRealmDateAndTimeDTMPreciseToTheMinuteTS GeneralHeaderConstraintsAuthorGeneralHeaderConstraintsUSRealmDateAndTimeDTMPreciseToTheSecondTS GeneralHeaderConstraintsAuthorGeneralHeaderConstraintsUSRealmDateAndTimeDTMIfMorePreciseThanDayIncludeTimeZoneOffsetTS GeneralHeaderConstraintsAuthorAssignedAuthorGeneralHeaderConstraintsUSRealmAddressUSRealmAddressStreet GeneralHeaderConstraintsAuthorAssignedAuthorGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequireStateElement GeneralHeaderConstraintsAuthorAssignedAuthorGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequirePostalCodeElement GeneralHeaderConstraintsAuthorAssignedAuthorGeneralHeaderConstraintsUSRealmAddressUse GeneralHeaderConstraintsAuthorAssignedAuthorGeneralHeaderConstraintsUSRealmAddressUseP GeneralHeaderConstraintsAuthorAssignedAuthorGeneralHeaderConstraintsUSRealmAddressCountry GeneralHeaderConstraintsAuthorAssignedAuthorGeneralHeaderConstraintsUSRealmAddressState GeneralHeaderConstraintsAuthorAssignedAuthorGeneralHeaderConstraintsUSRealmAddressCity GeneralHeaderConstraintsAuthorAssignedAuthorGeneralHeaderConstraintsUSRealmAddressPostalCode GeneralHeaderConstraintsAuthorAssignedAuthorGeneralHeaderConstraintsUSRealmAddressStreetAddressLine GeneralHeaderConstraintsAuthorAssignedAuthorTELUse GeneralHeaderConstraintsAuthorAssignedAuthorAuthoringDeviceManufacturerModelName GeneralHeaderConstraintsAuthorAssignedAuthorAuthoringDeviceSoftwareName GeneralHeaderConstraintsAuthorAssignedAuthorPersonGeneralHeaderConstraintsUSRealmPersonNameUSRealmPersonNameMixedContent GeneralHeaderConstraintsAuthorAssignedAuthorPersonName GeneralHeaderConstraintsAuthorAssignedAuthorHasOneAssignedPersonOrOneAssignedAuthoringDevice GeneralHeaderConstraintsAuthorAssignedAuthorHasNationalProviderIdentifier GeneralHeaderConstraintsAuthorAssignedAuthorId GeneralHeaderConstraintsAuthorAssignedAuthorCodeP GeneralHeaderConstraintsAuthorAssignedAuthorCode GeneralHeaderConstraintsAuthorAssignedAuthorAddr GeneralHeaderConstraintsAuthorAssignedAuthorTelecom GeneralHeaderConstraintsAuthorTime GeneralHeaderConstraintsAuthorAssignedAuthor GeneralHeaderConstraintsDataEntererAssignedEntityGeneralHeaderConstraintsUSRealmAddressUSRealmAddressStreet GeneralHeaderConstraintsDataEntererAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequireStateElement GeneralHeaderConstraintsDataEntererAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequirePostalCodeElement GeneralHeaderConstraintsDataEntererAssignedEntityGeneralHeaderConstraintsUSRealmAddressUse GeneralHeaderConstraintsDataEntererAssignedEntityGeneralHeaderConstraintsUSRealmAddressUseP GeneralHeaderConstraintsDataEntererAssignedEntityGeneralHeaderConstraintsUSRealmAddressCountry GeneralHeaderConstraintsDataEntererAssignedEntityGeneralHeaderConstraintsUSRealmAddressState GeneralHeaderConstraintsDataEntererAssignedEntityGeneralHeaderConstraintsUSRealmAddressCity GeneralHeaderConstraintsDataEntererAssignedEntityGeneralHeaderConstraintsUSRealmAddressPostalCode GeneralHeaderConstraintsDataEntererAssignedEntityGeneralHeaderConstraintsUSRealmAddressStreetAddressLine GeneralHeaderConstraintsDataEntererAssignedEntityTELUse GeneralHeaderConstraintsDataEntererAssignedEntityPersonGeneralHeaderConstraintsUSRealmPersonNameUSRealmPersonNameMixedContent GeneralHeaderConstraintsDataEntererAssignedEntityPersonName GeneralHeaderConstraintsDataEntererAssignedEntityHasNationalProviderIdentifier GeneralHeaderConstraintsDataEntererAssignedEntityId GeneralHeaderConstraintsDataEntererAssignedEntityCodeP GeneralHeaderConstraintsDataEntererAssignedEntityCode GeneralHeaderConstraintsDataEntererAssignedEntityAddr GeneralHeaderConstraintsDataEntererAssignedEntityTelecom GeneralHeaderConstraintsDataEntererAssignedEntityAssignedPerson GeneralHeaderConstraintsDataEntererAssignedEntity GeneralHeaderConstraintsCustodianAssignedCustodianCustodianOrganizationTELUse GeneralHeaderConstraintsCustodianAssignedCustodianCustodianOrganizationGeneralHeaderConstraintsUSRealmAddressUSRealmAddressStreet GeneralHeaderConstraintsCustodianAssignedCustodianCustodianOrganizationGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequireStateElement GeneralHeaderConstraintsCustodianAssignedCustodianCustodianOrganizationGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequirePostalCodeElement GeneralHeaderConstraintsCustodianAssignedCustodianCustodianOrganizationGeneralHeaderConstraintsUSRealmAddressUse GeneralHeaderConstraintsCustodianAssignedCustodianCustodianOrganizationGeneralHeaderConstraintsUSRealmAddressUseP GeneralHeaderConstraintsCustodianAssignedCustodianCustodianOrganizationGeneralHeaderConstraintsUSRealmAddressCountry GeneralHeaderConstraintsCustodianAssignedCustodianCustodianOrganizationGeneralHeaderConstraintsUSRealmAddressState GeneralHeaderConstraintsCustodianAssignedCustodianCustodianOrganizationGeneralHeaderConstraintsUSRealmAddressCity GeneralHeaderConstraintsCustodianAssignedCustodianCustodianOrganizationGeneralHeaderConstraintsUSRealmAddressPostalCode GeneralHeaderConstraintsCustodianAssignedCustodianCustodianOrganizationGeneralHeaderConstraintsUSRealmAddressStreetAddressLine GeneralHeaderConstraintsCustodianAssignedCustodianCustodianOrganizationHasNationalProviderIdentifier GeneralHeaderConstraintsCustodianAssignedCustodianCustodianOrganizationId GeneralHeaderConstraintsCustodianAssignedCustodianCustodianOrganizationName GeneralHeaderConstraintsCustodianAssignedCustodianCustodianOrganizationTelecom GeneralHeaderConstraintsCustodianAssignedCustodianCustodianOrganizationAddr GeneralHeaderConstraintsCustodianAssignedCustodianRepresentedCustodianOrganization GeneralHeaderConstraintsCustodianAssignedCustodian GeneralHeaderConstraintsInformationRecipientIntendedRecipientPersonGeneralHeaderConstraintsUSRealmPersonNameUSRealmPersonNameMixedContent GeneralHeaderConstraintsInformationRecipientIntendedRecipientPersonName GeneralHeaderConstraintsInformationRecipientIntendedRecipientOrganizationName GeneralHeaderConstraintsInformationRecipientIntendedRecipientInformationRecipient GeneralHeaderConstraintsInformationRecipientIntendedRecipientRecievedOrganization GeneralHeaderConstraintsInformationRecipientIntendedRecipient GeneralHeaderConstraintsLegalAuthenticatorAssignedEntityGeneralHeaderConstraintsUSRealmAddressUSRealmAddressStreet GeneralHeaderConstraintsLegalAuthenticatorAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequireStateElement GeneralHeaderConstraintsLegalAuthenticatorAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequirePostalCodeElement GeneralHeaderConstraintsLegalAuthenticatorAssignedEntityGeneralHeaderConstraintsUSRealmAddressUse GeneralHeaderConstraintsLegalAuthenticatorAssignedEntityGeneralHeaderConstraintsUSRealmAddressUseP GeneralHeaderConstraintsLegalAuthenticatorAssignedEntityGeneralHeaderConstraintsUSRealmAddressCountry GeneralHeaderConstraintsLegalAuthenticatorAssignedEntityGeneralHeaderConstraintsUSRealmAddressState GeneralHeaderConstraintsLegalAuthenticatorAssignedEntityGeneralHeaderConstraintsUSRealmAddressCity GeneralHeaderConstraintsLegalAuthenticatorAssignedEntityGeneralHeaderConstraintsUSRealmAddressPostalCode GeneralHeaderConstraintsLegalAuthenticatorAssignedEntityGeneralHeaderConstraintsUSRealmAddressStreetAddressLine GeneralHeaderConstraintsLegalAuthenticatorAssignedEntityTELUse GeneralHeaderConstraintsLegalAuthenticatorAssignedEntityPersonGeneralHeaderConstraintsUSRealmPersonNameUSRealmPersonNameMixedContent GeneralHeaderConstraintsLegalAuthenticatorAssignedEntityPersonName GeneralHeaderConstraintsLegalAuthenticatorAssignedEntityHasNationalProviderIdentifier GeneralHeaderConstraintsLegalAuthenticatorAssignedEntityId GeneralHeaderConstraintsLegalAuthenticatorAssignedEntityCodeP GeneralHeaderConstraintsLegalAuthenticatorAssignedEntityCode GeneralHeaderConstraintsLegalAuthenticatorAssignedEntityAddr GeneralHeaderConstraintsLegalAuthenticatorAssignedEntityTelecom GeneralHeaderConstraintsLegalAuthenticatorAssignedEntityAssignedPerson GeneralHeaderConstraintsLegalAuthenticatorTime GeneralHeaderConstraintsLegalAuthenticatorSignatureCodeP GeneralHeaderConstraintsLegalAuthenticatorSignatureCode GeneralHeaderConstraintsLegalAuthenticatorAssignedEntity GeneralHeaderConstraintsAuthenticatorAssignedEntityGeneralHeaderConstraintsUSRealmAddressUSRealmAddressStreet GeneralHeaderConstraintsAuthenticatorAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequireStateElement GeneralHeaderConstraintsAuthenticatorAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequirePostalCodeElement GeneralHeaderConstraintsAuthenticatorAssignedEntityGeneralHeaderConstraintsUSRealmAddressUse GeneralHeaderConstraintsAuthenticatorAssignedEntityGeneralHeaderConstraintsUSRealmAddressUseP GeneralHeaderConstraintsAuthenticatorAssignedEntityGeneralHeaderConstraintsUSRealmAddressCountry GeneralHeaderConstraintsAuthenticatorAssignedEntityGeneralHeaderConstraintsUSRealmAddressState GeneralHeaderConstraintsAuthenticatorAssignedEntityGeneralHeaderConstraintsUSRealmAddressCity GeneralHeaderConstraintsAuthenticatorAssignedEntityGeneralHeaderConstraintsUSRealmAddressPostalCode GeneralHeaderConstraintsAuthenticatorAssignedEntityGeneralHeaderConstraintsUSRealmAddressStreetAddressLine GeneralHeaderConstraintsAuthenticatorAssignedEntityTELUse GeneralHeaderConstraintsAuthenticatorAssignedEntityPersonGeneralHeaderConstraintsUSRealmPersonNameUSRealmPersonNameMixedContent GeneralHeaderConstraintsAuthenticatorAssignedEntityPersonName GeneralHeaderConstraintsAuthenticatorAssignedEntityHasNationalProviderIdentifier GeneralHeaderConstraintsAuthenticatorAssignedEntityId GeneralHeaderConstraintsAuthenticatorAssignedEntityCodeP GeneralHeaderConstraintsAuthenticatorAssignedEntityCode GeneralHeaderConstraintsAuthenticatorAssignedEntityAddr GeneralHeaderConstraintsAuthenticatorAssignedEntityTelecom GeneralHeaderConstraintsAuthenticatorAssignedEntityAssignedPerson GeneralHeaderConstraintsAuthenticatorTime GeneralHeaderConstraintsAuthenticatorSignatureCodeP GeneralHeaderConstraintsAuthenticatorSignatureCode GeneralHeaderConstraintsAuthenticatorAssignedEntity GeneralHeaderConstraintsInformantAssignedEntityGeneralHeaderConstraintsUSRealmAddressUSRealmAddressStreet GeneralHeaderConstraintsInformantAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequireStateElement GeneralHeaderConstraintsInformantAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequirePostalCodeElement GeneralHeaderConstraintsInformantAssignedEntityGeneralHeaderConstraintsUSRealmAddressUse GeneralHeaderConstraintsInformantAssignedEntityGeneralHeaderConstraintsUSRealmAddressUseP GeneralHeaderConstraintsInformantAssignedEntityGeneralHeaderConstraintsUSRealmAddressCountry GeneralHeaderConstraintsInformantAssignedEntityGeneralHeaderConstraintsUSRealmAddressState GeneralHeaderConstraintsInformantAssignedEntityGeneralHeaderConstraintsUSRealmAddressCity GeneralHeaderConstraintsInformantAssignedEntityGeneralHeaderConstraintsUSRealmAddressPostalCode GeneralHeaderConstraintsInformantAssignedEntityGeneralHeaderConstraintsUSRealmAddressStreetAddressLine GeneralHeaderConstraintsInformantAssignedEntityPersonGeneralHeaderConstraintsUSRealmPersonNameUSRealmPersonNameMixedContent GeneralHeaderConstraintsInformantAssignedEntityPersonName GeneralHeaderConstraintsInformantAssignedEntityHasNationalProviderIdentifier GeneralHeaderConstraintsInformantAssignedEntityId GeneralHeaderConstraintsInformantAssignedEntityCodeP GeneralHeaderConstraintsInformantAssignedEntityCode GeneralHeaderConstraintsInformantAssignedEntityAddr GeneralHeaderConstraintsInformantAssignedEntityAssignedPerson GeneralHeaderConstraintsInformantRelatedEntityGeneralHeaderConstraintsUSRealmAddressUSRealmAddressStreet GeneralHeaderConstraintsInformantRelatedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequireStateElement GeneralHeaderConstraintsInformantRelatedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequirePostalCodeElement GeneralHeaderConstraintsInformantRelatedEntityGeneralHeaderConstraintsUSRealmAddressUse GeneralHeaderConstraintsInformantRelatedEntityGeneralHeaderConstraintsUSRealmAddressUseP GeneralHeaderConstraintsInformantRelatedEntityGeneralHeaderConstraintsUSRealmAddressCountry GeneralHeaderConstraintsInformantRelatedEntityGeneralHeaderConstraintsUSRealmAddressState GeneralHeaderConstraintsInformantRelatedEntityGeneralHeaderConstraintsUSRealmAddressCity GeneralHeaderConstraintsInformantRelatedEntityGeneralHeaderConstraintsUSRealmAddressPostalCode GeneralHeaderConstraintsInformantRelatedEntityGeneralHeaderConstraintsUSRealmAddressStreetAddressLine GeneralHeaderConstraintsInformantRelatedEntityPersonGeneralHeaderConstraintsUSRealmPersonNameUSRealmPersonNameMixedContent GeneralHeaderConstraintsInformantRelatedEntityAddr GeneralHeaderConstraintsInformantRelatedEntityPerson GeneralHeaderConstraintsInformantHasAssignedEntityOrRelatedEntity GeneralHeaderConstraintsParticipantSupportAssociatedEntityHasAssociatedPersonOrScopingOrganization GeneralHeaderConstraintsParticipantSupportTime GeneralHeaderConstraintsInFulfillmentOfOrderId GeneralHeaderConstraintsInFulfillmentOfOrder GeneralHeaderConstraintsDocumentationOfServiceEventPerformer1AssignedEntityHasNationalProviderIdentifier GeneralHeaderConstraintsDocumentationOfServiceEventPerformer1AssignedEntityId GeneralHeaderConstraintsDocumentationOfServiceEventPerformer1AssignedEntityCodeP GeneralHeaderConstraintsDocumentationOfServiceEventPerformer1AssignedEntityCode GeneralHeaderConstraintsDocumentationOfServiceEventPerformer1TypeCode GeneralHeaderConstraintsDocumentationOfServiceEventPerformer1FunctionCodeP GeneralHeaderConstraintsDocumentationOfServiceEventPerformer1FunctionCode GeneralHeaderConstraintsDocumentationOfServiceEventPerformer1AssignedEntity GeneralHeaderConstraintsDocumentationOfServiceEventEffectiveTimeLow GeneralHeaderConstraintsDocumentationOfServiceEventEffectiveTime GeneralHeaderConstraintsDocumentationOfServiceEventPerformer GeneralHeaderConstraintsDocumentationOfServiceEvent GeneralHeaderConstraintsAuthorizationConsentId GeneralHeaderConstraintsAuthorizationConsentCode GeneralHeaderConstraintsAuthorizationConsentStatusCodeP GeneralHeaderConstraintsAuthorizationConsentStatusCode GeneralHeaderConstraintsAuthorizationConsent' constraints.validation.dependOn.GeneralHeaderConstraintsRecordTargetPatientRolePatientLanguageCommunicationModeCode='GeneralHeaderConstraintsRecordTargetPatientRolePatientLanguageCommunicationModeCodeP' constraints.validation.dependOn.GeneralHeaderConstraintsRecordTargetPatientRolePatientLanguageCommunicationProficiencyLevelCode='GeneralHeaderConstraintsRecordTargetPatientRolePatientLanguageCommunicationProficiencyLevelCodeP' constraints.validation.dependOn.GeneralHeaderConstraintsRecordTargetPatientRolePatientMaritalStatusCode='GeneralHeaderConstraintsRecordTargetPatientRolePatientMaritalStatusCodeP' constraints.validation.dependOn.GeneralHeaderConstraintsRecordTargetPatientRolePatientReligiousAffiliationCode='GeneralHeaderConstraintsRecordTargetPatientRolePatientReligiousAffiliationCodeP' constraints.validation.dependOn.GeneralHeaderConstraintsRecordTargetPatientRolePatientRaceCode='GeneralHeaderConstraintsRecordTargetPatientRolePatientRaceCodeP' constraints.validation.dependOn.GeneralHeaderConstraintsRecordTargetPatientRolePatientSDTCRaceCode='GeneralHeaderConstraintsRecordTargetPatientRolePatientSDTCRaceCodeP' constraints.validation.dependOn.GeneralHeaderConstraintsRecordTargetPatientRolePatientEthnicGroupCode='GeneralHeaderConstraintsRecordTargetPatientRolePatientEthnicGroupCodeP' constraints.validation.dependOn.GeneralHeaderConstraintsAuthorAssignedAuthorCode='GeneralHeaderConstraintsAuthorAssignedAuthorCodeP' constraints.validation.dependOn.GeneralHeaderConstraintsDataEntererAssignedEntityCode='GeneralHeaderConstraintsDataEntererAssignedEntityCodeP' constraints.validation.dependOn.GeneralHeaderConstraintsLegalAuthenticatorAssignedEntityCode='GeneralHeaderConstraintsLegalAuthenticatorAssignedEntityCodeP' constraints.validation.dependOn.GeneralHeaderConstraintsLegalAuthenticatorSignatureCode='GeneralHeaderConstraintsLegalAuthenticatorSignatureCodeP' constraints.validation.dependOn.GeneralHeaderConstraintsAuthenticatorAssignedEntityCode='GeneralHeaderConstraintsAuthenticatorAssignedEntityCodeP' constraints.validation.dependOn.GeneralHeaderConstraintsAuthenticatorSignatureCode='GeneralHeaderConstraintsAuthenticatorSignatureCodeP' constraints.validation.dependOn.GeneralHeaderConstraintsInformantAssignedEntityCode='GeneralHeaderConstraintsInformantAssignedEntityCodeP' constraints.validation.dependOn.GeneralHeaderConstraintsDocumentationOfServiceEventPerformer1AssignedEntityCode='GeneralHeaderConstraintsDocumentationOfServiceEventPerformer1AssignedEntityCodeP' constraints.validation.dependOn.GeneralHeaderConstraintsDocumentationOfServiceEventPerformer1FunctionCode='GeneralHeaderConstraintsDocumentationOfServiceEventPerformer1FunctionCodeP' constraints.validation.dependOn.GeneralHeaderConstraintsAuthorizationConsentStatusCode='GeneralHeaderConstraintsAuthorizationConsentStatusCodeP' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolGeneralHeaderConstraintsRecordTarget constraints.validation.error='GeneralHeaderConstraintsRecordTargetPatientRole' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolGeneralHeaderConstraintsRecordTargetPatientRole constraints.validation.error='GeneralHeaderConstraintsRecordTargetPatientRoleId GeneralHeaderConstraintsRecordTargetPatientRoleAddr GeneralHeaderConstraintsRecordTargetPatientRoleTelecom GeneralHeaderConstraintsRecordTargetPatientRolePatient PatientRoleGeneralHeaderConstraintsUSRealmAddressUSRealmAddressStreet PatientRoleGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequireStateElement PatientRoleGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequirePostalCodeElement PatientRoleGeneralHeaderConstraintsUSRealmAddressUse PatientRoleGeneralHeaderConstraintsUSRealmAddressCity PatientRoleGeneralHeaderConstraintsUSRealmAddressStreetAddressLine' constraints.validation.info='GeneralHeaderConstraintsRecordTargetPatientRoleProviderOrganization' constraints.validation.query='PatientRoleGeneralHeaderConstraintsUSRealmAddressUSRealmAddressStreet PatientRoleGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequireStateElement PatientRoleGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequirePostalCodeElement PatientRoleGeneralHeaderConstraintsUSRealmAddressUse PatientRoleGeneralHeaderConstraintsUSRealmAddressUseP PatientRoleGeneralHeaderConstraintsUSRealmAddressCountry PatientRoleGeneralHeaderConstraintsUSRealmAddressState PatientRoleGeneralHeaderConstraintsUSRealmAddressCity PatientRoleGeneralHeaderConstraintsUSRealmAddressPostalCode PatientRoleGeneralHeaderConstraintsUSRealmAddressStreetAddressLine GeneralHeaderConstraintsRecordTargetPatientRoleTELUse' constraints.validation.warning='PatientRoleGeneralHeaderConstraintsUSRealmAddressUseP PatientRoleGeneralHeaderConstraintsUSRealmAddressCountry PatientRoleGeneralHeaderConstraintsUSRealmAddressState PatientRoleGeneralHeaderConstraintsUSRealmAddressPostalCode GeneralHeaderConstraintsRecordTargetPatientRoleTELUse' @@ -46399,56 +46399,56 @@ value.code = 'completed') http://www.openhealthtools.org/mdht/uml/cda/annotation/consolGeneralHeaderConstraintsUSRealmDateAndTimeDTM constraints.validation.error='GeneralHeaderConstraintsUSRealmDateAndTimeDTMPreciseToTheDayTS' constraints.validation.warning='GeneralHeaderConstraintsUSRealmDateAndTimeDTMPreciseToTheMinuteTS GeneralHeaderConstraintsUSRealmDateAndTimeDTMIfMorePreciseThanDayIncludeTimeZoneOffsetTS' constraints.validation.info='GeneralHeaderConstraintsUSRealmDateAndTimeDTMPreciseToTheSecondTS' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolGeneralHeaderConstraintsUSRealmPersonName constraints.validation.query='GeneralHeaderConstraintsUSRealmPersonNameUSRealmPersonNameMixedContent' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='AllergyProblemActTemplateId AllergyProblemActEffectiveTimeLow AllergyProblemActEffectiveTimeHigh AllergyProblemActClassCode AllergyProblemActMoodCode AllergyProblemActId AllergyProblemActCode AllergyProblemActStatusCode AllergyProblemActEffectiveTime AllergyProblemActAllergyObservation AllergyProblemActCDCodeAndCodeSystemValues AllergyProblemActCDCode AllergyProblemActCDCodeSystem' templateId.root='2.16.840.1.113883.10.20.22.4.30' classCode='ACT' moodCode='EVN' constraints.validation.query='AllergyProblemActCDCodeAndCodeSystemValues AllergyProblemActCDCode AllergyProblemActCDCodeSystem' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolAllergyProblemActCD constraints.validation.error='AllergyProblemActCDCodeAndCodeSystemValues AllergyProblemActCDCode AllergyProblemActCDCodeSystem' - - + + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='SubstanceOrDeviceAllergyObservationTemplateId AllergyObservationReferenceValue SubstanceOrDeviceAllergyObservationAllergyStatusInversionIndicator SubstanceOrDeviceAllergyObservationReactionInversionIndicator SubstanceOrDeviceAllergyObservationSeverityInversionIndicator AllergyObservationClassCode AllergyObservationMoodCode AllergyObservationId AllergyObservationCode AllergyObservationCodeP AllergyObservationStatusCode AllergyObservationEffectiveTime AllergyObservationValue AllergyObservationParticipantParticipantRolePlayingEntityOriginalTextReferenceValue AllergyObservationParticipantParticipantRolePlayingEntityCodeTerminologyValueSetGroupSRFI AllergyObservationParticipantParticipantRolePlayingEntityClassCode AllergyObservationParticipantParticipantRolePlayingEntityCode AllergyObservationParticipantParticipantRoleClassCode AllergyObservationParticipantParticipantRolePlayingEntity AllergyObservationParticipantTypeCode AllergyObservationParticipantParticipantRole' templateId.root='2.16.840.1.113883.10.20.22.4.7' constraints.validation.warning='AllergyObservationValueOriginalText AllergyObservationOriginalTextReference AllergyObservationOriginalTextReferenceValue AllergyObservationReactionObservation AllergyObservationParticipant AllergyObservationParticipantParticipantRolePlayingEntityCEOriginalText AllergyObservationParticipantParticipantRolePlayingEntityReferenceValue AllergyObservationParticipantParticipantRolePlayingEntityOriginalTextReference' classCode='OBS' moodCode='EVN' code.code='ASSERTION' code.codeSystem='2.16.840.1.113883.5.4' code.codeSystemName='HL7ActCode' constraints.validation.dependOn.AllergyObservationCode='AllergyObservationCodeP' statusCode.code='completed' value.codeSystem='2.16.840.1.113883.6.96' value.codeSystemName='SNOMEDCT' constraints.validation.info='AllergyObservationSeverityObservation AllergyObservationAllergyStatusObservation AllergyObservationParticipantParticipantRolePlayingEntityCETranslation' constraints.validation.query='AllergyObservationParticipantParticipantRolePlayingEntityCEOriginalText AllergyObservationParticipantParticipantRolePlayingEntityCETranslation AllergyObservationParticipantParticipantRolePlayingEntityOriginalTextReferenceValue AllergyObservationParticipantParticipantRolePlayingEntityReferenceValue AllergyObservationParticipantParticipantRolePlayingEntityOriginalTextReference AllergyObservationParticipantParticipantRolePlayingEntityCodeTerminologyValueSetGroupSRFI AllergyObservationParticipantParticipantRolePlayingEntityClassCode AllergyObservationParticipantParticipantRolePlayingEntityCode AllergyObservationParticipantParticipantRoleClassCode AllergyObservationParticipantParticipantRolePlayingEntity AllergyObservationParticipantTypeCode AllergyObservationParticipantParticipantRole' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolAllergyObservationParticipant typeCode='CSM' constraints.validation.error='AllergyObservationParticipantTypeCode AllergyObservationParticipantParticipantRole' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolAllergyObservationParticipantParticipantRole classCode='MANU' constraints.validation.error='AllergyObservationParticipantParticipantRoleClassCode AllergyObservationParticipantParticipantRolePlayingEntity' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolAllergyObservationParticipantParticipantRolePlayingEntity constraints.validation.error='AllergyObservationParticipantParticipantRolePlayingEntityOriginalTextReferenceValue AllergyObservationParticipantParticipantRolePlayingEntityCodeTerminologyValueSetGroupSRFI AllergyObservationParticipantParticipantRolePlayingEntityClassCode AllergyObservationParticipantParticipantRolePlayingEntityCode' constraints.validation.warning='AllergyObservationParticipantParticipantRolePlayingEntityReferenceValue AllergyObservationParticipantParticipantRolePlayingEntityOriginalTextReference PlayingEntityAllergyObservationParticipantParticipantRolePlayingEntityCEOriginalText' classCode='MMAT' constraints.validation.query='PlayingEntityAllergyObservationParticipantParticipantRolePlayingEntityCEOriginalText PlayingEntityAllergyObservationParticipantParticipantRolePlayingEntityCETranslation' constraints.validation.info='PlayingEntityAllergyObservationParticipantParticipantRolePlayingEntityCETranslation' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolAllergyObservationParticipantParticipantRolePlayingEntityCE constraints.validation.warning='AllergyObservationParticipantParticipantRolePlayingEntityCEOriginalText' constraints.validation.info='AllergyObservationParticipantParticipantRolePlayingEntityCETranslation' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='AgeObservationTemplateId AgeObservationValueUnits AgeObservationClassCode AgeObservationMoodCode AgeObservationCode AgeObservationCodeP AgeObservationStatusCode AgeObservationStatusCodeP AgeObservationValue' templateId.root='2.16.840.1.113883.10.20.22.4.31' classCode='OBS' moodCode='EVN' code.code='445518008' code.codeSystem='2.16.840.1.113883.6.96' code.codeSystemName='SNOMEDCT' code.displayName='Age At Onset' constraints.validation.dependOn.AgeObservationCode='AgeObservationCodeP' statusCode.code='completed' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='HealthStatusObservationTemplateId HealthStatusObservationHasTextReferenceValue HealthStatusObservationClassCode HealthStatusObservationMoodCode HealthStatusObservationCode HealthStatusObservationStatusCode HealthStatusObservationValue HealthStatusObservationValueP' templateId.root='2.16.840.1.113883.10.20.22.4.5' constraints.validation.warning='HealthStatusObservationHasTextReference HealthStatusObservationTextReferenceValue HealthStatusObservationText' classCode='OBS' moodCode='EVN' code.code='11323-3' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Health status' statusCode.code='completed' value.codeSystem='2.16.840.1.113883.6.96' value.codeSystemName='SNOMEDCT' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ReactionObservationTemplateId ReactionObservationReferenceValue ReactionObservationSeverityObservationInversionInd ReactionObservationProcedureActivityProcedureInversionInd ReactionObservationMedicationActivityInversionInd ReactionObservationClassCode ReactionObservationMoodCode ReactionObservationId ReactionObservationCode ReactionObservationStatusCode ReactionObservationValue ReactionObservationValueP' templateId.root='2.16.840.1.113883.10.20.22.4.9' constraints.validation.warning='ReactionObservationTextReference ReactionObservationTextReferenceValue ReactionObservationEffectiveTimeLow ReactionObservationEffectiveTimeHigh ReactionObservationText ReactionObservationEffectiveTime ReactionObservationSeverityObservation' classCode='OBS' moodCode='EVN' statusCode.code='completed' value.codeSystem='2.16.840.1.113883.6.96' value.codeSystemName='SNOMEDCT' constraints.validation.info='ReactionObservationProcedureActivityProcedure ReactionObservationMedicationActivity' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='SeverityObservationTemplateId SeverityObservationReferenceValue SeverityObservationClassCode SeverityObservationMoodCode SeverityObservationCode SeverityObservationStatusCode SeverityObservationValue SeverityObservationValueP' templateId.root='2.16.840.1.113883.10.20.22.4.8' constraints.validation.warning='SeverityObservationTextReference SeverityObservationTextReferenceValue SeverityObservationText' classCode='OBS' moodCode='EVN' code.code='SEV' code.codeSystem='2.16.840.1.113883.5.4' code.codeSystemName='HL7ActCode' code.displayName='Severity observation' statusCode.code='completed' value.codeSystem='2.16.840.1.113883.6.96' value.codeSystemName='SNOMEDCT' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='AllergyStatusObservationTemplateId AllergyStatusObservationClassCode AllergyStatusObservationMoodCode AllergyStatusObservationCode AllergyStatusObservationStatusCode AllergyStatusObservationValue' templateId.root='2.16.840.1.113883.10.20.22.4.28' classCode='OBS' moodCode='EVN' code.code='33999-4' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Status' statusCode.code='completed' value.codeSystem='2.16.840.1.113883.6.96' value.codeSystemName='SNOMEDCT' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='CommentActivityTemplateId CommentActivityTextReference CommentActivityTextReferenceValue CommentActivityReferenceValue CommentActivityClassCode CommentActivityMoodCode CommentActivityCode CommentActivityText' templateId.root='2.16.840.1.113883.10.20.22.4.64' classCode='ACT' moodCode='EVN' code.code='48767-8' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Annotation comment' constraints.validation.warning='CommentActivityAuthorParticipation' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='MedicationActivityTemplateId MedicationActivityTextReferenceValue MedicationActivityEffectiveTimeIVLTSorTS MedicationActivityEffectiveTimeIVLTSLow MedicationActivityEffectiveTimeIVLTSHigh MedicationActivityEffectiveTimeTSValue MedicationActivityEffectiveTimeOperator MedicationActivityDrugVehicleTypeCode MedicationActivityInstructionsInversionInd MedicationActivityRateQuantityUnit MedicationActivityClassCode MedicationActivityMoodCode MedicationActivityId MedicationActivityStatusCode MedicationActivityRouteCode MedicationActivityApproachSiteCode MedicationActivityAdministrationUnitCode MedicationActivityConsumable MedicationActivityConsumableMedicationInformation MedicationActivityPreconditionTypeCode MedicationActivityPreconditionPreconditionForSubstanceAdministration' templateId.root='2.16.840.1.113883.10.20.22.4.16' constraints.validation.warning='MedicationActivityDoseQuantityorrateQuantity MedicationActivityTextReference MedicationActivityReferenceValue MedicationActivityEffectiveTimePIVLTS MedicationActivityDoseQuantityUnit MedicationActivityDoseQuantity MedicationActivityText' classCode='SBADM' constraints.validation.info='MedicationActivityCode MedicationActivityRouteCodeP MedicationActivityApproachSiteCodeP MedicationActivityRateQuantity MedicationActivityMaxDoseQuantity MedicationActivityAdministrationUnitCodeP MedicationActivityRepeatNumber MedicationActivityMedicationSupplyOrder MedicationActivityReactionObservation MedicationActivityPerformer MedicationActivityInstructions MedicationActivityIndication MedicationActivityMedicationDispense MedicationActivityDrugVehicle MedicationActivityPrecondition' routeCode.codeSystem='2.16.840.1.113883.3.26.1.1' routeCode.codeSystemName='NCI Thesaurus' constraints.validation.dependOn.MedicationActivityRouteCode='MedicationActivityRouteCodeP' approachSiteCode.codeSystem='2.16.840.1.113883.6.96' approachSiteCode.codeSystemName='SNOMEDCT' administrationUnitCode.codeSystem='2.16.840.1.113883.3.26.1.1' administrationUnitCode.codeSystemName='NCI Thesaurus' constraints.validation.dependOn.MedicationActivityAdministrationUnitCode='MedicationActivityAdministrationUnitCodeP' constraints.validation.query='MedicationActivityConsumableMedicationInformation MedicationActivityPreconditionTypeCode MedicationActivityPreconditionPreconditionForSubstanceAdministration' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolMedicationActivityConsumable constraints.validation.error='MedicationActivityConsumableMedicationInformation' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolMedicationActivityPrecondition typeCode='PRCN' constraints.validation.error='MedicationActivityPreconditionTypeCode MedicationActivityPreconditionPreconditionForSubstanceAdministration' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ProductInstanceTemplateId ProductInstanceClassCode ProductInstanceId ProductInstanceScopingEntity ProductInstancePlayingDevice ProductInstanceScopingEntityId' templateId.root='2.16.840.1.113883.10.20.22.4.37' classCode='MANU' constraints.validation.query='ProductInstanceScopingEntityId ProductInstancePlayingDeviceCode' constraints.validation.warning='ProductInstancePlayingDeviceCode' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolProductInstanceScopingEntity constraints.validation.error='ProductInstanceScopingEntityId' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolProductInstancePlayingDevice constraints.validation.warning='ProductInstancePlayingDeviceCode' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='InstructionsTemplateId InstructionsTextReferenceValue InstructionsClassCode InstructionsMoodCode InstructionsCodeP InstructionsStatusCode' templateId.root='2.16.840.1.113883.10.20.22.4.20' constraints.validation.warning='InstructionsTextReference InstructionsReferenceValue InstructionsCode InstructionsText' classCode='ACT' moodCode='INT' code.codeSystem='2.16.840.1.113883.6.96' code.codeSystemName='SNOMEDCT' constraints.validation.dependOn.InstructionsCode='InstructionsCodeP' statusCode.code='completed' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='NonMedicinalSupplyActivityTemplateId NonMedicinalSupplyActivityProductInstanceTypeCode NonMedicinalSupplyActivityClassCode NonMedicinalSupplyActivityMoodCode NonMedicinalSupplyActivityId NonMedicinalSupplyActivityStatusCode NonMedicinalSupplyActivityProductInstance' templateId.root='2.16.840.1.113883.10.20.22.4.50' constraints.validation.warning='NonMedicinalSupplyActivityEffectiveTimeHigh NonMedicinalSupplyActivityEffectiveTime NonMedicinalSupplyActivityQuantity' classCode='SPLY' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ProblemConcernActTemplateId ProblemConcernActEffectiveTimeLow ProblemConcernActClassCode ProblemConcernActMoodCode ProblemConcernActId ProblemConcernActCode ProblemConcernActCodeP ProblemConcernActStatusCode ProblemConcernActEffectiveTime ProblemConcernActProblemObservation' templateId.root='2.16.840.1.113883.10.20.22.4.3' constraints.validation.warning='ProblemConcernActEffectiveTimeHigh' classCode='ACT' moodCode='EVN' code.code='CONC' code.codeSystem='2.16.840.1.113883.5.6' code.codeSystemName='HL7ActClass' code.displayName='Concern' constraints.validation.dependOn.ProblemConcernActCode='ProblemConcernActCodeP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='GeneralHeaderConstraintsTemplateId ContinuityOfCareDocumentCode ContinuityOfCareDocumentCodeP ContinuityOfCareDocumentLanguageCode ContinuityOfCareDocumentDocumentationOf ContinuityOfCareDocumentAuthor ContinuityOfCareDocumentAllergiesSection ContinuityOfCareDocumentMedicationsSection ContinuityOfCareDocumentProblemSection ContinuityOfCareDocumentProceduresSection ContinuityOfCareDocumentResultsSection ContinuityOfCareDocumentDocumentationOfServiceEventEffectiveTimeHigh ContinuityOfCareDocumentDocumentationOfServiceEventEffectiveTimeLow ContinuityOfCareDocumentDocumentationOfServiceEventPerformerAssignedEntityId ContinuityOfCareDocumentDocumentationOfServiceEventPerformerTypeCode ContinuityOfCareDocumentDocumentationOfServiceEventClassCode ContinuityOfCareDocumentDocumentationOfServiceEventEffectiveTime ContinuityOfCareDocumentDocumentationOfServiceEvent ContinuityOfCareDocumentAuthorAssignedAuthorHasAssignedPersonOrRepresentedOrganization ContinuityOfCareDocumentAuthorAssignedAuthorHasRepresentOrganization ContinuityOfCareDocumentAuthorAssignedAuthor' templateId.root='2.16.840.1.113883.10.20.22.1.2' code.code='34133-9' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Summarization of Episode Note' constraints.validation.dependOn.ContinuityOfCareDocumentCode='ContinuityOfCareDocumentCodeP' constraints.validation.info='ContinuityOfCareDocumentAdvanceDirectivesSection ContinuityOfCareDocumentEncountersSection ContinuityOfCareDocumentFamilyHistorySection ContinuityOfCareDocumentFunctionalStatusSection ContinuityOfCareDocumentImmunizationsSectionEntriesOptional ContinuityOfCareDocumentMedicalEquipmentSection ContinuityOfCareDocumentPayersSection ContinuityOfCareDocumentPlanOfCareSection ContinuityOfCareDocumentSocialHistorySection ContinuityOfCareDocumentVitalSignsSectionEntriesOptional ContinuityOfCareDocumentDocumentationOfServiceEventPerformerAssignedEntityCode ContinuityOfCareDocumentDocumentationOfServiceEventPerformerAssignedEntity' constraints.validation.query='ContinuityOfCareDocumentDocumentationOfServiceEventEffectiveTimeHigh ContinuityOfCareDocumentDocumentationOfServiceEventEffectiveTimeLow ContinuityOfCareDocumentDocumentationOfServiceEventPerformerAssignedEntityHasNationalProviderIdentifier ContinuityOfCareDocumentDocumentationOfServiceEventPerformerAssignedEntityCode ContinuityOfCareDocumentDocumentationOfServiceEventPerformerAssignedEntityId ContinuityOfCareDocumentDocumentationOfServiceEventPerformerTypeCode ContinuityOfCareDocumentDocumentationOfServiceEventPerformerAssignedEntity ContinuityOfCareDocumentDocumentationOfServiceEventClassCode ContinuityOfCareDocumentDocumentationOfServiceEventEffectiveTime ContinuityOfCareDocumentDocumentationOfServiceEventPerformer ContinuityOfCareDocumentDocumentationOfServiceEvent ContinuityOfCareDocumentAuthorAssignedAuthorHasAssignedPersonOrRepresentedOrganization ContinuityOfCareDocumentAuthorAssignedAuthorHasRepresentOrganization ContinuityOfCareDocumentAuthorAssignedAuthor' constraints.validation.warning='ContinuityOfCareDocumentDocumentationOfServiceEventPerformerAssignedEntityHasNationalProviderIdentifier ContinuityOfCareDocumentDocumentationOfServiceEventPerformer' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolContinuityOfCareDocumentDocumentationOf constraints.validation.error='ContinuityOfCareDocumentDocumentationOfServiceEvent' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolContinuityOfCareDocumentDocumentationOfServiceEvent classCode='PCPR' constraints.validation.error='ContinuityOfCareDocumentDocumentationOfServiceEventClassCode ContinuityOfCareDocumentDocumentationOfServiceEventEffectiveTime ContinuityOfCareDocumentDocumentationOfServiceEventEffectiveTimeHigh ContinuityOfCareDocumentDocumentationOfServiceEventEffectiveTimeLow ContinuityOfCareDocumentDocumentationOfServiceEventPerformerAssignedEntityId ContinuityOfCareDocumentDocumentationOfServiceEventPerformerTypeCode' constraints.validation.warning='ContinuityOfCareDocumentDocumentationOfServiceEventPerformer ServiceEventPerformerContinuityOfCareDocumentDocumentationOfServiceEventPerformerAssignedEntityHasNationalProviderIdentifier' constraints.validation.query='ContinuityOfCareDocumentDocumentationOfServiceEventEffectiveTimeHigh ContinuityOfCareDocumentDocumentationOfServiceEventEffectiveTimeLow ServiceEventPerformerContinuityOfCareDocumentDocumentationOfServiceEventPerformerAssignedEntityHasNationalProviderIdentifier ContinuityOfCareDocumentDocumentationOfServiceEventPerformerAssignedEntityCode ContinuityOfCareDocumentDocumentationOfServiceEventPerformerAssignedEntityId ContinuityOfCareDocumentDocumentationOfServiceEventPerformerTypeCode ServiceEventContinuityOfCareDocumentDocumentationOfServiceEventPerformerAssignedEntity' constraints.validation.info='ContinuityOfCareDocumentDocumentationOfServiceEventPerformerAssignedEntityCode ServiceEventContinuityOfCareDocumentDocumentationOfServiceEventPerformerAssignedEntity' @@ -46458,45 +46458,45 @@ value.code = 'completed') http://www.openhealthtools.org/mdht/uml/cda/annotation/consolContinuityOfCareDocumentAuthor constraints.validation.error='ContinuityOfCareDocumentAuthorAssignedAuthor' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolContinuityOfCareDocumentAuthorAssignedAuthor constraints.validation.error='ContinuityOfCareDocumentAuthorAssignedAuthorHasAssignedPersonOrRepresentedOrganization ContinuityOfCareDocumentAuthorAssignedAuthorHasRepresentOrganization' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='FamilyHistorySectionTemplateId FamilyHistorySectionCode FamilyHistorySectionCodeP FamilyHistorySectionTitle FamilyHistorySectionText' templateId.root='2.16.840.1.113883.10.20.22.2.15' code.code='10157-6' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Family History' constraints.validation.info='FamilyHistorySectionFamilyHistory' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='FamilyHistoryOrganizerTemplateId FamilyHistoryOrganizerClassCode FamilyHistoryOrganizerMoodCode FamilyHistoryOrganizerStatusCode FamilyHistoryOrganizerStatusCodeP FamilyHistoryOrganizerFamilyHistoryObservation FamilyHistoryOrganizerSubject FamilyHistoryOrganizerSubjectRelatedSubjectSubjectPersonAdministrativeGenderCode FamilyHistoryOrganizerSubjectRelatedSubjectSubjectPersonAdministrativeGenderCodeP FamilyHistoryOrganizerSubjectRelatedSubjectClassCode FamilyHistoryOrganizerSubjectRelatedSubjectCodeP FamilyHistoryOrganizerSubjectRelatedSubject' templateId.root='2.16.840.1.113883.10.20.22.4.45' classCode='CLUSTER' moodCode='EVN' statusCode.code='completed' constraints.validation.dependOn.FamilyHistoryOrganizerStatusCode='FamilyHistoryOrganizerStatusCodeP' constraints.validation.query='FamilyHistoryOrganizerSubjectRelatedSubjectSubjectPersonAdministrativeGenderCode FamilyHistoryOrganizerSubjectRelatedSubjectSubjectPersonAdministrativeGenderCodeP FamilyHistoryOrganizerSubjectRelatedSubjectSubjectPersonBirthTime FamilyHistoryOrganizerSubjectRelatedSubjectSubjectPersonSDTCDeceasedInd FamilyHistoryOrganizerSubjectRelatedSubjectSubjectPersonSDTCDeceasedTime FamilyHistoryOrganizerSubjectRelatedSubjectSubjectPersonSDTCId FamilyHistoryOrganizerSubjectRelatedSubjectClassCode FamilyHistoryOrganizerSubjectRelatedSubjectCode FamilyHistoryOrganizerSubjectRelatedSubjectCodeP FamilyHistoryOrganizerSubjectRelatedSubjectSubject FamilyHistoryOrganizerSubjectRelatedSubject' constraints.validation.warning='FamilyHistoryOrganizerSubjectRelatedSubjectSubjectPersonBirthTime FamilyHistoryOrganizerSubjectRelatedSubjectSubjectPersonSDTCId FamilyHistoryOrganizerSubjectRelatedSubjectCode FamilyHistoryOrganizerSubjectRelatedSubjectSubject' constraints.validation.info='FamilyHistoryOrganizerSubjectRelatedSubjectSubjectPersonSDTCDeceasedInd FamilyHistoryOrganizerSubjectRelatedSubjectSubjectPersonSDTCDeceasedTime' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolFamilyHistoryOrganizerSubject constraints.validation.error='FamilyHistoryOrganizerSubjectRelatedSubject' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolFamilyHistoryOrganizerSubjectRelatedSubject classCode='PRS' constraints.validation.error='FamilyHistoryOrganizerSubjectRelatedSubjectClassCode FamilyHistoryOrganizerSubjectRelatedSubjectCodeP' code.codeSystem='2.16.840.1.113883.5.111' code.codeSystemName='RoleCode' constraints.validation.warning='FamilyHistoryOrganizerSubjectRelatedSubjectCode FamilyHistoryOrganizerSubjectRelatedSubjectSubject' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolFamilyHistoryOrganizerSubjectRelatedSubjectSubjectPerson administrativeGenderCode.codeSystem='2.16.840.1.113883.5.1' administrativeGenderCode.codeSystemName='AdministrativeGenderCode' constraints.validation.error='FamilyHistoryOrganizerSubjectRelatedSubjectSubjectPersonAdministrativeGenderCode FamilyHistoryOrganizerSubjectRelatedSubjectSubjectPersonAdministrativeGenderCodeP' constraints.validation.warning='FamilyHistoryOrganizerSubjectRelatedSubjectSubjectPersonBirthTime FamilyHistoryOrganizerSubjectRelatedSubjectSubjectPersonSDTCId' constraints.validation.info='FamilyHistoryOrganizerSubjectRelatedSubjectSubjectPersonSDTCDeceasedInd FamilyHistoryOrganizerSubjectRelatedSubjectSubjectPersonSDTCDeceasedTime' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='FamilyHistoryObservationTemplateId FamilyHistoryObservationAgeObservationInversion FamilyHistoryObservationClassCode FamilyHistoryObservationMoodCode FamilyHistoryObservationId FamilyHistoryObservationCodeP FamilyHistoryObservationStatusCode FamilyHistoryObservationStatusCodeP FamilyHistoryObservationValue' templateId.root='2.16.840.1.113883.10.20.22.4.46' classCode='OBS' moodCode='EVN' code.codeSystem='2.16.840.1.113883.6.96' code.codeSystemName='SNOMEDCT' constraints.validation.warning='FamilyHistoryObservationCode FamilyHistoryObservationEffectiveTime' constraints.validation.dependOn.FamilyHistoryObservationCode='FamilyHistoryObservationCodeP' statusCode.code='completed' value.codeSystem='2.16.840.1.113883.6.96' value.codeSystemName='SNOMEDCT' constraints.validation.info='FamilyHistoryObservationAgeObservation FamilyHistoryObservationFamilyHistoryDeathObservation' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='SocialHistorySectionTemplateId SocialHistorySectionCode SocialHistorySectionCodeP SocialHistorySectionTitle SocialHistorySectionText' templateId.root='2.16.840.1.113883.10.20.22.2.17' code.code='29762-2' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Social history' constraints.validation.info='SocialHistorySectionSocialHistoryObservation SocialHistorySectionPregnancyObservation SocialHistorySectionTobaccoUse' constraints.validation.warning='SocialHistorySectionSmokingStatusObservation' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='SocialHistoryObservationTemplateId SocialHistoryObservationReferenceValue SocialHistoryObservationClassCode SocialHistoryObservationMoodCode SocialHistoryObservationId SocialHistoryObservationStatusCode' templateId.root='2.16.840.1.113883.10.20.22.4.38' constraints.validation.warning='SocialHistoryObservationOriginalText SocialHistoryObservationReference SocialHistoryObservationCode SocialHistoryObservationCodeP SocialHistoryObservationValue' classCode='OBS' moodCode='EVN' code.codeSystem='2.16.840.1.113883.6.96' code.codeSystemName='SNOMEDCT' constraints.validation.dependOn.SocialHistoryObservationCode='SocialHistoryObservationCodeP' statusCode.code='completed' - - + + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ResultsSectionEntriesOptionalTemplateId ResultsSectionEntriesOptionalCode ResultsSectionEntriesOptionalCodeP ResultsSectionEntriesOptionalTitle ResultsSectionText ResultsSectionResultOrganizer' templateId.root='2.16.840.1.113883.10.20.22.2.3.1' constraints.validation.dependOn.ResultsSectionEntriesOptionalCode='ResultsSectionEntriesOptionalCodeP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ResultOrganizerTemplateId ResultOrganizerClassCode ResultOrganizerMoodCode ResultOrganizerId ResultOrganizerStatusCode ResultOrganizerStatusCodeP ResultOrganizerCode ResultOrganizerResultObservation' templateId.root='2.16.840.1.113883.10.20.22.4.1' constraints.validation.warning='ResultOrganizerCodeValue ResultOrganizerClassCodeValue' moodCode='EVN' constraints.validation.dependOn.ResultOrganizerStatusCode='ResultOrganizerStatusCodeP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ResultObservationTemplateId ResultObservationTextReferenceValue ResultObservationNoObservationRangeCode ResultObservationClassCode ResultObservationMoodCode ResultObservationId ResultObservationCode ResultObservationStatusCode ResultObservationStatusCodeP ResultObservationEffectiveTime ResultObservationValue' templateId.root='2.16.840.1.113883.10.20.22.4.2' constraints.validation.warning='ResultObservationTextReference ResultObservationReferenceValue ResultObservationCodeValue ResultObservationText ResultObservationInterpretationCode' constraints.validation.info='ResultObservationAuthorMultiplicity ResultObservationMethodCode ResultObservationTargetSiteCode' classCode='OBS' moodCode='EVN' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='MedicalEquipmentSectionTemplateId MedicalEquipmentSectionCode MedicalEquipmentSectionCodeP MedicalEquipmentSectionTitle MedicalEquipmentSectionText' templateId.root='2.16.840.1.113883.10.20.22.2.23' code.code='46264-8' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Medical Equipment' constraints.validation.warning='MedicalEquipmentSectionNonMedicinalSupplyActivity' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='FunctionalStatusSectionTemplateId FunctionalStatusSectionCode FunctionalStatusSectionTitle FunctionalStatusSectionText' templateId.root='2.16.840.1.113883.10.20.22.2.14' code.code='47420-5' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Functional status assessment' constraints.validation.info='FunctionalStatusSectionFunctionalStatusResultOrganizer FunctionalStatusSectionCognitiveStatusResultOrganizer FunctionalStatusSectionFunctionalStatusResultObservation FunctionalStatusSectionCognitiveStatusResultObservation FunctionalStatusSectionFunctionalStatusProblemObservation FunctionalStatusSectionCognitiveStatusProblemObservation FunctionalStatusSectionCaregiverCharacteristics FunctionalStatusSectionAssessmentScaleObservation FunctionalStatusSectionNonMedicinalSupplyActivity FunctionalStatusSectionPressureUlcerObservation FunctionalStatusSectionNumberOfPressureUlcersObservation FunctionalStatusSectionHighestPressureUlcerStage' - - - http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='AdvanceDirectivesSectionEntriesOptionalTemplateId AdvanceDirectivesSectionCode AdvanceDirectivesSectionCodeP AdvanceDirectivesSectionTitle AdvanceDirectivesSectionText AdvanceDirectivesSectionAdvanceDirectiveObservation' templateId.root='2.16.840.1.113883.10.20.22.2.21.1' code.code='42348-3' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Advance directives' constraints.validation.dependOn.AdvanceDirectivesSectionCode='AdvanceDirectivesSectionCodeP' + + + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='AdvanceDirectivesSectionEntriesOptionalTemplateId AdvanceDirectivesSectionEntriesOptionalCode AdvanceDirectivesSectionEntriesOptionalCodeP AdvanceDirectivesSectionTitle AdvanceDirectivesSectionText AdvanceDirectivesSectionAdvanceDirectiveObservation' templateId.root='2.16.840.1.113883.10.20.22.2.21.1' constraints.validation.dependOn.AdvanceDirectivesSectionEntriesOptionalCode='AdvanceDirectivesSectionEntriesOptionalCodeP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='AdvanceDirectiveObservationTemplateId AdvanceDirectiveObservationHasStartingTime AdvanceDirectiveObservationHasEndingTime AdvanceDirectiveObservationClassCode AdvanceDirectiveObservationMoodCode AdvanceDirectiveObservationId AdvanceDirectiveObservationCodeP AdvanceDirectiveObservationStatusCode AdvanceDirectiveObservationEffectiveTime AdvanceDirectiveObservationVerifierTypeCode AdvanceDirectiveObservationVerifierParticipantRole AdvanceDirectiveObservationCustodianCustodianRoleCustodianEntityName AdvanceDirectiveObservationCustodianCustodianRoleClassCode AdvanceDirectiveObservationCustodianCustodianRolePlayingEntity AdvanceDirectiveObservationCustodianTypeCode AdvanceDirectiveObservationCustodianAdvanceDirectiveObservationCustodianRole AdvanceDirectiveObservationReferenceExternalDocumentId AdvanceDirectiveObservationReferenceTypeCode AdvanceDirectiveObservationReferenceExternalDocument' templateId.root='2.16.840.1.113883.10.20.22.4.48' classCode='OBS' moodCode='EVN' code.codeSystem='2.16.840.1.113883.6.96' code.codeSystemName='SNOMEDCT' constraints.validation.warning='AdvanceDirectiveObservationCode AdvanceDirectiveObservationVerifier AdvanceDirectiveObservationCustodian AdvanceDirectiveObservationReference AdvanceDirectiveObservationVerifierTime AdvanceDirectiveObservationCustodianCustodianRoleAddr AdvanceDirectiveObservationCustodianCustodianRoleTelecom' constraints.validation.dependOn.AdvanceDirectiveObservationCode='AdvanceDirectiveObservationCodeP' statusCode.code='completed' constraints.validation.query='AdvanceDirectiveObservationVerifierTime AdvanceDirectiveObservationVerifierTypeCode AdvanceDirectiveObservationVerifierParticipantRole AdvanceDirectiveObservationCustodianCustodianRoleCustodianEntityName AdvanceDirectiveObservationCustodianCustodianRoleAddr AdvanceDirectiveObservationCustodianCustodianRoleClassCode AdvanceDirectiveObservationCustodianCustodianRoleTelecom AdvanceDirectiveObservationCustodianCustodianRolePlayingEntity AdvanceDirectiveObservationCustodianTypeCode AdvanceDirectiveObservationCustodianAdvanceDirectiveObservationCustodianRole AdvanceDirectiveObservationReferenceExternalDocumentTextMediaType AdvanceDirectiveObservationReferenceExternalDocumentTextReference AdvanceDirectiveObservationReferenceExternalDocumentId AdvanceDirectiveObservationReferenceExternalDocumentText AdvanceDirectiveObservationReferenceTypeCode AdvanceDirectiveObservationReferenceExternalDocument' constraints.validation.info='AdvanceDirectiveObservationReferenceExternalDocumentTextMediaType AdvanceDirectiveObservationReferenceExternalDocumentTextReference AdvanceDirectiveObservationReferenceExternalDocumentText' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolAdvanceDirectiveObservationReference typeCode='REFR' constraints.validation.error='AdvanceDirectiveObservationReferenceTypeCode AdvanceDirectiveObservationReferenceExternalDocument' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolAdvanceDirectiveObservationReferenceExternalDocument constraints.validation.info='AdvanceDirectiveObservationReferenceExternalDocumentTextMediaType AdvanceDirectiveObservationReferenceExternalDocumentTextReference AdvanceDirectiveObservationReferenceExternalDocumentText' constraints.validation.error='AdvanceDirectiveObservationReferenceExternalDocumentId' @@ -46505,70 +46505,70 @@ value.code = 'completed') http://www.openhealthtools.org/mdht/uml/cda/annotation/consolAdvanceDirectiveObservationCustodianCustodianRoleCustodianEntity constraints.validation.error='AdvanceDirectiveObservationCustodianCustodianRoleCustodianEntityName' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolAdvanceDirectiveObservationVerifier constraints.validation.warning='AdvanceDirectiveObservationVerifierTime' typeCode='VRF' constraints.validation.error='AdvanceDirectiveObservationVerifierTypeCode AdvanceDirectiveObservationVerifierParticipantRole' - - + + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='AllergiesSectionEntriesOptionalTemplateId AllergiesSectionEntriesOptionalCode AllergiesSectionEntriesOptionalCodeP AllergiesSectionTitle AllergiesSectionText AllergiesSectionAllergyProblemAct' templateId.root='2.16.840.1.113883.10.20.22.2.6.1' constraints.validation.dependOn.AllergiesSectionEntriesOptionalCode='AllergiesSectionEntriesOptionalCodeP' - - + + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ProblemSectionEntriesOptionalTemplateId ProblemSectionEntriesOptionalCode ProblemSectionEntriesOptionalCodeP ProblemSectionEntriesOptionalText ProblemSectionEntriesOptionalTitle ProblemSectionEntriesOptionalProblemConcern' templateId.root='2.16.840.1.113883.10.20.22.2.5.1' constraints.validation.dependOn.ProblemSectionEntriesOptionalCode='ProblemSectionEntriesOptionalCodeP' - - + + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='EncountersSectionEntriesOptionalTemplateId EncountersSectionEntriesOptionalCode EncountersSectionEntriesOptionalCodeP EncountersSectionEntriesOptionalText EncountersSectionEntriesOptionalTitle EncountersSectionEncounterActivities' templateId.root='2.16.840.1.113883.10.20.22.2.22.1' constraints.validation.dependOn.EncountersSectionEntriesOptionalCode='EncountersSectionEntriesOptionalCodeP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='EncounterActivitiesTemplateId EncounterActivitiesCodeOriginalTextReferenceValue EncounterActivitiesSdtcDDCFromNUBCOrDD EncounterActivitiesClassCode EncounterActivitiesMoodCode EncounterActivitiesId EncounterActivitiesEffectiveTime EncounterActivitiesEncounterPerformerEncounterPerformerAssignedEntity' templateId.root='2.16.840.1.113883.10.20.22.4.49' constraints.validation.warning='EncounterActivitiesCodeOriginalText EncounterActivitiesCodeOriginalTextReference EncounterActivitiesReferenceValue EncounterActivitiesServiceDeliveryTypeCode EncounterActivitiesCode' classCode='ENC' moodCode='EVN' code.codeSystem='2.16.840.1.113883.6.12' code.codeSystemName='CPT-4' constraints.validation.info='EncounterActivitiesSDTCDischargeDispositionCode EncounterActivitiesServiceDeliveryLocation EncounterActivitiesIndication EncounterActivitiesEncounterPerformer EncounterActivitiesEncounterDiagnosis EncounterActivitiesEncounterPerformerEncounterPerformerAssignedEntityCode' constraints.validation.query='EncounterActivitiesEncounterPerformerEncounterPerformerAssignedEntityCode EncounterActivitiesEncounterPerformerEncounterPerformerAssignedEntity' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolEncounterActivitiesEncounterPerformer constraints.validation.error='EncounterActivitiesEncounterPerformerEncounterPerformerAssignedEntity' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolEncounterActivitiesEncounterPerformerEncounterPerformerAssignedEntity constraints.validation.info='EncounterActivitiesEncounterPerformerEncounterPerformerAssignedEntityCode' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ServiceDeliveryLocationTemplateId ServiceDeliveryLocationHasPlayingEntityClassCode ServiceDeliveryLocationClassCode ServiceDeliveryLocationCode' templateId.root='2.16.840.1.113883.10.20.22.4.32' constraints.validation.info='ServiceDeliveryLocationHasPlayingEntity ServiceDeliveryLocationHasPlayingEntityName' classCode='SDLOC' code.codeSystem='2.16.840.1.113883.6.259' code.codeSystemName='HealthcareServiceLocation' constraints.validation.warning='ServiceDeliveryLocationAddr ServiceDeliveryLocationTelecom' - - http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ImmunizationsSectionEntriesOptionalTemplateId ImmunizationsSectionCode ImmunizationsSectionCodeP ImmunizationsSectionTitle ImmunizationsSectionText ImmunizationsSectionImmunization' templateId.root='2.16.840.1.113883.10.20.22.2.2.1' code.code='11369-6' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' constraints.validation.dependOn.ImmunizationsSectionCode='ImmunizationsSectionCodeP' + + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ImmunizationsSectionEntriesOptionalTemplateId ImmunizationsSectionEntriesOptionalCode ImmunizationsSectionEntriesOptionalCodeP ImmunizationsSectionTitle ImmunizationsSectionText ImmunizationsSectionImmunization' templateId.root='2.16.840.1.113883.10.20.22.2.2.1' constraints.validation.dependOn.ImmunizationsSectionEntriesOptionalCode='ImmunizationsSectionEntriesOptionalCodeP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ImmunizationActivityTemplateId ImmunizationActivityTextReferenceValue ImmunizationActivityInstructionInversion ImmunizationActivityDrugVehicleTypeCode ImmunizationActivityClassCode ImmunizationActivityMoodCode ImmunizationActivityNegationInd ImmunizationActivityId ImmunizationActivityStatusCode ImmunizationActivityEffectiveTime ImmunizationActivityRouteCode ImmunizationActivityApproachSiteCode ImmunizationActivityAdministrationUnitCode ImmunizationActivityConsumable ImmunizationActivityConsumableImmunizationMedicationInformation ImmunizationActivityPreconditionTypeCode ImmunizationActivityPreconditionPreconditionForSubstanceAdministration' templateId.root='2.16.840.1.113883.10.20.22.4.52' constraints.validation.warning='ImmunizationActivityTextReference ImmunizationActivityReferenceValue ImmunizationActivityDoseQuantityUnit ImmunizationActivityText ImmunizationActivityDoseQuantity ImmunizationActivityPerformer' classCode='SBADM' constraints.validation.info='ImmunizationActivityCode ImmunizationActivityRepeatNumber ImmunizationActivityRouteCodeP ImmunizationActivityApproachSiteCodeP ImmunizationActivityAdministrationUnitCodeP ImmunizationActivityDrugVehicle ImmunizationActivityIndication ImmunizationActivityInstructions ImmunizationActivityMedicationDispense ImmunizationActivityReactionObservation ImmunizationActivityImmunizationRefusalReason ImmunizationActivityMedicationSupplyOrder ImmunizationActivityPrecondition' routeCode.codeSystem='2.16.840.1.113883.3.26.1.1' routeCode.codeSystemName='NCI Thesaurus' constraints.validation.dependOn.ImmunizationActivityRouteCode='ImmunizationActivityRouteCodeP' approachSiteCode.codeSystem='2.16.840.1.113883.6.96' approachSiteCode.codeSystemName='SNOMEDCT' administrationUnitCode.codeSystem='2.16.840.1.113883.3.26.1.1' administrationUnitCode.codeSystemName='NCI Thesaurus' constraints.validation.dependOn.ImmunizationActivityAdministrationUnitCode='ImmunizationActivityAdministrationUnitCodeP' constraints.validation.query='ImmunizationActivityConsumableImmunizationMedicationInformation ImmunizationActivityPreconditionTypeCode ImmunizationActivityPreconditionPreconditionForSubstanceAdministration' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolImmunizationActivityConsumable constraints.validation.error='ImmunizationActivityConsumableImmunizationMedicationInformation' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolImmunizationActivityPrecondition typeCode='PRCN' constraints.validation.error='ImmunizationActivityPreconditionTypeCode ImmunizationActivityPreconditionPreconditionForSubstanceAdministration' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='PayersSectionTemplateId PayersSectionCode PayersSectionCodeP PayersSectionTitle PayersSectionText' templateId.root='2.16.840.1.113883.10.20.22.2.18' code.code='48768-6' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Payers' constraints.validation.warning='PayersSectionCoverageActivity' - - + + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='MedicationsSectionEntriesOptionalTemplateId MedicationsSectionEntriesOptionalCode MedicationsSectionEntriesOptionalCodeP MedicationsSectionTitle MedicationsSectionText MedicationsSectionMedication' templateId.root='2.16.840.1.113883.10.20.22.2.1.1' constraints.validation.dependOn.MedicationsSectionEntriesOptionalCode='MedicationsSectionEntriesOptionalCodeP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='PlanOfCareSectionTemplateId PlanOfCareSectionCode PlanOfCareSectionCodeP PlanOfCareSectionTitle PlanOfCareSectionText' templateId.root='2.16.840.1.113883.10.20.22.2.10' code.code='18776-5' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Treatment plan' constraints.validation.info='PlanOfCareSectionPlanOfCareActivityAct PlanOfCareSectionPlanOfCareActivityEncounter PlanOfCareSectionPlanOfCareActivityObservation PlanOfCareSectionPlanOfCareActivityProcedure PlanOfCareSectionPlanOfCareActivitySubstanceAdministration PlanOfCareSectionPlanOfCareActivitySupply PlanOfCareSectionInstructions' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='PlanOfCareActivityActTemplateId PlanOfCareActivityActClassCode PlanOfCareActivityActMoodCode PlanOfCareActivityActId' templateId.root='2.16.840.1.113883.10.20.22.4.39' classCode='ACT' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='PlanOfCareActivityEncounterTemplateId PlanOfCareActivityEncounterClassCode PlanOfCareActivityEncounterMoodCode PlanOfCareActivityEncounterId' templateId.root='2.16.840.1.113883.10.20.22.4.40' classCode='ENC' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='PlanOfCareActivityObservationTemplateId PlanOfCareActivityObservationClassCode PlanOfCareActivityObservationMoodCode PlanOfCareActivityObservationId' templateId.root='2.16.840.1.113883.10.20.22.4.44' classCode='OBS' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='PlanOfCareActivityProcedureTemplateId PlanOfCareActivityProcedureClassCode PlanOfCareActivityProcedureMoodCode PlanOfCareActivityProcedureId' templateId.root='2.16.840.1.113883.10.20.22.4.41' classCode='PROC' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='PlanOfCareActivitySubstanceAdministrationTemplateId PlanOfCareActivitySubstanceAdministrationClassCode PlanOfCareActivitySubstanceAdministrationMoodCode PlanOfCareActivitySubstanceAdministrationId' templateId.root='2.16.840.1.113883.10.20.22.4.42' classCode='SBADM' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='PlanOfCareActivitySupplyTemplateId PlanOfCareActivitySupplyClassCode PlanOfCareActivitySupplyMoodCode PlanOfCareActivitySupplyId' templateId.root='2.16.840.1.113883.10.20.22.4.43' classCode='SPLY' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='PregnancyObservationTemplateId PregnancyObservationClassCode PregnancyObservationMoodCode PregnancyObservationCode PregnancyObservationCodeP PregnancyObservationStatusCode PregnancyObservationValue PregnancyObservationValueP' templateId.root='2.16.840.1.113883.10.20.15.3.8' classCode='OBS' moodCode='EVN' code.code='ASSERTION' code.codeSystem='2.16.840.1.113883.5.4' code.codeSystemName='HL7ActCode' code.displayName='Assertion' constraints.validation.dependOn.PregnancyObservationCode='PregnancyObservationCodeP' statusCode.code='completed' value.code='77386006' value.codeSystem='2.16.840.1.113883.6.96' value.codeSystemName='SNOMEDCT' value.displayName='Pregnant' constraints.validation.warning='PregnancyObservationEffectiveTime' constraints.validation.info='PregnancyObservationEstimatedDateOfDelivery' - - + + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ProceduresSectionEntriesOptionalTemplateId ProceduresSectionHasProcedureActivity ProceduresSectionTitle ProceduresSectionEntriesOptionalCode ProceduresSectionEntriesOptionalCodeP ProceduresSectionEntriesOptionalText' templateId.root='2.16.840.1.113883.10.20.22.2.7.1' constraints.validation.dependOn.ProceduresSectionEntriesOptionalCode='ProceduresSectionEntriesOptionalCodeP' constraints.validation.info='ProceduresSectionProcedureActivityProcedure ProceduresSectionProcedureActivityObservation ProceduresSectionProcedureActivityAct' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ProcedureActivityProcedureTemplateId ProcedureActivityProcedureReferenceValue ProcedureActivityProcedureEncounterInversion ProcedureActivityProcedureProductInstanceTypeCode ProcedureActivityProcedureServiceDeliveryLocationTypeCode ProcedureActivityProcedureInstructionsInversion ProcedureActivityProcedureClassCode ProcedureActivityProcedureMoodCode ProcedureActivityProcedureId ProcedureActivityProcedureCode ProcedureActivityProcedureStatusCode ProcedureActivityProcedurePriorityCode ProcedureActivityProcedureTargetSiteCode ProcedureActivityProcedureProcedureSpecimenSpecimenRole ProcedureActivityProcedureProcedureActivityPerformerProcedureActivityAssignedEntityProcedureActivityRepresentedOrganizationTelecom ProcedureActivityProcedureProcedureActivityPerformerProcedureActivityAssignedEntityProcedureActivityRepresentedOrganizationAddr ProcedureActivityProcedureProcedureActivityPerformerProcedureActivityAssignedEntityId ProcedureActivityProcedureProcedureActivityPerformerProcedureActivityAssignedEntityAddr ProcedureActivityProcedureProcedureActivityPerformerProcedureActivityAssignedEntityTelecom ProcedureActivityProcedureProcedureActivityPerformerAssignedEntity ProcedureActivityProcedureEntryRelationshipProcedureActivityEncounterClassCode ProcedureActivityProcedureEntryRelationshipProcedureActivityEncounterMoodCode ProcedureActivityProcedureEntryRelationshipProcedureActivityEncounterId ProcedureActivityProcedureEntryRelationshipInversionInd ProcedureActivityProcedureEntryRelationshipTypeCode ProcedureActivityProcedureEntryRelationshipProcedureActivityEncounter' templateId.root='2.16.840.1.113883.10.20.22.4.14' constraints.validation.warning='ProcedureActivityProcedureCodeCodeSystems ProcedureActivityProcedureCodeOriginalText ProcedureActivityProcedureOriginalTextReference ProcedureActivityProcedureOriginalTextReferenceValue ProcedureActivityProcedureEffectiveTime ProcedureActivityProcedureTargetSiteCodeP ProcedureActivityProcedurePerformer ProcedureActivityProcedureProcedureSpecimenSpecimentRoleId ProcedureActivityProcedureProcedureActivityPerformerProcedureActivityAssignedEntityProcedureActivityRepresentedOrganizationId ProcedureActivityProcedureProcedureActivityPerformerProcedureActivityAssignedEntityRepresentedOrganization' classCode='PROC' priorityCode.codeSystem='2.16.840.1.113883.5.7' priorityCode.codeSystemName='ActPriority' constraints.validation.info='ProcedureActivityProcedurePriorityCodeP ProcedureActivityProcedureMethodCode ProcedureActivityProcedureIndication ProcedureActivityProcedureSpecimen ProcedureActivityProcedureServiceDeliveryLocation ProcedureActivityProcedureMedicationActivity ProcedureActivityProcedurePatientInstruction ProcedureActivityProcedureProductInstance ProcedureActivityProcedureEntryRelationship ProcedureActivityProcedureProcedureActivityPerformerProcedureActivityAssignedEntityProcedureActivityRepresentedOrganizationName' constraints.validation.dependOn.ProcedureActivityProcedurePriorityCode='ProcedureActivityProcedurePriorityCodeP' targetSiteCode.codeSystem='2.16.840.1.113883.6.96' targetSiteCode.codeSystemName='SNOMEDCT' constraints.validation.dependOn.ProcedureActivityProcedureTargetSiteCode='ProcedureActivityProcedureTargetSiteCodeP' constraints.validation.query='ProcedureActivityProcedureProcedureSpecimenSpecimenRole ProcedureActivityProcedureProcedureSpecimenSpecimentRoleId ProcedureActivityProcedureProcedureActivityPerformerProcedureActivityAssignedEntityProcedureActivityRepresentedOrganizationId ProcedureActivityProcedureProcedureActivityPerformerProcedureActivityAssignedEntityProcedureActivityRepresentedOrganizationName ProcedureActivityProcedureProcedureActivityPerformerProcedureActivityAssignedEntityProcedureActivityRepresentedOrganizationTelecom ProcedureActivityProcedureProcedureActivityPerformerProcedureActivityAssignedEntityProcedureActivityRepresentedOrganizationAddr ProcedureActivityProcedureProcedureActivityPerformerProcedureActivityAssignedEntityId ProcedureActivityProcedureProcedureActivityPerformerProcedureActivityAssignedEntityAddr ProcedureActivityProcedureProcedureActivityPerformerProcedureActivityAssignedEntityTelecom ProcedureActivityProcedureProcedureActivityPerformerProcedureActivityAssignedEntityRepresentedOrganization ProcedureActivityProcedureProcedureActivityPerformerAssignedEntity ProcedureActivityProcedureEntryRelationshipProcedureActivityEncounterClassCode ProcedureActivityProcedureEntryRelationshipProcedureActivityEncounterMoodCode ProcedureActivityProcedureEntryRelationshipProcedureActivityEncounterId ProcedureActivityProcedureEntryRelationshipInversionInd ProcedureActivityProcedureEntryRelationshipTypeCode ProcedureActivityProcedureEntryRelationshipProcedureActivityEncounter' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolProcedureActivityProcedureProcedureSpecimen constraints.validation.error='ProcedureActivityProcedureProcedureSpecimenSpecimenRole' constraints.validation.warning='ProcedureActivityProcedureProcedureSpecimenSpecimentRoleId' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolProcedureActivityProcedureProcedureActivityPerformer constraints.validation.error='ProcedureActivityProcedureProcedureActivityPerformerAssignedEntity' @@ -46577,56 +46577,56 @@ value.code = 'completed') http://www.openhealthtools.org/mdht/uml/cda/annotation/consolProcedureActivityProcedureEntryRelationship inversionInd='true' constraints.validation.error='ProcedureActivityProcedureEntryRelationshipInversionInd ProcedureActivityProcedureEntryRelationshipTypeCode ProcedureActivityProcedureEntryRelationshipProcedureActivityEncounter' typeCode='COMP' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolProcedureActivityProcedureEntryRelationshipProcedureActivityEncounter classCode='ENC' constraints.validation.error='ProcedureActivityProcedureEntryRelationshipProcedureActivityEncounterClassCode ProcedureActivityProcedureEntryRelationshipProcedureActivityEncounterMoodCode ProcedureActivityProcedureEntryRelationshipProcedureActivityEncounterId' moodCode='EVN' - - - http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='VitalSignsSectionEntriesOptionalTemplateId VitalSignsSectionCode VitalSignsSectionCodeP VitalSignsSectionText VitalSignsSectionEntriesOptionalTitle VitalSignsSectionVitalSignsOrganizer' templateId.root='2.16.840.1.113883.10.20.22.2.4.1' code.code='8716-3' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Vital Signs' constraints.validation.dependOn.VitalSignsSectionCode='VitalSignsSectionCodeP' + + + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='VitalSignsSectionEntriesOptionalTemplateId VitalSignsSectionEntriesOptionalCode VitalSignsSectionEntriesOptionalCodeP VitalSignsSectionText VitalSignsSectionEntriesOptionalTitle VitalSignsSectionVitalSignsOrganizer' templateId.root='2.16.840.1.113883.10.20.22.2.4.1' constraints.validation.dependOn.VitalSignsSectionEntriesOptionalCode='VitalSignsSectionEntriesOptionalCodeP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='VitalSignsOrganizerTemplateId VitalSignsOrganizerClassCode VitalSignsOrganizerMoodCode VitalSignsOrganizerId VitalSignsOrganizerCode VitalSignsOrganizerCodeP VitalSignsOrganizerStatusCode VitalSignsOrganizerStatusCodeP VitalSignsOrganizerEffectiveTime VitalSignsOrganizerVitalSignObservation' templateId.root='2.16.840.1.113883.10.20.22.4.26' classCode='CLUSTER' moodCode='EVN' code.code='46680005' code.codeSystem='2.16.840.1.113883.6.96' code.codeSystemName='SNOMEDCT' code.displayName='Vital signs' statusCode.code='completed' constraints.validation.dependOn.VitalSignsOrganizerStatusCode='VitalSignsOrganizerStatusCodeP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='VitalSignObservationTemplateId VitalSignObservationTextReferenceValue VitalSignObservationClassCode VitalSignObservationMoodCode VitalSignObservationId VitalSignObservationCodeP VitalSignObservationStatusCode VitalSignObservationStatusCodeP VitalSignObservationEffectiveTime VitalSignObservationValue' templateId.root='2.16.840.1.113883.10.20.22.4.27' constraints.validation.warning='VitalSignObservationTextReference VitalSignObservationReferenceValue VitalSignObservationCode VitalSignObservationText' classCode='OBS' moodCode='EVN' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' constraints.validation.dependOn.VitalSignObservationCode='VitalSignObservationCodeP' statusCode.code='completed' constraints.validation.info='VitalSignObservationInterpretationCode VitalSignObservationMethodCode VitalSignObservationTargetSiteCode VitalSignObservationAuthor' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='HistoryOfPastIllnessSectionTemplateId HistoryOfPastIllnessSectionCode HistoryOfPastIllnessSectionCodeP HistoryOfPastIllnessSectionTitle HistoryOfPastIllnessSectionText' templateId.root='2.16.840.1.113883.10.20.22.2.20' code.code='11348-0' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='HISTORY OF PAST ILLNESS' constraints.validation.info='HistoryOfPastIllnessSectionProblemObservation' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ChiefComplaintSectionTemplateId ChiefComplaintSectionCode ChiefComplaintSectionCodeP ChiefComplaintSectionText ChiefComplaintSectionTitle' templateId.root='1.3.6.1.4.1.19376.1.5.3.1.1.13.2.1' code.code='10154-3' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='CHIEF COMPLAINT' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ReasonForReferralSectionTemplateId ReasonForReferralSectionCode ReasonForReferralSectionCodeP ReasonForReferralSectionTitle ReasonForReferralSectionText' templateId.root='1.3.6.1.4.1.19376.1.5.3.1.3.1' code.code='42349-1' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='REASON FOR REFERRAL' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='HistoryOfPresentIllnessSectionTemplateId HistoryOfPresentIllnessSectionCode HistoryOfPresentIllnessSectionCodeP HistoryOfPresentIllnessSectionTitle HistoryOfPresentIllnessSectionText' templateId.root='1.3.6.1.4.1.19376.1.5.3.1.3.4' code.code='10164-2' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='HISTORY OF PRESENT ILLNESS' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='HospitalAdmissionDiagnosisSectionTemplateId HospitalAdmissionDiagnosisSectionCode HospitalAdmissionDiagnosisSectionCodeP HospitalAdmissionDiagnosisSectionTitle HospitalAdmissionDiagnosisSectionText' templateId.root='2.16.840.1.113883.10.20.22.2.43' code.code='46241-6' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='HOSPITAL ADMISSION DX' constraints.validation.warning='HospitalAdmissionDiagnosisSectionHospitalAdmissionDiagnosis' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='HospitalAdmissionMedicationsSectionEntriesOptionalTemplateId HospitalAdmissionMedicationsSectionEntriesOptionalCode HospitalAdmissionMedicationsSectionEntriesOptionalCodeP HospitalAdmissionMedicationsSectionEntriesOptionalTitle HospitalAdmissionMedicationsSectionEntriesOptionalText' templateId.root='2.16.840.1.113883.10.20.22.2.44' code.code='42346-7' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='MEDICATIONS ON ADMISSION' constraints.validation.warning='HospitalAdmissionMedicationsSectionEntriesOptionalAdmissionMedication' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='MedicationsAdministeredSectionTemplateId MedicationsAdministeredSectionCode MedicationsAdministeredSectionCodeP MedicationsAdministeredSectionTitle MedicationsAdministeredSectionText' templateId.root='2.16.840.1.113883.10.20.22.2.38' code.code='29549-3' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Medications Administered' constraints.validation.info='MedicationsAdministeredSectionMedicationActivity' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='PhysicalExamSectionTemplateId PhysicalExamSectionCode PhysicalExamSectionCodeP PhysicalExamSectionTitle PhysicalExamSectionText' templateId.root='2.16.840.1.113883.10.20.2.10' code.code='29545-1' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='PHYSICAL EXAMINATION' constraints.validation.info='PhysicalExamSectionPressureUlcerObservation PhysicalExamSectionNumberOfPressureUlcersObservation PhysicalExamSectionHighestPressureUlcerStage' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='GeneralStatusSectionTemplateId GeneralStatusSectionCode GeneralStatusSectionCodeP GeneralStatusSectionTitle GeneralStatusSectionText' templateId.root='2.16.840.1.113883.10.20.2.5' code.code='10210-3' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='GENERAL STATUS' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ReviewOfSystemsSectionTemplateId ReviewOfSystemsSectionCode ReviewOfSystemsSectionCodeP ReviewOfSystemsSectionTitle ReviewOfSystemsSectionText' templateId.root='1.3.6.1.4.1.19376.1.5.3.1.3.18' code.code='10187-3' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='REVIEW OF SYSTEMS' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='AssessmentAndPlanSectionTemplateId AssessmentAndPlanSectionCode AssessmentAndPlanSectionCodeP AssessmentAndPlanSectionText' templateId.root='2.16.840.1.113883.10.20.22.2.9' code.code='51847-2' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='ASSESSMENT AND PLAN' constraints.validation.info='AssessmentAndPlanSectionPlanOfCareActivityAct' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='FamilyHistoryDeathObservationTemplateId FamilyHistoryDeathObservationClassCode FamilyHistoryDeathObservationMoodCode FamilyHistoryDeathObservationCode FamilyHistoryDeathObservationStatusCode FamilyHistoryDeathObservationValue FamilyHistoryDeathObservationValueP' templateId.root='2.16.840.1.113883.10.20.22.4.47' classCode='OBS' moodCode='EVN' code.code='ASSERTION' code.codeSystem='2.16.840.1.113883.5.4' code.codeSystemName='HL7ActCode' code.displayName='Assertion' statusCode.code='completed' value.code='419099009' value.codeSystem='2.16.840.1.113883.6.96' value.codeSystemName='SNOMEDCT' value.displayName='Dead' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='SurgicalDrainsSectionTemplateId SurgicalDrainsSectionCode SurgicalDrainsSectionCodeP SurgicalDrainsSectionText SurgicalDrainsSectionTitle' templateId.root='2.16.840.1.113883.10.20.7.13' code.code='11537-8' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Surgical Drains' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='GeneralHeaderConstraintsTemplateId UnstructuredDocumentRecordTarget UnstructuredDocumentAuthor UnstructuredDocumentComponent UnstructuredDocumentCustodian UnstructuredDocumentRecordTargetPatientRole2Id UnstructuredDocumentRecordTargetPatientRole2 UnstructuredDocumentAuthorAssignedAuthor2Addr UnstructuredDocumentAuthorAssignedAuthor2Telecom UnstructuredDocumentAuthorAssignedAuthor2 UnstructuredDocumentCustodianAssignedCustodian3CustodianOrganizationAddr UnstructuredDocumentCustodianAssignedCustodian3CustodianOrganizationId UnstructuredDocumentCustodianAssignedCustodian3CustodianOrganizationName UnstructuredDocumentCustodianAssignedCustodian3CustodianOrganizationTelecom UnstructuredDocumentCustodianAssignedCustodian3CustodianOrganization UnstructuredDocumentCustodianAssignedCustodian2' templateId.root='2.16.840.1.113883.10.20.22.1.10' constraints.validation.query='UnstructuredDocumentRecordTargetPatientRole2Id UnstructuredDocumentRecordTargetPatientRole2 UnstructuredDocumentAuthorAssignedAuthor2Addr UnstructuredDocumentAuthorAssignedAuthor2Telecom UnstructuredDocumentAuthorAssignedAuthor2 UnstructuredDocumentCustodianAssignedCustodian3CustodianOrganizationAddr UnstructuredDocumentCustodianAssignedCustodian3CustodianOrganizationId UnstructuredDocumentCustodianAssignedCustodian3CustodianOrganizationName UnstructuredDocumentCustodianAssignedCustodian3CustodianOrganizationTelecom UnstructuredDocumentCustodianAssignedCustodian3CustodianOrganization UnstructuredDocumentCustodianAssignedCustodian2' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolUnstructuredDocumentRecordTarget constraints.validation.error='UnstructuredDocumentRecordTargetPatientRole2' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolUnstructuredDocumentRecordTargetPatientRole2 constraints.validation.error='UnstructuredDocumentRecordTargetPatientRole2Id' @@ -46637,32 +46637,32 @@ value.code = 'completed') http://www.openhealthtools.org/mdht/uml/cda/annotation/consolUnstructuredDocumentCustodianAssignedCustodian3CustodianOrganization constraints.validation.error='UnstructuredDocumentCustodianAssignedCustodian3CustodianOrganizationAddr UnstructuredDocumentCustodianAssignedCustodian3CustodianOrganizationId UnstructuredDocumentCustodianAssignedCustodian3CustodianOrganizationName UnstructuredDocumentCustodianAssignedCustodian3CustodianOrganizationTelecom' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolUnstructuredDocumentComponentNonXMLBody constraints.validation.error='UnstructuredDocumentComponentNonXMLBodyHasReferenceOrRepresentation UnstructuredDocumentComponentNonXMLBodyMediaTypeFileFormats UnstructuredDocumentComponentNonXMLBodyText' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='MedicationInformationTemplateId MedicationInformationClassCode MedicationInformationManufacturedMaterial MedicationInformationMedicationInformationManufacturedMaterialCode' templateId.root='2.16.840.1.113883.10.20.22.4.23' constraints.validation.info='MedicationInformationId MedicationInformationManufacturerOrganization MedicationInformationMedicationInformationManufacturedMaterialCodeTranslation' classCode='MANU' constraints.validation.warning='MedicationInformationMedicationInformationManufacturedMaterialCodeOriginalText MedicationInformationMedicationInformationManufacturedMaterialReference MedicationInformationMedicationInformationManufacturedMaterialOriginalTextReferenceValue' constraints.validation.query='MedicationInformationMedicationInformationManufacturedMaterialCodeOriginalText MedicationInformationMedicationInformationManufacturedMaterialReference MedicationInformationMedicationInformationManufacturedMaterialOriginalTextReferenceValue MedicationInformationMedicationInformationManufacturedMaterialCodeTranslation MedicationInformationMedicationInformationManufacturedMaterialCode' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolMedicationInformationMedicationInformationManufacturedMaterial constraints.validation.warning='MedicationInformationMedicationInformationManufacturedMaterialCodeOriginalText MedicationInformationMedicationInformationManufacturedMaterialReference MedicationInformationMedicationInformationManufacturedMaterialOriginalTextReferenceValue' constraints.validation.info='MedicationInformationMedicationInformationManufacturedMaterialCodeTranslation' code.codeSystem='2.16.840.1.113883.6.88' code.codeSystemName='RxNorm' constraints.validation.error='MedicationInformationMedicationInformationManufacturedMaterialCode' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='GeneralHeaderConstraintsTemplateId DischargeSummaryDoesNotHaveChiefComplaintAndReasonForVisitWithChiefComplaintSectionOrReasonSection DischargeSummaryCode DischargeSummaryCodeP DischargeSummaryHospitalDischargeDiagnosisSection DischargeSummaryHospitalDischargeMedicationsSectionEntriesOptional DischargeSummaryHospitalCourseSection DischargeSummaryPlanOfCareSection DischargeSummaryComponentOf DischargeSummaryAllergiesSectionEntriesOptional DischargeSummaryComponentOfEncompassingEncounter3ResponsiblePartyAssignedEntityHasPersonOrOrganization DischargeSummaryComponentOfEncompassingEncounter3ResponsiblePartyAssignedEntity DischargeSummaryComponentOfEncompassingEncounter3EncounterParticipantAssignedEntityHasPersonOrOrganization DischargeSummaryComponentOfEncompassingEncounter3EncounterParticipantAssignedEntity DischargeSummaryComponentOfEncompassingEncounter3EncompassingEncounterHasEffectiveTimeLow DischargeSummaryComponentOfEncompassingEncounter3EncompassingEncounterHasEffectiveTimeHigh DischargeSummaryComponentOfEncompassingEncounter3DischargeDispositionCode DischargeSummaryComponentOfEncompassingEncounter3EffectiveTime DischargeSummaryComponentOfEncompassingEncounter' templateId.root='2.16.840.1.113883.10.20.22.1.8' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' constraints.validation.dependOn.DischargeSummaryCode='DischargeSummaryCodeP' constraints.validation.info='DischargeSummaryHospitalAdmissionMedicationsSectionEntriesOptional DischargeSummaryHospitalAdmissionDiagnosisSection DischargeSummaryDischargeDietSection DischargeSummaryFunctionalStatusSection DischargeSummaryHistoryOfPresentIllnessSection DischargeSummaryHistoryOfPastIllnessSection DischargeSummaryChiefComplaintAndReasonForVisitSection DischargeSummaryChiefComplaintSection DischargeSummaryFamilyHistorySection DischargeSummaryHospitalConsultationsSection DischargeSummaryHospitalDischargeInstructionsSection DischargeSummaryHospitalDischargePhysicalSection DischargeSummaryHospitalDischargeStudiesSummarySection DischargeSummaryImmunizationsSectionEntriesOptional DischargeSummaryProblemSectionEntriesOptional DischargeSummaryProceduresSectionEntriesOptional DischargeSummaryReasonForVisitSection DischargeSummaryReviewOfSystemsSection DischargeSummarySocialHistorySection DischargeSummaryVitalSignsSectionEntriesOptional DischargeSummaryComponentOfEncompassingEncounter3DischargeDispositionCodeCodeSystem DischargeSummaryComponentOfEncompassingEncounter3ResponsibleParty DischargeSummaryComponentOfEncompassingEncounter3EncounterParticipant' constraints.validation.query='DischargeSummaryComponentOfEncompassingEncounter3ResponsiblePartyAssignedEntityHasPersonOrOrganization DischargeSummaryComponentOfEncompassingEncounter3ResponsiblePartyAssignedEntity DischargeSummaryComponentOfEncompassingEncounter3EncounterParticipantAssignedEntityHasPersonOrOrganization DischargeSummaryComponentOfEncompassingEncounter3EncounterParticipantAssignedEntity DischargeSummaryComponentOfEncompassingEncounter3EncompassingEncounterHasEffectiveTimeLow DischargeSummaryComponentOfEncompassingEncounter3EncompassingEncounterHasEffectiveTimeHigh DischargeSummaryComponentOfEncompassingEncounter3DischargeDispositionCodeValueSet DischargeSummaryComponentOfEncompassingEncounter3DischargeDispositionCodeCodeSystem DischargeSummaryComponentOfEncompassingEncounter3DischargeDispositionCode DischargeSummaryComponentOfEncompassingEncounter3EffectiveTime DischargeSummaryComponentOfEncompassingEncounter3ResponsibleParty DischargeSummaryComponentOfEncompassingEncounter3EncounterParticipant DischargeSummaryComponentOfEncompassingEncounter' constraints.validation.warning='DischargeSummaryComponentOfEncompassingEncounter3DischargeDispositionCodeValueSet' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolDischargeSummaryComponentOf constraints.validation.error='DischargeSummaryComponentOfEncompassingEncounter' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolDischargeSummaryComponentOfEncompassingEncounter3 constraints.validation.error='DischargeSummaryComponentOfEncompassingEncounter3EncompassingEncounterHasEffectiveTimeLow DischargeSummaryComponentOfEncompassingEncounter3EncompassingEncounterHasEffectiveTimeHigh DischargeSummaryComponentOfEncompassingEncounter3DischargeDispositionCode DischargeSummaryComponentOfEncompassingEncounter3EffectiveTime' constraints.validation.warning='DischargeSummaryComponentOfEncompassingEncounter3DischargeDispositionCodeValueSet' constraints.validation.info='DischargeSummaryComponentOfEncompassingEncounter3DischargeDispositionCodeCodeSystem DischargeSummaryComponentOfEncompassingEncounter3ResponsibleParty DischargeSummaryComponentOfEncompassingEncounter3EncounterParticipant' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolDischargeSummaryComponentOfEncompassingEncounter3ResponsibleParty constraints.validation.error='DischargeSummaryComponentOfEncompassingEncounter3ResponsiblePartyAssignedEntityHasPersonOrOrganization DischargeSummaryComponentOfEncompassingEncounter3ResponsiblePartyAssignedEntity' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolDischargeSummaryComponentOfEncompassingEncounter3EncounterParticipant constraints.validation.error='DischargeSummaryComponentOfEncompassingEncounter3EncounterParticipantAssignedEntityHasPersonOrOrganization DischargeSummaryComponentOfEncompassingEncounter3EncounterParticipantAssignedEntity' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='IndicationTemplateId IndicationClassCode IndicationMoodCode IndicationId IndicationCodeP IndicationStatusCode' templateId.root='2.16.840.1.113883.10.20.22.4.19' constraints.validation.info='IndicationCodeNullFlavor' classCode='OBS' moodCode='EVN' code.codeSystem='2.16.840.1.113883.6.96' code.codeSystemName='SNOMEDCT' constraints.validation.warning='IndicationCode IndicationEffectiveTime IndicationValue IndicationValueP' constraints.validation.dependOn.IndicationCode='IndicationCodeP' statusCode.code='completed' value.codeSystem='2.16.840.1.113883.6.96' value.codeSystemName='SNOMEDCT' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='DrugVehicleTemplateId DrugVehiclePlayingEntityCode DrugVehicleClassCode DrugVehicleCode DrugVehiclePlayingEntity' templateId.root='2.16.840.1.113883.10.20.22.4.24' constraints.validation.info='DrugVehiclePlayingEntityName' classCode='MANU' code.code='412307009' code.codeSystem='2.16.840.1.113883.6.96' code.codeSystemName='SNOMEDCT' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='MedicationDispenseTemplateId MedicationDispenseContainsMedicationOrImmunization MedicationDispenseClassCode MedicationDispenseId MedicationDispenseMoodCode MedicationDispenseStatusCode MedicationDispensePerformerMedicationDispenseAssignedEntityGeneralHeaderConstraintsUSRealmAddressUSRealmAddressStreet MedicationDispensePerformerMedicationDispenseAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequireStateElement MedicationDispensePerformerMedicationDispenseAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequirePostalCodeElement MedicationDispensePerformerMedicationDispenseAssignedEntityGeneralHeaderConstraintsUSRealmAddressUse MedicationDispensePerformerMedicationDispenseAssignedEntityGeneralHeaderConstraintsUSRealmAddressCity MedicationDispensePerformerMedicationDispenseAssignedEntityGeneralHeaderConstraintsUSRealmAddressStreetAddressLine MedicationDispensePerformerMedicationDispenseAssignedEntity' templateId.root='2.16.840.1.113883.10.20.22.4.18' classCode='SPLY' constraints.validation.warning='MedicationDispenseEffectiveTime MedicationDispenseRepeatNumber MedicationDispenseQuantity MedicationDispensePerformerMedicationDispenseAssignedEntityGeneralHeaderConstraintsUSRealmAddressUseP MedicationDispensePerformerMedicationDispenseAssignedEntityGeneralHeaderConstraintsUSRealmAddressCountry MedicationDispensePerformerMedicationDispenseAssignedEntityGeneralHeaderConstraintsUSRealmAddressState MedicationDispensePerformerMedicationDispenseAssignedEntityGeneralHeaderConstraintsUSRealmAddressPostalCode MedicationDispensePerformerMedicationDispenseAssignedEntityAddr' moodCode='EVN' constraints.validation.info='MedicationDispenseMedicationSupplyOrder MedicationDispensePerformer' constraints.validation.query='MedicationDispensePerformerMedicationDispenseAssignedEntityGeneralHeaderConstraintsUSRealmAddressUSRealmAddressStreet MedicationDispensePerformerMedicationDispenseAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequireStateElement MedicationDispensePerformerMedicationDispenseAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequirePostalCodeElement MedicationDispensePerformerMedicationDispenseAssignedEntityGeneralHeaderConstraintsUSRealmAddressUse MedicationDispensePerformerMedicationDispenseAssignedEntityGeneralHeaderConstraintsUSRealmAddressUseP MedicationDispensePerformerMedicationDispenseAssignedEntityGeneralHeaderConstraintsUSRealmAddressCountry MedicationDispensePerformerMedicationDispenseAssignedEntityGeneralHeaderConstraintsUSRealmAddressState MedicationDispensePerformerMedicationDispenseAssignedEntityGeneralHeaderConstraintsUSRealmAddressCity MedicationDispensePerformerMedicationDispenseAssignedEntityGeneralHeaderConstraintsUSRealmAddressPostalCode MedicationDispensePerformerMedicationDispenseAssignedEntityGeneralHeaderConstraintsUSRealmAddressStreetAddressLine MedicationDispensePerformerMedicationDispenseAssignedEntityAddr MedicationDispensePerformerMedicationDispenseAssignedEntity' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolMedicationDispensePerformer constraints.validation.error='MedicationDispensePerformerMedicationDispenseAssignedEntity' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolMedicationDispensePerformerMedicationDispenseAssignedEntity constraints.validation.warning='MedicationDispensePerformerMedicationDispenseAssignedEntityAddr MedicationDispenseAssignedEntityGeneralHeaderConstraintsUSRealmAddressUseP MedicationDispenseAssignedEntityGeneralHeaderConstraintsUSRealmAddressCountry MedicationDispenseAssignedEntityGeneralHeaderConstraintsUSRealmAddressState MedicationDispenseAssignedEntityGeneralHeaderConstraintsUSRealmAddressPostalCode' constraints.validation.error='MedicationDispenseAssignedEntityGeneralHeaderConstraintsUSRealmAddressUSRealmAddressStreet MedicationDispenseAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequireStateElement MedicationDispenseAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequirePostalCodeElement MedicationDispenseAssignedEntityGeneralHeaderConstraintsUSRealmAddressUse MedicationDispenseAssignedEntityGeneralHeaderConstraintsUSRealmAddressCity MedicationDispenseAssignedEntityGeneralHeaderConstraintsUSRealmAddressStreetAddressLine' constraints.validation.query='MedicationDispenseAssignedEntityGeneralHeaderConstraintsUSRealmAddressUSRealmAddressStreet MedicationDispenseAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequireStateElement MedicationDispenseAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequirePostalCodeElement MedicationDispenseAssignedEntityGeneralHeaderConstraintsUSRealmAddressUse MedicationDispenseAssignedEntityGeneralHeaderConstraintsUSRealmAddressUseP MedicationDispenseAssignedEntityGeneralHeaderConstraintsUSRealmAddressCountry MedicationDispenseAssignedEntityGeneralHeaderConstraintsUSRealmAddressState MedicationDispenseAssignedEntityGeneralHeaderConstraintsUSRealmAddressCity MedicationDispenseAssignedEntityGeneralHeaderConstraintsUSRealmAddressPostalCode MedicationDispenseAssignedEntityGeneralHeaderConstraintsUSRealmAddressStreetAddressLine' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='PreconditionForSubstanceAdministrationTemplateId' templateId.root='2.16.840.1.113883.10.20.22.4.25' constraints.validation.warning='PreconditionForSubstanceAdministrationCode PreconditionForSubstanceAdministrationValue' constraints.validation.info='PreconditionForSubstanceAdministrationText' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='PolicyActivityTemplateId PolicyActivityClassCode PolicyActivityMoodCode PolicyActivityId PolicyActivityCodeP PolicyActivityStatusCode PolicyActivityPayer PolicyActivityCoverage PolicyActivityEntryRelationship PolicyActivityPayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressUSRealmAddressStreet PolicyActivityPayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequireStateElement PolicyActivityPayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequirePostalCodeElement PolicyActivityPayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressUse PolicyActivityPayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressCity PolicyActivityPayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressStreetAddressLine PolicyActivityPayerPayerAssignedEntityId PolicyActivityPayerTemplateId PolicyActivityPayerTypeCode PolicyActivityPayerPayerAssignedEntity PolicyActivityGuarantorGuarantorAssignedEntityGeneralHeaderConstraintsUSRealmAddressUSRealmAddressStreet PolicyActivityGuarantorGuarantorAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequireStateElement PolicyActivityGuarantorGuarantorAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequirePostalCodeElement PolicyActivityGuarantorGuarantorAssignedEntityGeneralHeaderConstraintsUSRealmAddressUse PolicyActivityGuarantorGuarantorAssignedEntityGeneralHeaderConstraintsUSRealmAddressCity PolicyActivityGuarantorGuarantorAssignedEntityGeneralHeaderConstraintsUSRealmAddressStreetAddressLine PolicyActivityGuarantorGuarantorAssignedEntityCode PolicyActivityGuarantorGuarantorAssignedEntityCodeP PolicyActivityGuarantorTemplateId PolicyActivityGuarantorGuarantorAssignedEntity PolicyActivityCoverageCoverageRoleGeneralHeaderConstraintsUSRealmAddressUSRealmAddressStreet PolicyActivityCoverageCoverageRoleGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequireStateElement PolicyActivityCoverageCoverageRoleGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequirePostalCodeElement PolicyActivityCoverageCoverageRoleGeneralHeaderConstraintsUSRealmAddressUse PolicyActivityCoverageCoverageRoleGeneralHeaderConstraintsUSRealmAddressCity PolicyActivityCoverageCoverageRoleGeneralHeaderConstraintsUSRealmAddressStreetAddressLine PolicyActivityCoverageCoverageRoleCoveragePlayingEntityName PolicyActivityCoverageCoverageRoleId PolicyActivityCoverageCoverageRoleCodeP PolicyActivityCoverageTemplateId PolicyActivityCoverageTypeCode PolicyActivityCoverageCoverageRole PolicyActivityHolderHolderRoleGeneralHeaderConstraintsUSRealmAddressUSRealmAddressStreet PolicyActivityHolderHolderRoleGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequireStateElement PolicyActivityHolderHolderRoleGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequirePostalCodeElement PolicyActivityHolderHolderRoleGeneralHeaderConstraintsUSRealmAddressUse PolicyActivityHolderHolderRoleGeneralHeaderConstraintsUSRealmAddressCity PolicyActivityHolderHolderRoleGeneralHeaderConstraintsUSRealmAddressStreetAddressLine PolicyActivityHolderHolderRoleId PolicyActivityHolderTemplateId PolicyActivityHolderTypeCode PolicyActivityHolderHolderRole PolicyActivityEntryRelationshipTargetActActivity PolicyActivityEntryRelationshipDescriptionCoveragePlan PolicyActivityEntryRelationshipTypeCode' templateId.root='2.16.840.1.113883.10.20.22.4.61' classCode='ACT' moodCode='EVN' code.codeSystemName='' constraints.validation.warning='PolicyActivityCode PolicyActivityGuarantor PolicyActivityHolder PolicyActivityPayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressUseP PolicyActivityPayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressCountry PolicyActivityPayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressState PolicyActivityPayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressPostalCode PolicyActivityPayerPayerAssignedEntityPayerOrganizationName PolicyActivityPayerPayerAssignedEntityCodeP PolicyActivityPayerPayerAssignedEntityCode PolicyActivityPayerPayerAssignedEntityPayerOrganization PolicyActivityGuarantorGuarantorAssignedEntityGeneralHeaderConstraintsUSRealmAddressUseP PolicyActivityGuarantorGuarantorAssignedEntityGeneralHeaderConstraintsUSRealmAddressCountry PolicyActivityGuarantorGuarantorAssignedEntityGeneralHeaderConstraintsUSRealmAddressState PolicyActivityGuarantorGuarantorAssignedEntityGeneralHeaderConstraintsUSRealmAddressPostalCode PolicyActivityGuarantorGuarantorAssignedEntityPersonNameAndOrOrgName PolicyActivityGuarantorGuarantorAssignedEntityAddr PolicyActivityGuarantorGuarantorAssignedEntityTelecom PolicyActivityGuarantorTime PolicyActivityGuarantorTypeCode PolicyActivityCoverageCoverageRoleGeneralHeaderConstraintsUSRealmAddressUseP PolicyActivityCoverageCoverageRoleGeneralHeaderConstraintsUSRealmAddressCountry PolicyActivityCoverageCoverageRoleGeneralHeaderConstraintsUSRealmAddressState PolicyActivityCoverageCoverageRoleGeneralHeaderConstraintsUSRealmAddressPostalCode PolicyActivityCoverageCoverageRoleCode PolicyActivityCoverageCoverageRoleAddr PolicyActivityCoverageCoverageRoleCoveragePlayingEntity PolicyActivityCoverageLowTime PolicyActivityCoverageHighTime PolicyActivityCoverageTime PolicyActivityHolderHolderRoleGeneralHeaderConstraintsUSRealmAddressUseP PolicyActivityHolderHolderRoleGeneralHeaderConstraintsUSRealmAddressCountry PolicyActivityHolderHolderRoleGeneralHeaderConstraintsUSRealmAddressState PolicyActivityHolderHolderRoleGeneralHeaderConstraintsUSRealmAddressPostalCode PolicyActivityHolderHolderRoleAddr' constraints.validation.dependOn.PolicyActivityCode='PolicyActivityCodeP' statusCode.code='completed' constraints.validation.query='PolicyActivityPayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressUSRealmAddressStreet PolicyActivityPayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequireStateElement PolicyActivityPayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequirePostalCodeElement PolicyActivityPayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressUse PolicyActivityPayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressUseP PolicyActivityPayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressCountry PolicyActivityPayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressState PolicyActivityPayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressCity PolicyActivityPayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressPostalCode PolicyActivityPayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressStreetAddressLine PolicyActivityPayerPayerAssignedEntityPayerOrganizationName PolicyActivityPayerPayerAssignedEntityId PolicyActivityPayerPayerAssignedEntityCodeP PolicyActivityPayerPayerAssignedEntityCode PolicyActivityPayerPayerAssignedEntityAddr PolicyActivityPayerPayerAssignedEntityTelecom PolicyActivityPayerPayerAssignedEntityPayerOrganization PolicyActivityPayerTemplateId PolicyActivityPayerTypeCode PolicyActivityPayerPayerAssignedEntity PolicyActivityGuarantorGuarantorAssignedEntityGeneralHeaderConstraintsUSRealmAddressUSRealmAddressStreet PolicyActivityGuarantorGuarantorAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequireStateElement PolicyActivityGuarantorGuarantorAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequirePostalCodeElement PolicyActivityGuarantorGuarantorAssignedEntityGeneralHeaderConstraintsUSRealmAddressUse PolicyActivityGuarantorGuarantorAssignedEntityGeneralHeaderConstraintsUSRealmAddressUseP PolicyActivityGuarantorGuarantorAssignedEntityGeneralHeaderConstraintsUSRealmAddressCountry PolicyActivityGuarantorGuarantorAssignedEntityGeneralHeaderConstraintsUSRealmAddressState PolicyActivityGuarantorGuarantorAssignedEntityGeneralHeaderConstraintsUSRealmAddressCity PolicyActivityGuarantorGuarantorAssignedEntityGeneralHeaderConstraintsUSRealmAddressPostalCode PolicyActivityGuarantorGuarantorAssignedEntityGeneralHeaderConstraintsUSRealmAddressStreetAddressLine PolicyActivityGuarantorGuarantorAssignedEntityPersonNameAndOrOrgName PolicyActivityGuarantorGuarantorAssignedEntityCode PolicyActivityGuarantorGuarantorAssignedEntityCodeP PolicyActivityGuarantorGuarantorAssignedEntityAddr PolicyActivityGuarantorGuarantorAssignedEntityTelecom PolicyActivityGuarantorTemplateId PolicyActivityGuarantorTime PolicyActivityGuarantorTypeCode PolicyActivityGuarantorGuarantorAssignedEntity PolicyActivityCoverageCoverageRoleGeneralHeaderConstraintsUSRealmAddressUSRealmAddressStreet PolicyActivityCoverageCoverageRoleGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequireStateElement PolicyActivityCoverageCoverageRoleGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequirePostalCodeElement PolicyActivityCoverageCoverageRoleGeneralHeaderConstraintsUSRealmAddressUse PolicyActivityCoverageCoverageRoleGeneralHeaderConstraintsUSRealmAddressUseP PolicyActivityCoverageCoverageRoleGeneralHeaderConstraintsUSRealmAddressCountry PolicyActivityCoverageCoverageRoleGeneralHeaderConstraintsUSRealmAddressState PolicyActivityCoverageCoverageRoleGeneralHeaderConstraintsUSRealmAddressCity PolicyActivityCoverageCoverageRoleGeneralHeaderConstraintsUSRealmAddressPostalCode PolicyActivityCoverageCoverageRoleGeneralHeaderConstraintsUSRealmAddressStreetAddressLine PolicyActivityCoverageCoverageRoleCoveragePlayingEntityName PolicyActivityCoverageCoverageRoleId PolicyActivityCoverageCoverageRoleCode PolicyActivityCoverageCoverageRoleCodeP PolicyActivityCoverageCoverageRoleAddr PolicyActivityCoverageCoverageRoleCoveragePlayingEntity PolicyActivityCoverageLowTime PolicyActivityCoverageHighTime PolicyActivityCoverageTemplateId PolicyActivityCoverageTypeCode PolicyActivityCoverageTime PolicyActivityCoverageCoverageRole PolicyActivityHolderHolderRoleGeneralHeaderConstraintsUSRealmAddressUSRealmAddressStreet PolicyActivityHolderHolderRoleGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequireStateElement PolicyActivityHolderHolderRoleGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequirePostalCodeElement PolicyActivityHolderHolderRoleGeneralHeaderConstraintsUSRealmAddressUse PolicyActivityHolderHolderRoleGeneralHeaderConstraintsUSRealmAddressUseP PolicyActivityHolderHolderRoleGeneralHeaderConstraintsUSRealmAddressCountry PolicyActivityHolderHolderRoleGeneralHeaderConstraintsUSRealmAddressState PolicyActivityHolderHolderRoleGeneralHeaderConstraintsUSRealmAddressCity PolicyActivityHolderHolderRoleGeneralHeaderConstraintsUSRealmAddressPostalCode PolicyActivityHolderHolderRoleGeneralHeaderConstraintsUSRealmAddressStreetAddressLine PolicyActivityHolderHolderRoleId PolicyActivityHolderHolderRoleAddr PolicyActivityHolderTemplateId PolicyActivityHolderTypeCode PolicyActivityHolderTime PolicyActivityHolderHolderRole PolicyActivityEntryRelationshipTargetActActivity PolicyActivityEntryRelationshipDescriptionCoveragePlan PolicyActivityEntryRelationshipTypeCode' constraints.validation.dependOn.PolicyActivityPayerPayerAssignedEntityCode='PolicyActivityPayerPayerAssignedEntityCodeP' constraints.validation.info='PolicyActivityPayerPayerAssignedEntityAddr PolicyActivityPayerPayerAssignedEntityTelecom PolicyActivityHolderTime' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolPolicyActivityPayer constraints.validation.error='PolicyActivityPayerTemplateId PolicyActivityPayerTypeCode PolicyActivityPayerPayerAssignedEntity PayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressUSRealmAddressStreet PayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequireStateElement PayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequirePostalCodeElement PayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressUse PayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressCity PayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressStreetAddressLine PayerPolicyActivityPayerPayerAssignedEntityId' templateId.root='2.16.840.1.113883.10.20.22.4.87' typeCode='PRF' constraints.validation.query='PayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressUSRealmAddressStreet PayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequireStateElement PayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequirePostalCodeElement PayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressUse PayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressUseP PayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressCountry PayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressState PayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressCity PayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressPostalCode PayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressStreetAddressLine PayerPayerAssignedEntityPolicyActivityPayerPayerAssignedEntityPayerOrganizationName PayerPolicyActivityPayerPayerAssignedEntityId PayerPolicyActivityPayerPayerAssignedEntityCodeP PayerPolicyActivityPayerPayerAssignedEntityCode PayerPolicyActivityPayerPayerAssignedEntityAddr PayerPolicyActivityPayerPayerAssignedEntityTelecom PayerPolicyActivityPayerPayerAssignedEntityPayerOrganization' constraints.validation.warning='PayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressUseP PayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressCountry PayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressState PayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressPostalCode PayerPayerAssignedEntityPolicyActivityPayerPayerAssignedEntityPayerOrganizationName PayerPolicyActivityPayerPayerAssignedEntityCodeP PayerPolicyActivityPayerPayerAssignedEntityCode PayerPolicyActivityPayerPayerAssignedEntityPayerOrganization' constraints.validation.dependOn.PayerPolicyActivityPayerPayerAssignedEntityCode='PolicyActivityPayerPayerAssignedEntityCodeP' constraints.validation.info='PayerPolicyActivityPayerPayerAssignedEntityAddr PayerPolicyActivityPayerPayerAssignedEntityTelecom' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolPolicyActivityPayerPayerAssignedEntity constraints.validation.error='PolicyActivityPayerPayerAssignedEntityId PayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressUSRealmAddressStreet PayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequireStateElement PayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequirePostalCodeElement PayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressUse PayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressCity PayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressStreetAddressLine' code.codeSystem='2.16.840.1.113883.5.110' code.codeSystemName='HL7RoleClass' constraints.validation.warning='PolicyActivityPayerPayerAssignedEntityCode PolicyActivityPayerPayerAssignedEntityCodeP PolicyActivityPayerPayerAssignedEntityPayerOrganization PayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressUseP PayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressCountry PayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressState PayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressPostalCode PayerAssignedEntityPolicyActivityPayerPayerAssignedEntityPayerOrganizationName' constraints.validation.dependOn.PolicyActivityPayerPayerAssignedEntityCode='PolicyActivityPayerPayerAssignedEntityCodeP' constraints.validation.info='PolicyActivityPayerPayerAssignedEntityAddr PolicyActivityPayerPayerAssignedEntityTelecom' constraints.validation.query='PayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressUSRealmAddressStreet PayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequireStateElement PayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequirePostalCodeElement PayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressUse PayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressUseP PayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressCountry PayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressState PayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressCity PayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressPostalCode PayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressStreetAddressLine PayerAssignedEntityPolicyActivityPayerPayerAssignedEntityPayerOrganizationName' @@ -46676,50 +46676,50 @@ value.code = 'completed') http://www.openhealthtools.org/mdht/uml/cda/annotation/consolPolicyActivityHolderHolderRole constraints.validation.error='PolicyActivityHolderHolderRoleId HolderRoleGeneralHeaderConstraintsUSRealmAddressUSRealmAddressStreet HolderRoleGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequireStateElement HolderRoleGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequirePostalCodeElement HolderRoleGeneralHeaderConstraintsUSRealmAddressUse HolderRoleGeneralHeaderConstraintsUSRealmAddressCity HolderRoleGeneralHeaderConstraintsUSRealmAddressStreetAddressLine' constraints.validation.warning='PolicyActivityHolderHolderRoleAddr HolderRoleGeneralHeaderConstraintsUSRealmAddressUseP HolderRoleGeneralHeaderConstraintsUSRealmAddressCountry HolderRoleGeneralHeaderConstraintsUSRealmAddressState HolderRoleGeneralHeaderConstraintsUSRealmAddressPostalCode' constraints.validation.query='HolderRoleGeneralHeaderConstraintsUSRealmAddressUSRealmAddressStreet HolderRoleGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequireStateElement HolderRoleGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequirePostalCodeElement HolderRoleGeneralHeaderConstraintsUSRealmAddressUse HolderRoleGeneralHeaderConstraintsUSRealmAddressUseP HolderRoleGeneralHeaderConstraintsUSRealmAddressCountry HolderRoleGeneralHeaderConstraintsUSRealmAddressState HolderRoleGeneralHeaderConstraintsUSRealmAddressCity HolderRoleGeneralHeaderConstraintsUSRealmAddressPostalCode HolderRoleGeneralHeaderConstraintsUSRealmAddressStreetAddressLine' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolPolicyActivityEntryRelationship constraints.validation.error='PolicyActivityEntryRelationshipTargetActActivity PolicyActivityEntryRelationshipDescriptionCoveragePlan PolicyActivityEntryRelationshipTypeCode' typeCode='REFR' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='CoverageActivityTemplateId CoverageActivityClassCode CoverageActivityMoodCode CoverageActivityId CoverageActivityCode CoverageActivityStatusCode CoverageActivityPolicyActivity' templateId.root='2.16.840.1.113883.10.20.22.4.60' constraints.validation.info='CoverageActivityCoverageActivityRelationshipSequenceNumber' classCode='ACT' moodCode='EVN' code.code='48768-6' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Payment Sources' statusCode.code='completed' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ProblemObservationTemplateId ProblemObservationTextReferenceValue ProblemObservationHasTextReferenceValue ProblemObservationHasOnsetDate ProblemObservationAgeObservationInversion ProblemObservationClassCode ProblemObservationMoodCode ProblemObservationId ProblemObservationCodeP ProblemObservationStatusCode ProblemObservationValueP' templateId.root='2.16.840.1.113883.10.20.22.4.4' constraints.validation.warning='ProblemObservationHasTextReference ProblemObservationCode ProblemObservationText ProblemObservationEffectiveTime ProblemObservationValue' constraints.validation.info='ProblemObservationHasResolutionDate ProblemObservationValueNullFlavor ProblemObservationValueTranslation ProblemObservationValueTranslationCode ProblemObservationNegationInd ProblemObservationAgeObservation ProblemObservationHealthStatusObservation ProblemObservationProblemStatus' classCode='OBS' moodCode='EVN' code.codeSystem='2.16.840.1.113883.6.96' code.codeSystemName='SNOMEDCT' constraints.validation.dependOn.ProblemObservationCode='ProblemObservationCodeP' statusCode.code='completed' value.codeSystem='2.16.840.1.113883.6.96' value.codeSystemName='SNOMEDCT' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ProblemStatusTemplateId ProblemStatusReferenceValue ProblemStatusTextReferenceValue ProblemStatusClassCode ProblemStatusMoodCode ProblemStatusCode ProblemStatusStatusCode ProblemStatusValue' templateId.root='2.16.840.1.113883.10.20.22.4.6' constraints.validation.warning='ProblemStatusTextReference ProblemStatusText' classCode='OBS' moodCode='EVN' code.code='33999-4' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Status' statusCode.code='completed' value.codeSystem='2.16.840.1.113883.6.96' value.codeSystemName='SNOMEDCT' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ImmunizationRefusalReasonTemplateId ImmunizationRefusalReasonClassCode ImmunizationRefusalReasonCode ImmunizationRefusalReasonId ImmunizationRefusalReasonMoodCode ImmunizationRefusalReasonStatusCode' templateId.root='2.16.840.1.113883.10.20.22.4.53' classCode='OBS' code.codeSystem='2.16.840.1.113883.5.8' code.codeSystemName='ActReason' moodCode='EVN' statusCode.code='completed' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ImmunizationMedicationInformationTemplateId ImmunizationMedicationInformationClassCode ImmunizationMedicationInformationManufacturedMaterial ImmunizationMedicationInformationImmunizationMedicationInformationManufacturedMaterialCode' templateId.root='2.16.840.1.113883.10.20.22.4.54' classCode='MANU' constraints.validation.info='ImmunizationMedicationInformationId ImmunizationMedicationInformationImmunizationMedicationInformationManufacturedMaterialCodeTranslation' constraints.validation.warning='ImmunizationMedicationInformationManufacturerOrganization ImmunizationMedicationInformationImmunizationMedicationInformationManufacturedMaterialCodeOriginalText ImmunizationMedicationInformationImmunizationMedicationInformationManufacturedMaterialOriginalTextReference ImmunizationMedicationInformationImmunizationMedicationInformationManufacturedMaterialTextReferenceValue ImmunizationMedicationInformationImmunizationMedicationInformationManufacturedMaterialLotNumberText' constraints.validation.query='ImmunizationMedicationInformationImmunizationMedicationInformationManufacturedMaterialCodeOriginalText ImmunizationMedicationInformationImmunizationMedicationInformationManufacturedMaterialOriginalTextReference ImmunizationMedicationInformationImmunizationMedicationInformationManufacturedMaterialTextReferenceValue ImmunizationMedicationInformationImmunizationMedicationInformationManufacturedMaterialCodeTranslation ImmunizationMedicationInformationImmunizationMedicationInformationManufacturedMaterialCode ImmunizationMedicationInformationImmunizationMedicationInformationManufacturedMaterialLotNumberText' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolImmunizationMedicationInformationImmunizationMedicationInformationManufacturedMaterial constraints.validation.warning='ImmunizationMedicationInformationImmunizationMedicationInformationManufacturedMaterialCodeOriginalText ImmunizationMedicationInformationImmunizationMedicationInformationManufacturedMaterialOriginalTextReference ImmunizationMedicationInformationImmunizationMedicationInformationManufacturedMaterialTextReferenceValue ImmunizationMedicationInformationImmunizationMedicationInformationManufacturedMaterialLotNumberText' constraints.validation.info='ImmunizationMedicationInformationImmunizationMedicationInformationManufacturedMaterialCodeTranslation' code.codeSystem='2.16.840.1.113883.12.292' code.codeSystemName='Vaccines administered (CVX)' constraints.validation.error='ImmunizationMedicationInformationImmunizationMedicationInformationManufacturedMaterialCode' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='AllergiesSectionEntriesOptionalTemplateId AllergiesSectionEntriesOptionalCode AllergiesSectionEntriesOptionalCodeP AllergiesSectionEntriesOptionalTitle AllergiesSectionEntriesOptionalText' templateId.root='2.16.840.1.113883.10.20.22.2.6' code.code='48765-2' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Allergies, adverse reactions, alerts' constraints.validation.warning='AllergiesSectionEntriesOptionalAllergyProblemAct' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='MedicationsSectionEntriesOptionalTemplateId MedicationsSectionEntriesOptionalCode MedicationsSectionEntriesOptionalCodeP MedicationsSectionEntriesOptionalTitle MedicationsSectionEntriesOptionalText' templateId.root='2.16.840.1.113883.10.20.22.2.1' code.code='10160-0' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='History of medication use' constraints.validation.warning='MedicationsSectionEntriesOptionalMedicationActivity' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ProblemSectionEntriesOptionalTemplateId ProblemSectionEntriesOptionalCode ProblemSectionEntriesOptionalCodeP ProblemSectionEntriesOptionalTitle ProblemSectionEntriesOptionalText' templateId.root='2.16.840.1.113883.10.20.22.2.5' code.code='11450-4' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Problem List' constraints.validation.warning='ProblemSectionEntriesOptionalProblemConcern' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ProceduresSectionEntriesOptionalTemplateId ProceduresSectionEntriesOptionalCode ProceduresSectionEntriesOptionalCodeP ProceduresSectionEntriesOptionalTitle ProceduresSectionEntriesOptionalText' templateId.root='2.16.840.1.113883.10.20.22.2.7' code.code='47519-4' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='History of Procedures' constraints.validation.info='ProceduresSectionEntriesOptionalProcedureActivityProcedure ProceduresSectionEntriesOptionalProcedureActivityObservation ProceduresSectionEntriesOptionalProcedureActivityAct' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ResultsSectionEntriesOptionalTemplateId ResultsSectionEntriesOptionalCode ResultsSectionEntriesOptionalCodeP ResultsSectionEntriesOptionalTitle ResultsSectionEntriesOptionalText' templateId.root='2.16.840.1.113883.10.20.22.2.3' code.code='30954-2' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Relevant diagnostic tests and/or laboratory data' constraints.validation.warning='ResultsSectionEntriesOptionalResultOrganizer' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='AdvanceDirectivesSectionEntriesOptionalTemplateId AdvanceDirectivesSectionEntriesOptionalCode AdvanceDirectivesSectionEntriesOptionalCodeP AdvanceDirectivesSectionEntriesOptionalTitle AdvanceDirectivesSectionEntriesOptionalText' templateId.root='2.16.840.1.113883.10.20.22.2.21' code.code='42348-3' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Advance Directives' constraints.validation.info='AdvanceDirectivesSectionEntriesOptionalAdvanceDirectiveObservation' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='EncountersSectionEntriesOptionalTemplateId EncountersSectionEntriesOptionalCode EncountersSectionEntriesOptionalCodeP EncountersSectionEntriesOptionalTitle EncountersSectionEntriesOptionalText' templateId.root='2.16.840.1.113883.10.20.22.2.22' code.code='46240-8' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Encounters' constraints.validation.warning='EncountersSectionEntriesOptionalEncounterActivities' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ImmunizationsSectionEntriesOptionalTemplateId ImmunizationsSectionEntriesOptionalCode ImmunizationsSectionEntriesOptionalCodeP ImmunizationsSectionEntriesOptionalTitle ImmunizationsSectionEntriesOptionalText' templateId.root='2.16.840.1.113883.10.20.22.2.2' code.code='11369-6' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' constraints.validation.warning='ImmunizationsSectionEntriesOptionalImmunizationActivity' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='VitalSignsSectionEntriesOptionalTemplateId VitalSignsSectionEntriesOptionalCode VitalSignsSectionEntriesOptionalCodeP VitalSignsSectionEntriesOptionalTitle VitalSignsSectionEntriesOptionalText' templateId.root='2.16.840.1.113883.10.20.22.2.4' code.code='8716-3' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Vital Signs' constraints.validation.warning='VitalSignsSectionEntriesOptionalVitalSignsOrganizer' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ProcedureActivityObservationTemplateId ProcedureActivityObservationReferenceValue ProcedureActivityObservationEncounterInversion ProcedureActivityObservationServiceDeliveryLocationTypeCode ProcedureActivityObservationInstructionsInversion ProcedureActivityObservationClassCode ProcedureActivityObservationMoodCode ProcedureActivityObservationId ProcedureActivityObservationCode ProcedureActivityObservationStatusCode ProcedureActivityObservationPriorityCode ProcedureActivityObservationValue ProcedureActivityObservationTargetSiteCode ProcedureActivityObservationProcedureObservationPerformerProcedureObservationAssignedEntityProcedureObservationRepresentedOrganizationTelecom ProcedureActivityObservationProcedureObservationPerformerProcedureObservationAssignedEntityProcedureObservationRepresentedOrganizationAddr ProcedureActivityObservationProcedureObservationPerformerProcedureObservationAssignedEntityId ProcedureActivityObservationProcedureObservationPerformerProcedureObservationAssignedEntityAddr ProcedureActivityObservationProcedureObservationPerformerProcedureObservationAssignedEntityTelecom ProcedureActivityObservationProcedureObservationPerformerAssignedEntity ProcedureActivityObservationEntryRelationshipProcedureObservationEncounterClassCode ProcedureActivityObservationEntryRelationshipProcedureObservationEncounterMoodCode ProcedureActivityObservationEntryRelationshipProcedureObservationEncounterId ProcedureActivityObservationEntryRelationshipInversionInd ProcedureActivityObservationEntryRelationshipTypeCode ProcedureActivityObservationEntryRelationshipProcedureObservationEncounter' templateId.root='2.16.840.1.113883.10.20.22.4.13' constraints.validation.warning='ProcedureActivityObservationCodeCodeSystems ProcedureActivityObservationCodeOriginalText ProcedureActivityObservationOriginalTextReference ProcedureActivityObservationOriginalTextReferenceValue ProcedureActivityObservationEffectiveTime ProcedureActivityObservationTargetSiteCodeP ProcedureActivityObservationPerformer ProcedureActivityObservationProcedureObservationPerformerProcedureObservationAssignedEntityProcedureObservationRepresentedOrganizationId ProcedureActivityObservationProcedureObservationPerformerProcedureObservationAssignedEntityRepresentedOrganization' classCode='OBS' priorityCode.codeSystem='2.16.840.1.113883.5.7' priorityCode.codeSystemName='ActPriority' constraints.validation.info='ProcedureActivityObservationPriorityCodeP ProcedureActivityObservationMethodCode ProcedureActivityObservationServiceDeliveryLocation ProcedureActivityObservationInstructions ProcedureActivityObservationIndication ProcedureActivityObservationMedicationActivity ProcedureActivityObservationEntryRelationship ProcedureActivityObservationProcedureObservationPerformerProcedureObservationAssignedEntityProcedureObservationRepresentedOrganizationName' constraints.validation.dependOn.ProcedureActivityObservationPriorityCode='ProcedureActivityObservationPriorityCodeP' targetSiteCode.codeSystem='2.16.840.1.113883.6.96' targetSiteCode.codeSystemName='SNOMEDCT' constraints.validation.dependOn.ProcedureActivityObservationTargetSiteCode='ProcedureActivityObservationTargetSiteCodeP' constraints.validation.query='ProcedureActivityObservationProcedureObservationPerformerProcedureObservationAssignedEntityProcedureObservationRepresentedOrganizationId ProcedureActivityObservationProcedureObservationPerformerProcedureObservationAssignedEntityProcedureObservationRepresentedOrganizationName ProcedureActivityObservationProcedureObservationPerformerProcedureObservationAssignedEntityProcedureObservationRepresentedOrganizationTelecom ProcedureActivityObservationProcedureObservationPerformerProcedureObservationAssignedEntityProcedureObservationRepresentedOrganizationAddr ProcedureActivityObservationProcedureObservationPerformerProcedureObservationAssignedEntityId ProcedureActivityObservationProcedureObservationPerformerProcedureObservationAssignedEntityAddr ProcedureActivityObservationProcedureObservationPerformerProcedureObservationAssignedEntityTelecom ProcedureActivityObservationProcedureObservationPerformerProcedureObservationAssignedEntityRepresentedOrganization ProcedureActivityObservationProcedureObservationPerformerAssignedEntity ProcedureActivityObservationEntryRelationshipProcedureObservationEncounterClassCode ProcedureActivityObservationEntryRelationshipProcedureObservationEncounterMoodCode ProcedureActivityObservationEntryRelationshipProcedureObservationEncounterId ProcedureActivityObservationEntryRelationshipInversionInd ProcedureActivityObservationEntryRelationshipTypeCode ProcedureActivityObservationEntryRelationshipProcedureObservationEncounter' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolProcedureActivityObservationProcedureObservationPerformer constraints.validation.error='ProcedureActivityObservationProcedureObservationPerformerAssignedEntity' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolProcedureActivityObservationProcedureObservationPerformerProcedureObservationAssignedEntity constraints.validation.error='ProcedureActivityObservationProcedureObservationPerformerProcedureObservationAssignedEntityId ProcedureActivityObservationProcedureObservationPerformerProcedureObservationAssignedEntityAddr ProcedureActivityObservationProcedureObservationPerformerProcedureObservationAssignedEntityTelecom' constraints.validation.warning='ProcedureActivityObservationProcedureObservationPerformerProcedureObservationAssignedEntityRepresentedOrganization' @@ -46727,7 +46727,7 @@ value.code = 'completed') http://www.openhealthtools.org/mdht/uml/cda/annotation/consolProcedureActivityObservationEntryRelationship inversionInd='true' constraints.validation.error='ProcedureActivityObservationEntryRelationshipInversionInd ProcedureActivityObservationEntryRelationshipTypeCode ProcedureActivityObservationEntryRelationshipProcedureObservationEncounter' typeCode='COMP' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolProcedureActivityObservationEntryRelationshipProcedureObservationEncounter classCode='ENC' constraints.validation.error='ProcedureActivityObservationEntryRelationshipProcedureObservationEncounterClassCode ProcedureActivityObservationEntryRelationshipProcedureObservationEncounterMoodCode ProcedureActivityObservationEntryRelationshipProcedureObservationEncounterId' moodCode='EVN' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ProcedureActivityActTemplateId ProcedureActivityActReferenceValue ProcedureActivityActServiceDeliveryLocationTypeCode ProcedureActivityActEncounterInversion ProcedureActivityActInstructionsInversion ProcedureActivityActClassCode ProcedureActivityActMoodCode ProcedureActivityActId ProcedureActivityActCode ProcedureActivityActStatusCode ProcedureActivityActPriorityCode ProcedureActivityActProcedureActPerformerProcedureActAssignedEntityProcedureActRepresentedOrganizationTelecom ProcedureActivityActProcedureActPerformerProcedureActAssignedEntityProcedureActRepresentedOrganizationAddr ProcedureActivityActProcedureActPerformerProcedureActAssignedEntityId ProcedureActivityActProcedureActPerformerProcedureActAssignedEntityAddr ProcedureActivityActProcedureActPerformerProcedureActAssignedEntityTelecom ProcedureActivityActProcedureActPerformerAssignedEntity ProcedureActivityActEntryRelationshipProcedureActEncounterClassCode ProcedureActivityActEntryRelationshipProcedureActEncounterMoodCode ProcedureActivityActEntryRelationshipProcedureActEncounterId ProcedureActivityActEntryRelationshipInversionInd ProcedureActivityActEntryRelationshipTypeCode ProcedureActivityActEntryRelationshipProcedureActEncounter' templateId.root='2.16.840.1.113883.10.20.22.4.12' constraints.validation.warning='ProcedureActivityActCodeOriginalText ProcedureActivityActOriginalTextReference ProcedureActivityActCodeCodeSystems ProcedureActivityActEffectiveTime ProcedureActivityActPerformer ProcedureActivityActProcedureActPerformerProcedureActAssignedEntityProcedureActRepresentedOrganizationId ProcedureActivityActProcedureActPerformerProcedureActAssignedEntityRepresentedOrganization' constraints.validation.info='ProcedureActivityActOriginalTextReferenceValue ProcedureActivityActPriorityCodeP ProcedureActivityActServiceDeliveryLocation ProcedureActivityActInstructions ProcedureActivityActIndication ProcedureActivityActMedicationActivity ProcedureActivityActEntryRelationship ProcedureActivityActProcedureActPerformerProcedureActAssignedEntityProcedureActRepresentedOrganizationName' classCode='ACT' priorityCode.codeSystem='2.16.840.1.113883.5.7' priorityCode.codeSystemName='ActPriority' constraints.validation.dependOn.ProcedureActivityActPriorityCode='ProcedureActivityActPriorityCodeP' constraints.validation.query='ProcedureActivityActProcedureActPerformerProcedureActAssignedEntityProcedureActRepresentedOrganizationId ProcedureActivityActProcedureActPerformerProcedureActAssignedEntityProcedureActRepresentedOrganizationName ProcedureActivityActProcedureActPerformerProcedureActAssignedEntityProcedureActRepresentedOrganizationTelecom ProcedureActivityActProcedureActPerformerProcedureActAssignedEntityProcedureActRepresentedOrganizationAddr ProcedureActivityActProcedureActPerformerProcedureActAssignedEntityId ProcedureActivityActProcedureActPerformerProcedureActAssignedEntityAddr ProcedureActivityActProcedureActPerformerProcedureActAssignedEntityTelecom ProcedureActivityActProcedureActPerformerProcedureActAssignedEntityRepresentedOrganization ProcedureActivityActProcedureActPerformerAssignedEntity ProcedureActivityActEntryRelationshipProcedureActEncounterClassCode ProcedureActivityActEntryRelationshipProcedureActEncounterMoodCode ProcedureActivityActEntryRelationshipProcedureActEncounterId ProcedureActivityActEntryRelationshipInversionInd ProcedureActivityActEntryRelationshipTypeCode ProcedureActivityActEntryRelationshipProcedureActEncounter' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolProcedureActivityActProcedureActPerformer constraints.validation.error='ProcedureActivityActProcedureActPerformerAssignedEntity' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolProcedureActivityActProcedureActPerformerProcedureActAssignedEntity constraints.validation.error='ProcedureActivityActProcedureActPerformerProcedureActAssignedEntityId ProcedureActivityActProcedureActPerformerProcedureActAssignedEntityAddr ProcedureActivityActProcedureActPerformerProcedureActAssignedEntityTelecom' constraints.validation.warning='ProcedureActivityActProcedureActPerformerProcedureActAssignedEntityRepresentedOrganization' @@ -46735,120 +46735,120 @@ value.code = 'completed') http://www.openhealthtools.org/mdht/uml/cda/annotation/consolProcedureActivityActEntryRelationship inversionInd='true' constraints.validation.error='ProcedureActivityActEntryRelationshipInversionInd ProcedureActivityActEntryRelationshipTypeCode ProcedureActivityActEntryRelationshipProcedureActEncounter' typeCode='COMP' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolProcedureActivityActEntryRelationshipProcedureActEncounter classCode='ENC' constraints.validation.error='ProcedureActivityActEntryRelationshipProcedureActEncounterClassCode ProcedureActivityActEntryRelationshipProcedureActEncounterMoodCode ProcedureActivityActEntryRelationshipProcedureActEncounterId' moodCode='EVN' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='AuthorizationActivityTemplateId AuthorizationActivityClassCode AuthorizationActivityId AuthorizationActivityMoodCode AuthorizationActivityEntryRelationship AuthorizationActivityEntryRelationshipHasClinicalStatement AuthorizationActivityEntryRelationshipTypeCode' templateId.root='2.16.840.1.113883.10.20.1.19' classCode='ACT' moodCode='EVN' constraints.validation.query='AuthorizationActivityEntryRelationshipHasClinicalStatement AuthorizationActivityEntryRelationshipHasAuthorizedPerformers AuthorizationActivityEntryRelationshipTypeCode' constraints.validation.info='AuthorizationActivityEntryRelationshipHasAuthorizedPerformers' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolAuthorizationActivityEntryRelationship constraints.validation.error='AuthorizationActivityEntryRelationshipHasClinicalStatement AuthorizationActivityEntryRelationshipTypeCode' constraints.validation.info='AuthorizationActivityEntryRelationshipHasAuthorizedPerformers' typeCode='SUBJ' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='MedicationSupplyOrderTemplateId MedicationSupplyOrderInstructionInversionInd MedicationSupplyOrderEffectiveTimeHigh MedicationSupplyOrderContainsMedicationOrImmunization MedicationSupplyOrderClassCode MedicationSupplyOrderMoodCode MedicationSupplyOrderId MedicationSupplyOrderStatusCode' templateId.root='2.16.840.1.113883.10.20.22.4.17' classCode='SPLY' moodCode='INT' constraints.validation.warning='MedicationSupplyOrderEffectiveTime MedicationSupplyOrderRepeatNumber MedicationSupplyOrderQuantity' constraints.validation.info='MedicationSupplyOrderAuthor MedicationSupplyOrderInstructions' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='EstimatedDateOfDeliveryTemplateId EstimatedDateOfDeliveryClassCode EstimatedDateOfDeliveryCode EstimatedDateOfDeliveryMoodCode EstimatedDateOfDeliveryStatusCode EstimatedDateOfDeliveryValue' templateId.root='2.16.840.1.113883.10.20.15.3.1' classCode='OBS' code.code='11778-8' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' moodCode='EVN' statusCode.code='completed' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='DischargeMedicationMedicationActivity DischargeMedicationTemplateId DischargeMedicationClassCode DischargeMedicationMoodCode DischargeMedicationCode' templateId.root='2.16.840.1.113883.10.20.22.4.35' classCode='ACT' moodCode='EVN' code.code='10183-2' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Discharge Medication' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='HospitalDischargeDiagnosisProblemObservation HospitalDischargeDiagnosisTemplateId HospitalDischargeDiagnosisClassCode HospitalDischargeDiagnosisMoodCode HospitalDischargeDiagnosisCode' templateId.root='2.16.840.1.113883.10.20.22.4.33' classCode='ACT' moodCode='EVN' code.code='11535-2' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Hospital Discharge Diagnosis' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='HospitalDischargeDiagnosisSectionTemplateId HospitalDischargeDiagnosisSectionCode HospitalDischargeDiagnosisSectionCodeP HospitalDischargeDiagnosisSectionTitle HospitalDischargeDiagnosisSectionText' templateId.root='2.16.840.1.113883.10.20.22.2.24' code.code='11535-2' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Hospital Discharge Diagnosis' constraints.validation.warning='HospitalDischargeDiagnosisSectionHospitalDischargeDiagnosis' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='HospitalDischargeMedicationsSectionEntriesOptionalTemplateId HospitalDischargeMedicationsSectionEntriesOptionalCode HospitalDischargeMedicationsSectionEntriesOptionalCodeP HospitalDischargeMedicationsSectionEntriesOptionalTitle HospitalDischargeMedicationsSectionEntriesOptionalText' templateId.root='2.16.840.1.113883.10.20.22.2.11' code.code='10183-2' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='HOSPITAL DISCHARGE MEDICATIONS' constraints.validation.warning='HospitalDischargeMedicationsSectionEntriesOptionalDischargeMedication' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='HospitalCourseSectionTemplateId HospitalCourseSectionCode HospitalCourseSectionCodeP HospitalCourseSectionTitle HospitalCourseSectionText' templateId.root='1.3.6.1.4.1.19376.1.5.3.1.3.5' code.code='8648-8' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Hospital Course' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='DischargeDietSectionTemplateId DischargeDietSectionCode DischargeDietSectionCodeP DischargeDietSectionTitle DischargeDietSectionText' templateId.root='1.3.6.1.4.1.19376.1.5.3.1.3.33' code.code='42344-2' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Discharge Diet' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='HospitalDischargeStudiesSummarySectionTemplateId HospitalDischargeStudiesSummarySectionCode HospitalDischargeStudiesSummarySectionCodeP HospitalDischargeStudiesSummarySectionTitle HospitalDischargeStudiesSummarySectionText' templateId.root='2.16.840.1.113883.10.20.22.2.16' code.code='11493-4' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Hospital Discharge Studies Summary' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='HospitalDischargeInstructionsSectionTemplateId HospitalDischargeInstructionsSectionCode HospitalDischargeInstructionsSectionCodeP HospitalDischargeInstructionsSectionTitle HospitalDischargeInstructionsSectionText' templateId.root='2.16.840.1.113883.10.20.22.2.41' code.code='8653-8' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Hospital Discharge Instructions' - - + + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='HospitalDischargeMedicationsSectionEntriesOptionalTemplateId HospitalDischargeMedicationsSectionEntriesOptionalCode HospitalDischargeMedicationsSectionEntriesOptionalCodeP HospitalDischargeMedicationsSectionEntriesOptionalText HospitalDischargeMedicationsSectionEntriesOptionalTitle HospitalDischargeMedicationsSectionEntriesOptionalDischargeMedication' templateId.root='2.16.840.1.113883.10.20.22.2.11.1' constraints.validation.dependOn.HospitalDischargeMedicationsSectionEntriesOptionalCode='HospitalDischargeMedicationsSectionEntriesOptionalCodeP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='HospitalDischargePhysicalSectionTemplateId HospitalDischargePhysicalSectionCode HospitalDischargePhysicalSectionCodeP HospitalDischargePhysicalSectionTitle HospitalDischargePhysicalSectionText' templateId.root='1.3.6.1.4.1.19376.1.5.3.1.3.26' code.code='10184-0' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Hospital Discharge Physical' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ChiefComplaintAndReasonForVisitSectionTemplateId ChiefComplaintAndReasonForVisitSectionCode ChiefComplaintAndReasonForVisitSectionCodeP ChiefComplaintAndReasonForVisitSectionText ChiefComplaintAndReasonForVisitSectionTitle' templateId.root='2.16.840.1.113883.10.20.22.2.13' code.code='46239-0' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Chief Complaint and Reason for Visit' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ReasonForVisitSectionTemplateId ReasonForVisitSectionCode ReasonForVisitSectionCodeP ReasonForVisitSectionText ReasonForVisitSectionTitle' templateId.root='2.16.840.1.113883.10.20.22.2.12' code.code='29299-5' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Reason for Visit' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='AnesthesiaSectionTemplateId AnesthesiaSectionCode AnesthesiaSectionCodeP AnesthesiaSectionTitle AnesthesiaSectionText' templateId.root='2.16.840.1.113883.10.20.22.2.25' code.code='59774-0' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' constraints.validation.info='AnesthesiaSectionProcedureActivityProcedure AnesthesiaSectionMedicationActivity' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ComplicationsSectionTemplateId ComplicationsSectionCode ComplicationsSectionCodeP ComplicationsSectionTitle ComplicationsSectionText' templateId.root='2.16.840.1.113883.10.20.22.2.37' code.code='55109-3' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Complications' constraints.validation.info='ComplicationsSectionProblemObservation' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='DICOMObjectCatalogSectionTemplateId DICOMObjectCatalogSectionCode DICOMObjectCatalogSectionCodeP DICOMObjectCatalogSectionStudyAct' templateId.root='2.16.840.1.113883.10.20.6.1.1' code.code='121181' code.codeSystem='1.2.840.10008.2.16.4' code.codeSystemName='DCM' code.displayName='Dicom Object Catalog' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='FindingsSectionTemplateId' templateId.root='2.16.840.1.113883.10.20.6.1.2' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='HospitalConsultationsSectionTemplateId HospitalConsultationsSectionCode HospitalConsultationsSectionCodeP HospitalConsultationsSectionText HospitalConsultationsSectionTitle' templateId.root='2.16.840.1.113883.10.20.22.2.42' code.code='18841-7' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='InterventionsSectionTemplateId InterventionsSectionCode InterventionsSectionCodeP InterventionsSectionTitle InterventionsSectionText' templateId.root='2.16.840.1.113883.10.20.21.2.3' code.code='62387-6' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='MedicalHistorySectionTemplateId MedicalHistorySectionCode MedicalHistorySectionCodeP MedicalHistorySectionText MedicalHistorySectionTitle' templateId.root='2.16.840.1.113883.10.20.22.2.39' code.code='11329-0' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ObjectiveSectionTemplateId ObjectiveSectionCode ObjectiveSectionCodeP ObjectiveSectionText ObjectiveSectionTitle' templateId.root='2.16.840.1.113883.10.20.21.2.1' code.code='61149-1' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Objective' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='OperativeNoteFluidSectionTemplateId OperativeNoteFluidSectionCode OperativeNoteFluidSectionCodeP OperativeNoteFluidSectionText OperativeNoteFluidSectionTitle' templateId.root='2.16.840.1.113883.10.20.7.12' code.code='10216-0' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Operative Note Fluids' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='OperativeNoteSurgicalProcedureSectionTemplateId OperativeNoteSurgicalProcedureSectionCode OperativeNoteSurgicalProcedureSectionCodeP OperativeNoteSurgicalProcedureSectionText OperativeNoteSurgicalProcedureSectionTitle' templateId.root='2.16.840.1.113883.10.20.7.14' code.code='10223-6' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Operative Note Surgical' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='PlannedProcedureSectionTemplateId PlannedProcedureSectionCode PlannedProcedureSectionCodeP PlannedProcedureSectionTitle PlannedProcedureSectionText' templateId.root='2.16.840.1.113883.10.20.22.2.30' code.code='59772-4' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Planned Procedure' constraints.validation.info='PlannedProcedureSectionPlanOfCareActivityProcedure' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='PostoperativeDiagnosisSectionTemplateId PostoperativeDiagnosisSectionCode PostoperativeDiagnosisSectionCodeP PostoperativeDiagnosisSectionText PostoperativeDiagnosisSectionTitle' templateId.root='2.16.840.1.113883.10.20.22.2.35' code.code='10218-6' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Postoperative Diagnosis' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='PostprocedureDiagnosisSectionTemplateId PostprocedureDiagnosisSectionCode PostprocedureDiagnosisSectionCodeP PostprocedureDiagnosisSectionTitle PostprocedureDiagnosisSectionText' templateId.root='2.16.840.1.113883.10.20.22.2.36' code.code='59769-0' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Postprocedure Diagnosis' constraints.validation.warning='PostprocedureDiagnosisSectionPostprocedureDiagnosis' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='PreoperativeDiagnosisSectionTemplateId PreoperativeDiagnosisSectionCode PreoperativeDiagnosisSectionCodeP PreoperativeDiagnosisSectionTitle PreoperativeDiagnosisSectionText' templateId.root='2.16.840.1.113883.10.20.22.2.34' code.code='10219-4' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Preoperative Diagnosis' constraints.validation.warning='PreoperativeDiagnosisSectionPreoperativeDiagnosis' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ProcedureDescriptionSectionTemplateId ProcedureDescriptionSectionCode ProcedureDescriptionSectionCodeP ProcedureDescriptionSectionText ProcedureDescriptionSectionTitle' templateId.root='2.16.840.1.113883.10.20.22.2.27' code.code='29554-3' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Procedure Description' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ProcedureDispositionSectionTemplateId ProcedureDispositionSectionCode ProcedureDispositionSectionCodeP ProcedureDispositionSectionText ProcedureDispositionSectionTitle' templateId.root='2.16.840.1.113883.10.20.18.2.12' code.code='59775-7' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Procedure Disposition' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ProcedureEstimatedBloodLossSectionTemplateId ProcedureEstimatedBloodLossSectionCode ProcedureEstimatedBloodLossSectionCodeP ProcedureEstimatedBloodLossSectionText ProcedureEstimatedBloodLossSectionTitle' templateId.root='2.16.840.1.113883.10.20.18.2.9' code.code='59770-8' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Procedure Estimated Blood Loss' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ProcedureFindingsSectionTemplateId ProcedureFindingsSectionCode ProcedureFindingsSectionCodeP ProcedureFindingsSectionTitle ProcedureFindingsSectionText' templateId.root='2.16.840.1.113883.10.20.22.2.28' code.code='59776-5' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Procedure Findings' constraints.validation.info='ProcedureFindingsSectionProblemObservation' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ProcedureImplantsSectionTemplateId ProcedureImplantsSectionCode ProcedureImplantsSectionCodeP ProcedureImplantsSectionText ProcedureImplantsSectionTitle' templateId.root='2.16.840.1.113883.10.20.22.2.40' code.code='59771-6' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Procedure Implants' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ProcedureIndicationsSectionTemplateId ProcedureIndicationsSectionCode ProcedureIndicationsSectionCodeP ProcedureIndicationsSectionTitle ProcedureIndicationsSectionText' templateId.root='2.16.840.1.113883.10.20.22.2.29' code.code='59768-2' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Procedure Indications' constraints.validation.info='ProcedureIndicationsSectionIndication' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ProcedureSpecimensTakenSectionTemplateId ProcedureSpecimensTakenSectionCode ProcedureSpecimensTakenSectionCodeP ProcedureSpecimensTakenSectionText ProcedureSpecimensTakenSectionTitle' templateId.root='2.16.840.1.113883.10.20.22.2.31' code.code='59773-2' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Procedure Specimens Taken' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='SubjectiveSectionTemplateId SubjectiveSectionCode SubjectiveSectionCodeP SubjectiveSectionText SubjectiveSectionTitle' templateId.root='2.16.840.1.113883.10.20.21.2.2' code.code='61150-9' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Subjective' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='GeneralHeaderConstraintsTemplateId ConsultationNoteHasAnAssementAndPlanSectionOrIndividualAssementAndPlanSections ConsultationNoteDoesNotHaveIndividualAssementAndPlanSectionsWhenAssementAndPlanSectionPresent ConsultationNoteDoesNotHaveChiefComplaintAndReasonForVisitWithChiefComplaintSectionOrReasonSection ConsultationNoteHasReasonForReferralOrReasonForVisit GeneralHeaderConstraintsCode GeneralHeaderConstraintsCodeP ConsultationNoteComponentOf ConsultationNoteHistoryOfPresentIllness ConsultationNoteInFulfillmentOf ConsultationNoteComponentOfEncompassingEncounter2ResponsiblePartyAssignedEntityHasPersonOrganizationOrBoth ConsultationNoteComponentOfEncompassingEncounter2ResponsiblePartyAssignedEntity ConsultationNoteComponentOfEncompassingEncounter2EncounterParticipantAssignedEntityHasPersonOrganizationOrBoth ConsultationNoteComponentOfEncompassingEncounter2EncounterParticipantAssignedEntity ConsultationNoteComponentOfEncompassingEncounter2PreciseToTheDay ConsultationNoteComponentOfEncompassingEncounter2EffectiveTime ConsultationNoteComponentOfEncompassingEncounter2Id ConsultationNoteComponentOfEncompassingEncounter ConsultationNoteInFulfillmentOfOrderId ConsultationNoteInFulfillmentOfOrder' templateId.root='2.16.840.1.113883.10.20.22.1.4' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' constraints.validation.dependOn.GeneralHeaderConstraintsCode='GeneralHeaderConstraintsCodeP' constraints.validation.info='ConsultationNoteAssessmentSection ConsultationNoteAssessmentAndPlanSection ConsultationNotePlanOfCareSection ConsultationNoteReasonForReferralSection ConsultationNoteReasonForVisitSection ConsultationNoteAllergiesSection ConsultationNoteChiefComplaintSection ConsultationNoteChiefComplaintAndReasonForVisitSection ConsultationNoteFamilyHistorySection ConsultationNoteGeneralStatusSection ConsultationNoteHistoryOfPastIllnessSection ConsultationNoteImmunizationsSection ConsultationNoteMedicationsSectionEntriesOptional ConsultationNoteProblemSectionEntriesOptional ConsultationNoteProceduresSectionEntriesOptional ConsultationNoteResultsSectionEntriesOptional ConsultationNoteReviewOfSystemsSection ConsultationNoteSocialHistorySection ConsultationNoteVitalSignsSectionEntriesOptional ConsultationNoteComponentOfEncompassingEncounter2PreciseToTheSecond ConsultationNoteComponentOfEncompassingEncounter2ResponsibleParty ConsultationNoteComponentOfEncompassingEncounter2EncounterParticipant' constraints.validation.warning='ConsultationNotePhysicalExamSection ConsultationNoteComponentOfEncompassingEncounter2PreciseToTheMinute ConsultationNoteComponentOfEncompassingEncounter2IfMorePreciseThanDayIncludeTimeZoneOffset' constraints.validation.query='ConsultationNoteComponentOfEncompassingEncounter2ResponsiblePartyAssignedEntityHasPersonOrganizationOrBoth ConsultationNoteComponentOfEncompassingEncounter2ResponsiblePartyAssignedEntity ConsultationNoteComponentOfEncompassingEncounter2EncounterParticipantAssignedEntityHasPersonOrganizationOrBoth ConsultationNoteComponentOfEncompassingEncounter2EncounterParticipantAssignedEntity ConsultationNoteComponentOfEncompassingEncounter2PreciseToTheDay ConsultationNoteComponentOfEncompassingEncounter2PreciseToTheMinute ConsultationNoteComponentOfEncompassingEncounter2PreciseToTheSecond ConsultationNoteComponentOfEncompassingEncounter2IfMorePreciseThanDayIncludeTimeZoneOffset ConsultationNoteComponentOfEncompassingEncounter2EffectiveTime ConsultationNoteComponentOfEncompassingEncounter2Id ConsultationNoteComponentOfEncompassingEncounter2ResponsibleParty ConsultationNoteComponentOfEncompassingEncounter2EncounterParticipant ConsultationNoteComponentOfEncompassingEncounter ConsultationNoteInFulfillmentOfOrderId ConsultationNoteInFulfillmentOfOrder' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolConsultationNoteComponentOf constraints.validation.error='ConsultationNoteComponentOfEncompassingEncounter' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolConsultationNoteComponentOfEncompassingEncounter2 constraints.validation.error='ConsultationNoteComponentOfEncompassingEncounter2PreciseToTheDay ConsultationNoteComponentOfEncompassingEncounter2EffectiveTime ConsultationNoteComponentOfEncompassingEncounter2Id' constraints.validation.warning='ConsultationNoteComponentOfEncompassingEncounter2PreciseToTheMinute ConsultationNoteComponentOfEncompassingEncounter2IfMorePreciseThanDayIncludeTimeZoneOffset' constraints.validation.info='ConsultationNoteComponentOfEncompassingEncounter2PreciseToTheSecond ConsultationNoteComponentOfEncompassingEncounter2ResponsibleParty ConsultationNoteComponentOfEncompassingEncounter2EncounterParticipant' @@ -46857,24 +46857,24 @@ value.code = 'completed') http://www.openhealthtools.org/mdht/uml/cda/annotation/consolConsultationNoteInFulfillmentOf constraints.validation.error='ConsultationNoteInFulfillmentOfOrder' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolConsultationNoteInFulfillmentOfOrder constraints.validation.error='ConsultationNoteInFulfillmentOfOrderId' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='AssessmentSectionTemplateId AssessmentSectionCode AssessmentSectionCodeP AssessmentSectionText AssessmentSectionTitle' templateId.root='2.16.840.1.113883.10.20.22.2.8' code.code='51848-0' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Assessments' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='GeneralHeaderConstraintsTemplateId HistoryAndPhysicalNoteHasAnAssementAndPlanSectionOrIndividualAssementAndPlanSections HistoryAndPhysicalNoteDoesNotHaveIndividualAssementAndPlanSectionsWhenAssementAndPlanSectionPresent HistoryAndPhysicalNoteHasChiefComplaintAndReasonForVisitChiefComplaintOrReasonForVisit HistoryAndPhysicalNoteDoesNotHaveChiefComplaintAndReasonForVisitWithChiefComplaintSectionOrReasonSection GeneralHeaderConstraintsCode GeneralHeaderConstraintsCodeP HistoryAndPhysicalNoteComponentOf HistoryAndPhysicalNoteAllergiesSectionEntriesOptional HistoryAndPhysicalNoteFamilyHistorySection HistoryAndPhysicalNoteGeneralStatusSection HistoryAndPhysicalNoteHistoryOfPastIllnessSection HistoryAndPhysicalNoteMedicationsSectionEntriesOptional HistoryAndPhysicalNotePhysicalExamSection HistoryAndPhysicalNoteResultsSectionEntriesOptional HistoryAndPhysicalNoteReviewOfSystemsSection HistoryAndPhysicalNoteSocialHistorySection HistoryAndPhysicalNoteVitalSignsSectionEntriesOptional HistoryAndPhysicalNoteComponentOfEncompassingEncounter4ResponsiblePartyAssignedEntityHasPersonOrOrganization HistoryAndPhysicalNoteComponentOfEncompassingEncounter4ResponsiblePartyAssignedEntity HistoryAndPhysicalNoteComponentOfEncompassingEncounter4EncounterParticipantAssignedEntityHasPersonOrOrganization HistoryAndPhysicalNoteComponentOfEncompassingEncounter4EncounterParticipantAssignedEntity HistoryAndPhysicalNoteComponentOfEncompassingEncounter4PreciseToTheDay HistoryAndPhysicalNoteComponentOfEncompassingEncounter4EffectiveTime HistoryAndPhysicalNoteComponentOfEncompassingEncounter4Id HistoryAndPhysicalNoteComponentOfEncompassingEncounter' templateId.root='2.16.840.1.113883.10.20.22.1.3' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' constraints.validation.dependOn.GeneralHeaderConstraintsCode='GeneralHeaderConstraintsCodeP' constraints.validation.info='HistoryAndPhysicalNoteInFulfillmentOf HistoryAndPhysicalNoteAssessmentSection HistoryAndPhysicalNotePlanOfCareSection HistoryAndPhysicalNoteAssessmentAndPlanSection HistoryAndPhysicalNoteChiefComplaintSection HistoryAndPhysicalNoteChiefComplaintAndReasonForVisitSection HistoryAndPhysicalNoteReasonForVisitSection HistoryAndPhysicalNoteImmunizationsSectionEntriesOptional HistoryAndPhysicalNoteProblemSectionEntriesOptional HistoryAndPhysicalNoteProceduresSectionEntriesOptional HistoryAndPhysicalNoteInstructionsSection HistoryAndPhysicalNoteComponentOfEncompassingEncounter4PreciseToTheSecond HistoryAndPhysicalNoteComponentOfEncompassingEncounter4Location HistoryAndPhysicalNoteComponentOfEncompassingEncounter4ResponsibleParty HistoryAndPhysicalNoteComponentOfEncompassingEncounter4EncounterParticipant' constraints.validation.warning='HistoryAndPhysicalNoteHistoryOfPresentIllnessSection HistoryAndPhysicalNoteComponentOfEncompassingEncounter4PreciseToTheMinute HistoryAndPhysicalNoteComponentOfEncompassingEncounter4IfMorePreciseThanDayIncludeTimeZoneOffset' constraints.validation.query='HistoryAndPhysicalNoteComponentOfEncompassingEncounter4ResponsiblePartyAssignedEntityHasPersonOrOrganization HistoryAndPhysicalNoteComponentOfEncompassingEncounter4ResponsiblePartyAssignedEntity HistoryAndPhysicalNoteComponentOfEncompassingEncounter4EncounterParticipantAssignedEntityHasPersonOrOrganization HistoryAndPhysicalNoteComponentOfEncompassingEncounter4EncounterParticipantAssignedEntity HistoryAndPhysicalNoteComponentOfEncompassingEncounter4PreciseToTheDay HistoryAndPhysicalNoteComponentOfEncompassingEncounter4PreciseToTheMinute HistoryAndPhysicalNoteComponentOfEncompassingEncounter4PreciseToTheSecond HistoryAndPhysicalNoteComponentOfEncompassingEncounter4IfMorePreciseThanDayIncludeTimeZoneOffset HistoryAndPhysicalNoteComponentOfEncompassingEncounter4EffectiveTime HistoryAndPhysicalNoteComponentOfEncompassingEncounter4Id HistoryAndPhysicalNoteComponentOfEncompassingEncounter4Location HistoryAndPhysicalNoteComponentOfEncompassingEncounter4ResponsibleParty HistoryAndPhysicalNoteComponentOfEncompassingEncounter4EncounterParticipant HistoryAndPhysicalNoteComponentOfEncompassingEncounter' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolHistoryAndPhysicalNoteComponentOf constraints.validation.error='HistoryAndPhysicalNoteComponentOfEncompassingEncounter' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolHistoryAndPhysicalNoteComponentOfEncompassingEncounter4 constraints.validation.error='HistoryAndPhysicalNoteComponentOfEncompassingEncounter4PreciseToTheDay HistoryAndPhysicalNoteComponentOfEncompassingEncounter4EffectiveTime HistoryAndPhysicalNoteComponentOfEncompassingEncounter4Id' constraints.validation.warning='HistoryAndPhysicalNoteComponentOfEncompassingEncounter4PreciseToTheMinute HistoryAndPhysicalNoteComponentOfEncompassingEncounter4IfMorePreciseThanDayIncludeTimeZoneOffset' constraints.validation.info='HistoryAndPhysicalNoteComponentOfEncompassingEncounter4PreciseToTheSecond HistoryAndPhysicalNoteComponentOfEncompassingEncounter4Location HistoryAndPhysicalNoteComponentOfEncompassingEncounter4ResponsibleParty HistoryAndPhysicalNoteComponentOfEncompassingEncounter4EncounterParticipant' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolHistoryAndPhysicalNoteComponentOfEncompassingEncounter4ResponsibleParty constraints.validation.error='HistoryAndPhysicalNoteComponentOfEncompassingEncounter4ResponsiblePartyAssignedEntityHasPersonOrOrganization HistoryAndPhysicalNoteComponentOfEncompassingEncounter4ResponsiblePartyAssignedEntity' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolHistoryAndPhysicalNoteComponentOfEncompassingEncounter4EncounterParticipant constraints.validation.error='HistoryAndPhysicalNoteComponentOfEncompassingEncounter4EncounterParticipantAssignedEntityHasPersonOrOrganization HistoryAndPhysicalNoteComponentOfEncompassingEncounter4EncounterParticipantAssignedEntity' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='GeneralHeaderConstraintsTemplateId GeneralHeaderConstraintsCode GeneralHeaderConstraintsCodeP OperativeNoteDocumentationOf OperativeNoteAnesthesiaSection OperativeNoteComplicationsSection OperativeNotePostoperativeDiagnosisSection OperativeNotePreoperativeDiagnosisSection OperativeNoteProcedureEstimatedBloodLossSection OperativeNoteProcedureFindingsSection OperativeNoteProcedureSpecimensTakenSection OperativeNoteProcedureDescriptionSection OperativeNoteDocumentationOfServiceEventPrimaryPerformerAssignedEntityCode OperativeNoteDocumentationOfServiceEventPrimaryPerformerAssignedEntityCodeP OperativeNoteDocumentationOfServiceEventPrimaryPerformerTypeCode OperativeNoteDocumentationOfServiceEventPrimaryPerformerAssignedEntity OperativeNoteDocumentationOfServiceEventProcedureCodes OperativeNoteDocumentationOfServiceEventEffectiveTimeHasLow OperativeNoteDocumentationOfServiceEventEffectiveTimeHasHighWhenNoWidth OperativeNoteDocumentationOfServiceEventEffectiveTimeNoHighIfWidth OperativeNoteDocumentationOfServiceEventPreciseToTheDay OperativeNoteDocumentationOfServiceEventCode OperativeNoteDocumentationOfServiceEventEffectiveTime OperativeNoteDocumentationOfServiceEventPrimaryPerformer OperativeNoteDocumentationOfServiceEvent' templateId.root='2.16.840.1.113883.10.20.22.1.7' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' constraints.validation.dependOn.GeneralHeaderConstraintsCode='GeneralHeaderConstraintsCodeP' constraints.validation.info='OperativeNoteProcedureImplantsSection OperativeNoteOperativeNoteFluidSection OperativeNoteOperativeNoteSurgicalProcedureSection OperativeNotePlanOfCareSection OperativeNotePlannedProcedureSection OperativeNoteProcedureDispositionSection OperativeNoteProcedureIndicationsSection OperativeNoteSurgicalDrainsSection OperativeNoteDocumentationOfServiceEventPreciseToTheSecond' constraints.validation.query='OperativeNoteDocumentationOfServiceEventPrimaryPerformerAssignedEntityCode OperativeNoteDocumentationOfServiceEventPrimaryPerformerAssignedEntityCodeP OperativeNoteDocumentationOfServiceEventPrimaryPerformerTypeCode OperativeNoteDocumentationOfServiceEventPrimaryPerformerAssignedEntity OperativeNoteDocumentationOfServiceEventProcedureCodes OperativeNoteDocumentationOfServiceEventEffectiveTimeHasLow OperativeNoteDocumentationOfServiceEventEffectiveTimeHasHighWhenNoWidth OperativeNoteDocumentationOfServiceEventEffectiveTimeNoHighIfWidth OperativeNoteDocumentationOfServiceEventPreciseToTheDay OperativeNoteDocumentationOfServiceEventPreciseToTheMinute OperativeNoteDocumentationOfServiceEventPreciseToTheSecond OperativeNoteDocumentationOfServiceEventIfMorePreciseThanDayIncludeTimeZoneOffset OperativeNoteDocumentationOfServiceEventCode OperativeNoteDocumentationOfServiceEventEffectiveTime OperativeNoteDocumentationOfServiceEventPrimaryPerformer OperativeNoteDocumentationOfServiceEvent' constraints.validation.warning='OperativeNoteDocumentationOfServiceEventPreciseToTheMinute OperativeNoteDocumentationOfServiceEventIfMorePreciseThanDayIncludeTimeZoneOffset' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolOperativeNoteDocumentationOf constraints.validation.error='OperativeNoteDocumentationOfServiceEvent' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolOperativeNoteDocumentationOfServiceEvent constraints.validation.error='OperativeNoteDocumentationOfServiceEventProcedureCodes OperativeNoteDocumentationOfServiceEventEffectiveTimeHasLow OperativeNoteDocumentationOfServiceEventEffectiveTimeHasHighWhenNoWidth OperativeNoteDocumentationOfServiceEventEffectiveTimeNoHighIfWidth OperativeNoteDocumentationOfServiceEventPreciseToTheDay OperativeNoteDocumentationOfServiceEventCode OperativeNoteDocumentationOfServiceEventEffectiveTime OperativeNoteDocumentationOfServiceEventPrimaryPerformer OperativeNoteDocumentationOfServiceEventPrimaryPerformerAssignedEntityCode OperativeNoteDocumentationOfServiceEventPrimaryPerformerAssignedEntityCodeP OperativeNoteDocumentationOfServiceEventPrimaryPerformerTypeCode ServiceEventOperativeNoteDocumentationOfServiceEventPrimaryPerformerAssignedEntity' constraints.validation.warning='OperativeNoteDocumentationOfServiceEventPreciseToTheMinute OperativeNoteDocumentationOfServiceEventIfMorePreciseThanDayIncludeTimeZoneOffset' constraints.validation.info='OperativeNoteDocumentationOfServiceEventPreciseToTheSecond' constraints.validation.query='OperativeNoteDocumentationOfServiceEventPrimaryPerformerAssignedEntityCode OperativeNoteDocumentationOfServiceEventPrimaryPerformerAssignedEntityCodeP OperativeNoteDocumentationOfServiceEventPrimaryPerformerTypeCode ServiceEventOperativeNoteDocumentationOfServiceEventPrimaryPerformerAssignedEntity' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolOperativeNoteDocumentationOfServiceEventPrimaryPerformer typeCode='PPRF' constraints.validation.error='OperativeNoteDocumentationOfServiceEventPrimaryPerformerTypeCode OperativeNoteDocumentationOfServiceEventPrimaryPerformerAssignedEntity' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolOperativeNoteDocumentationOfServiceEventPrimaryPerformerAssignedEntity code.codeSystem='2.16.840.1.113883.6.101' code.codeSystemName='NUCC Health Care Provider Taxonomy' constraints.validation.error='OperativeNoteDocumentationOfServiceEventPrimaryPerformerAssignedEntityCode OperativeNoteDocumentationOfServiceEventPrimaryPerformerAssignedEntityCodeP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='GeneralHeaderConstraintsTemplateId ProcedureNoteHasAnAssementAndPlanSectionOrIndividualAssementAndPlanSections ProcedureNoteDoesNotHaveIndividualAssementAndPlanSectionsWhenAssementAndPlanSectionPresent ProcedureNoteDoesNotHaveChiefComplaintAndReasonForVisitWithChiefComplaintSectionOrReasonSection ProcedureNoteSectionTitles GeneralHeaderConstraintsCode GeneralHeaderConstraintsCodeP ProcedureNoteComplicationsSection ProcedureNotePostprocedureDiagnosisSection ProcedureNoteProcedureDescriptionSection ProcedureNoteProcedureIndicationsSection ProcedureNoteDocumentationOf ProcedureNoteComponentOfEncompassingEncounter5LocationHealthCareFacilityId ProcedureNoteComponentOfEncompassingEncounter5LocationHealthCareFacility ProcedureNoteComponentOfEncompassingEncounter5EncounterParticipantTypeCode ProcedureNoteComponentOfEncompassingEncounter5Code ProcedureNoteComponentOfEncompassingEncounter5Location ProcedureNoteDocumentationOfServiceEvent1PrimaryPerformerAssignedEntityCode ProcedureNoteDocumentationOfServiceEvent1PrimaryPerformerTypeCode ProcedureNoteDocumentationOfServiceEvent1PrimaryPerformerAssignedEntity ProcedureNoteDocumentationOfServiceEvent1ProcedureCodes ProcedureNoteDocumentationOfServiceEvent1EffectiveTimeHasLow ProcedureNoteDocumentationOfServiceEvent1EffectiveTimeHasHighWhenNoWidth ProcedureNoteDocumentationOfServiceEvent1EffectiveTimeNoHighIfWidth ProcedureNoteDocumentationOfServiceEvent1PreciseToTheDay ProcedureNoteDocumentationOfServiceEvent1Code ProcedureNoteDocumentationOfServiceEvent1EffectiveTime ProcedureNoteDocumentationOfServiceEvent1PrimaryPerformer ProcedureNoteDocumentationOfServiceEvent1' templateId.root='2.16.840.1.113883.10.20.22.1.6' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' constraints.validation.dependOn.GeneralHeaderConstraintsCode='GeneralHeaderConstraintsCodeP' constraints.validation.warning='ProcedureNoteComponentOf ProcedureNoteComponentOfEncompassingEncounter5 ProcedureNoteDocumentationOfServiceEvent1PrimaryPerformerAssignedEntityCodeP ProcedureNoteDocumentationOfServiceEvent1PreciseToTheMinute ProcedureNoteDocumentationOfServiceEvent1IfMorePreciseThanDayIncludeTimeZoneOffset' constraints.validation.info='ProcedureNoteAssessmentSection ProcedureNotePlanOfCareSection ProcedureNoteAssessmentAndPlanSection ProcedureNoteAllergiesSectionEntriesOptional ProcedureNoteAnesthesiaSection ProcedureNoteChiefComplaintSection ProcedureNoteChiefComplaintAndReasonForVisitSection ProcedureNoteFamilyHistorySection ProcedureNoteHistoryOfPastIllnessSection ProcedureNoteHistoryOfPresentIllnessSection ProcedureNoteMedicalHistorySection ProcedureNoteMedicationsSectionEntriesOptional ProcedureNoteMedicationsAdministeredSection ProcedureNotePhysicalExamSection ProcedureNotePlannedProcedureSection ProcedureNoteProcedureDispositionSection ProcedureNoteProcedureEstimatedBloodLossSection ProcedureNoteProcedureFindingsSection ProcedureNoteProcedureImplantsSection ProcedureNoteProcedureSpecimensTakenSection ProcedureNoteProceduresSectionEntriesOptional ProcedureNoteReasonForVisitSection ProcedureNoteReviewOfSystemsSection ProcedureNoteSocialHistorySection ProcedureNoteParticipant1 ProcedureNoteComponentOfEncompassingEncounter5EncounterParticipant ProcedureNoteDocumentationOfServiceEvent1PreciseToTheSecond' constraints.validation.query='ProcedureNoteComponentOfEncompassingEncounter5LocationHealthCareFacilityId ProcedureNoteComponentOfEncompassingEncounter5LocationHealthCareFacility ProcedureNoteComponentOfEncompassingEncounter5EncounterParticipantTypeCode ProcedureNoteComponentOfEncompassingEncounter5Code ProcedureNoteComponentOfEncompassingEncounter5Location ProcedureNoteComponentOfEncompassingEncounter5EncounterParticipant ProcedureNoteComponentOfEncompassingEncounter5 ProcedureNoteDocumentationOfServiceEvent1PrimaryPerformerAssignedEntityCodeP ProcedureNoteDocumentationOfServiceEvent1PrimaryPerformerAssignedEntityCode ProcedureNoteDocumentationOfServiceEvent1PrimaryPerformerTypeCode ProcedureNoteDocumentationOfServiceEvent1PrimaryPerformerAssignedEntity ProcedureNoteDocumentationOfServiceEvent1ProcedureCodes ProcedureNoteDocumentationOfServiceEvent1EffectiveTimeHasLow ProcedureNoteDocumentationOfServiceEvent1EffectiveTimeHasHighWhenNoWidth ProcedureNoteDocumentationOfServiceEvent1EffectiveTimeNoHighIfWidth ProcedureNoteDocumentationOfServiceEvent1PreciseToTheDay ProcedureNoteDocumentationOfServiceEvent1PreciseToTheMinute ProcedureNoteDocumentationOfServiceEvent1PreciseToTheSecond ProcedureNoteDocumentationOfServiceEvent1IfMorePreciseThanDayIncludeTimeZoneOffset ProcedureNoteDocumentationOfServiceEvent1Code ProcedureNoteDocumentationOfServiceEvent1EffectiveTime ProcedureNoteDocumentationOfServiceEvent1PrimaryPerformer ProcedureNoteDocumentationOfServiceEvent1' constraints.validation.dependOn.ProcedureNoteDocumentationOfServiceEvent1PrimaryPerformerAssignedEntityCode='ProcedureNoteDocumentationOfServiceEvent1PrimaryPerformerAssignedEntityCodeP' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolProcedureNoteComponentOf constraints.validation.warning='ProcedureNoteComponentOfEncompassingEncounter5' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolProcedureNoteComponentOfEncompassingEncounter5 constraints.validation.error='ProcedureNoteComponentOfEncompassingEncounter5Code ProcedureNoteComponentOfEncompassingEncounter5Location ProcedureNoteComponentOfEncompassingEncounter5EncounterParticipantTypeCode' constraints.validation.info='ProcedureNoteComponentOfEncompassingEncounter5EncounterParticipant' constraints.validation.query='ProcedureNoteComponentOfEncompassingEncounter5EncounterParticipantTypeCode' @@ -46886,7 +46886,7 @@ value.code = 'completed') http://www.openhealthtools.org/mdht/uml/cda/annotation/consolProcedureNoteDocumentationOfServiceEvent1PrimaryPerformer typeCode='PPRF' constraints.validation.error='ProcedureNoteDocumentationOfServiceEvent1PrimaryPerformerTypeCode ProcedureNoteDocumentationOfServiceEvent1PrimaryPerformerAssignedEntity' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolProcedureNoteDocumentationOfServiceEvent1PrimaryPerformerAssignedEntity code.codeSystem='2.16.840.1.113883.6.101' code.codeSystemName='NUCC Health Care Provider Taxonomy' constraints.validation.error='ProcedureNoteDocumentationOfServiceEvent1PrimaryPerformerAssignedEntityCode' constraints.validation.warning='ProcedureNoteDocumentationOfServiceEvent1PrimaryPerformerAssignedEntityCodeP' constraints.validation.dependOn.ProcedureNoteDocumentationOfServiceEvent1PrimaryPerformerAssignedEntityCode='ProcedureNoteDocumentationOfServiceEvent1PrimaryPerformerAssignedEntityCodeP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='GeneralHeaderConstraintsTemplateId ProgressNoteHasAnAssementAndPlanSectionOrIndividualAssementAndPlanSections ProgressNoteDoesNotHaveIndividualAssementAndPlanSectionsWhenAssementAndPlanSectionPresent GeneralHeaderConstraintsCode GeneralHeaderConstraintsCodeP ProgressNoteComponentOf ProgressNoteDocumentationOfServiceEvent2EffectiveTimeHigh ProgressNoteDocumentationOfServiceEvent2PreciseToTheDay ProgressNoteDocumentationOfServiceEvent2TemplateId ProgressNoteDocumentationOfServiceEvent2ClassCode ProgressNoteDocumentationOfServiceEvent2 ProgressNoteComponentOfEncompassingEncounter6LocationHealthCareFacility1Id ProgressNoteComponentOfEncompassingEncounter6LocationHealthCareFacility ProgressNoteComponentOfEncompassingEncounter6PreciseToTheDay ProgressNoteComponentOfEncompassingEncounter6EffectiveTime ProgressNoteComponentOfEncompassingEncounter6Id ProgressNoteComponentOfEncompassingEncounter6Location ProgressNoteComponentOfEncompassingEncounter6' templateId.root='2.16.840.1.113883.10.20.22.1.9' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' constraints.validation.dependOn.GeneralHeaderConstraintsCode='GeneralHeaderConstraintsCodeP' constraints.validation.warning='ProgressNoteDocumentationOf ProgressNoteDocumentationOfServiceEvent2EffectiveTimeLow ProgressNoteDocumentationOfServiceEvent2PreciseToTheMinute ProgressNoteDocumentationOfServiceEvent2IfMorePreciseThanDayIncludeTimeZoneOffset ProgressNoteDocumentationOfServiceEvent2EffectiveTime ProgressNoteComponentOfEncompassingEncounter6PreciseToTheMinute ProgressNoteComponentOfEncompassingEncounter6IfMorePreciseThanDayIncludeTimeZoneOffset' constraints.validation.info='ProgressNoteAssessmentSection ProgressNotePlanOfCareSection ProgressNoteAssessmentAndPlanSection ProgressNoteAllergiesSectionEntriesOptional ProgressNoteChiefComplaintSection ProgressNoteInterventionsSection ProgressNoteMedicationsSectionEntriesOptional ProgressNoteObjectiveSection ProgressNotePhysicalExamSection ProgressNoteProblemSectionEntriesOptional ProgressNoteResultsSectionEntriesOptional ProgressNoteReviewOfSystemsSection ProgressNoteSubjectiveSection ProgressNoteVitalSignsSectionEntriesOptional ProgressNoteInstructionsSection ProgressNoteDocumentationOfServiceEvent2PreciseToTheSecond ProgressNoteComponentOfEncompassingEncounter6PreciseToTheSecond' constraints.validation.query='ProgressNoteDocumentationOfServiceEvent2EffectiveTimeLow ProgressNoteDocumentationOfServiceEvent2EffectiveTimeHigh ProgressNoteDocumentationOfServiceEvent2PreciseToTheDay ProgressNoteDocumentationOfServiceEvent2PreciseToTheMinute ProgressNoteDocumentationOfServiceEvent2PreciseToTheSecond ProgressNoteDocumentationOfServiceEvent2IfMorePreciseThanDayIncludeTimeZoneOffset ProgressNoteDocumentationOfServiceEvent2TemplateId ProgressNoteDocumentationOfServiceEvent2ClassCode ProgressNoteDocumentationOfServiceEvent2EffectiveTime ProgressNoteDocumentationOfServiceEvent2 ProgressNoteComponentOfEncompassingEncounter6LocationHealthCareFacility1Id ProgressNoteComponentOfEncompassingEncounter6LocationHealthCareFacility ProgressNoteComponentOfEncompassingEncounter6PreciseToTheDay ProgressNoteComponentOfEncompassingEncounter6PreciseToTheMinute ProgressNoteComponentOfEncompassingEncounter6PreciseToTheSecond ProgressNoteComponentOfEncompassingEncounter6IfMorePreciseThanDayIncludeTimeZoneOffset ProgressNoteComponentOfEncompassingEncounter6EffectiveTime ProgressNoteComponentOfEncompassingEncounter6Id ProgressNoteComponentOfEncompassingEncounter6Location ProgressNoteComponentOfEncompassingEncounter6' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolProgressNoteDocumentationOf constraints.validation.error='ProgressNoteDocumentationOfServiceEvent2' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolProgressNoteDocumentationOfServiceEvent2 constraints.validation.error='ProgressNoteDocumentationOfServiceEvent2TemplateId ProgressNoteDocumentationOfServiceEvent2EffectiveTimeHigh ProgressNoteDocumentationOfServiceEvent2PreciseToTheDay ProgressNoteDocumentationOfServiceEvent2ClassCode' templateId.root='2.16.840.1.113883.10.20.21.3.1' constraints.validation.warning='ProgressNoteDocumentationOfServiceEvent2EffectiveTimeLow ProgressNoteDocumentationOfServiceEvent2PreciseToTheMinute ProgressNoteDocumentationOfServiceEvent2IfMorePreciseThanDayIncludeTimeZoneOffset ProgressNoteDocumentationOfServiceEvent2EffectiveTime' constraints.validation.info='ProgressNoteDocumentationOfServiceEvent2PreciseToTheSecond' classCode='PCPR' @@ -46895,22 +46895,22 @@ value.code = 'completed') http://www.openhealthtools.org/mdht/uml/cda/annotation/consolProgressNoteComponentOfEncompassingEncounter6Location constraints.validation.error='ProgressNoteComponentOfEncompassingEncounter6LocationHealthCareFacility' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolProgressNoteComponentOfEncompassingEncounter6LocationHealthCareFacility1 constraints.validation.error='ProgressNoteComponentOfEncompassingEncounter6LocationHealthCareFacility1Id' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='PostprocedureDiagnosisTemplateId PostprocedureDiagnosisClassCode PostprocedureDiagnosisMoodCode PostprocedureDiagnosisCode PostprocedureDiagnosisProblemObservation' templateId.root='2.16.840.1.113883.10.20.22.4.51' classCode='ACT' moodCode='EVN' code.code='59769-0' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Postprocedure Diagnosis' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='PreoperativeDiagnosisTemplateId PreoperativeDiagnosisClassCode PreoperativeDiagnosisMoodCode PreoperativeDiagnosisCode PreoperativeDiagnosisProblemObservation' templateId.root='2.16.840.1.113883.10.20.22.4.65' classCode='ACT' moodCode='EVN' code.code='10219-4' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Preoperative Diagnosis' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='InstructionsSectionTemplateId InstructionsSectionCode InstructionsSectionCodeP InstructionsSectionTitle InstructionsSectionText' templateId.root='2.16.840.1.113883.10.20.22.2.45' code.code='69730-0' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Instructions' constraints.validation.warning='InstructionsSectionInstructions' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='AdmissionMedicationTemplateId AdmissionMedicationClassCode AdmissionMedicationMoodCode AdmissionMedicationCodeP AdmissionMedicationMedicationActivity' templateId.root='2.16.840.1.113883.10.20.22.4.36' classCode='ACT' moodCode='EVN' code.code='42346-7' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Medications on Admission' constraints.validation.info='AdmissionMedicationCode' constraints.validation.dependOn.AdmissionMedicationCode='AdmissionMedicationCodeP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='HospitalAdmissionDiagnosisTemplateId HospitalAdmissionDiagnosisClassCode HospitalAdmissionDiagnosisMoodCode HospitalAdmissionDiagnosisCode HospitalAdmissionDiagnosisProblemObservation' templateId.root='2.16.840.1.113883.10.20.22.4.34' classCode='ACT' moodCode='EVN' code.code='46241-6' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Admission diagnosis' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='GeneralHeaderConstraintsTemplateId DiagnosticImagingReportSectionsHaveText GeneralHeaderConstraintsCode GeneralHeaderConstraintsCodeP GeneralHeaderConstraintsId DiagnosticImagingReportInformant DiagnosticImagingReportDocumentationOf DiagnosticImagingReportFindingsSection DiagnosticImagingReportParticipantAssociatedEntityPersonName DiagnosticImagingReportParticipantAssociatedEntityAssociatedPerson DiagnosticImagingReportParticipantAssociatedEntity DiagnosticImagingReportDocumentationOfServiceEvent4ClassCode DiagnosticImagingReportDocumentationOfServiceEvent4Code DiagnosticImagingReportDocumentationOfServiceEvent3 DiagnosticImagingReportComponentOfEncompassingEncounter7ResponsiblePartyAssignedEntity DiagnosticImagingReportComponentOfEncompassingEncounter7PreciseToTheDay DiagnosticImagingReportComponentOfEncompassingEncounter7EffectiveTime DiagnosticImagingReportComponentOfEncompassingEncounter7Id DiagnosticImagingReportComponentOfEncompassingEncounter' templateId.root='2.16.840.1.113883.10.20.22.1.5' constraints.validation.warning='DiagnosticImagingReportUseDiagnosticImagingCode DiagnosticImagingReportAllSectionsHaveTitle DiagnosticImagingReportDICOMObjectCatalogSection DiagnosticImagingReportDocumentationOfServiceEvent4Id DiagnosticImagingReportDocumentationOfServiceEvent4PhysicianReadingStudyPerformer DiagnosticImagingReportComponentOfEncompassingEncounter7ResponsiblePartyAssignedEntityHasAssignPersonOrRepresentedOrganization DiagnosticImagingReportComponentOfEncompassingEncounter7PreciseToTheMinute DiagnosticImagingReportComponentOfEncompassingEncounter7IfMorePreciseThanDayIncludeTimeZoneOffset DiagnosticImagingReportComponentOfEncompassingEncounter7PhysicianofRecordParticipant' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' constraints.validation.dependOn.GeneralHeaderConstraintsCode='GeneralHeaderConstraintsCodeP' constraints.validation.info='DiagnosticImagingReportInformationRecipient DiagnosticImagingReportParticipant1 DiagnosticImagingReportInFulfillmentOf DiagnosticImagingReportRelatedDocument DiagnosticImagingReportComponentOf DiagnosticImagingReportComponentOfEncompassingEncounter7PreciseToTheSecond DiagnosticImagingReportComponentOfEncompassingEncounter7ResponsibleParty' constraints.validation.query='DiagnosticImagingReportParticipantAssociatedEntityPersonName DiagnosticImagingReportParticipantAssociatedEntityAssociatedPerson DiagnosticImagingReportParticipantAssociatedEntity DiagnosticImagingReportDocumentationOfServiceEvent4ClassCode DiagnosticImagingReportDocumentationOfServiceEvent4Code DiagnosticImagingReportDocumentationOfServiceEvent4Id DiagnosticImagingReportDocumentationOfServiceEvent4PhysicianReadingStudyPerformer DiagnosticImagingReportDocumentationOfServiceEvent3 DiagnosticImagingReportComponentOfEncompassingEncounter7ResponsiblePartyAssignedEntityHasAssignPersonOrRepresentedOrganization DiagnosticImagingReportComponentOfEncompassingEncounter7ResponsiblePartyAssignedEntity DiagnosticImagingReportComponentOfEncompassingEncounter7PreciseToTheDay DiagnosticImagingReportComponentOfEncompassingEncounter7PreciseToTheMinute DiagnosticImagingReportComponentOfEncompassingEncounter7PreciseToTheSecond DiagnosticImagingReportComponentOfEncompassingEncounter7IfMorePreciseThanDayIncludeTimeZoneOffset DiagnosticImagingReportComponentOfEncompassingEncounter7EffectiveTime DiagnosticImagingReportComponentOfEncompassingEncounter7Id DiagnosticImagingReportComponentOfEncompassingEncounter7PhysicianofRecordParticipant DiagnosticImagingReportComponentOfEncompassingEncounter7ResponsibleParty DiagnosticImagingReportComponentOfEncompassingEncounter' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolDiagnosticImagingReportParticipant constraints.validation.error='DiagnosticImagingReportParticipantAssociatedEntity' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolDiagnosticImagingReportParticipantAssociatedEntity constraints.validation.error='DiagnosticImagingReportParticipantAssociatedEntityAssociatedPerson' @@ -46922,113 +46922,113 @@ value.code = 'completed') http://www.openhealthtools.org/mdht/uml/cda/annotation/consolDiagnosticImagingReportComponentOfEncompassingEncounter7ResponsibleParty constraints.validation.error='DiagnosticImagingReportComponentOfEncompassingEncounter7ResponsiblePartyAssignedEntity' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolDiagnosticImagingReportComponentOfEncompassingEncounter7ResponsiblePartyAssignedEntity constraints.validation.warning='DiagnosticImagingReportComponentOfEncompassingEncounter7ResponsiblePartyAssignedEntityHasAssignPersonOrRepresentedOrganization' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='PhysicianReadingStudyPerformerTemplateId PhysicianReadingStudyPerformerTypeCode PhysicianReadingStudyPerformerAssignedEntity PhysicianReadingStudyPerformerGeneralHeaderConstraintsUSRealmDateAndTimeDTPreciseToTheDayIVLTS PhysicianReadingStudyPerformerAssignedEntityHasDICOM PhysicianReadingStudyPerformerAssignedEntityHasAssignedPersonOrRepresentedOrganization PhysicianReadingStudyPerformerAssignedEntityId PhysicianReadingStudyPerformerAssignedEntityCode' templateId.root='2.16.840.1.113883.10.20.6.2.1' constraints.validation.info='PhysicianReadingStudyPerformerTime PhysicianReadingStudyPerformerGeneralHeaderConstraintsUSRealmDateAndTimeDTPreciseToTheSecondIVLTS' typeCode='PRF' constraints.validation.query='PhysicianReadingStudyPerformerGeneralHeaderConstraintsUSRealmDateAndTimeDTPreciseToTheDayIVLTS PhysicianReadingStudyPerformerGeneralHeaderConstraintsUSRealmDateAndTimeDTPreciseToTheMinuteIVLTS PhysicianReadingStudyPerformerGeneralHeaderConstraintsUSRealmDateAndTimeDTPreciseToTheSecondIVLTS PhysicianReadingStudyPerformerGeneralHeaderConstraintsUSRealmDateAndTimeDTIfMorePreciseThanDayIncludeTimeZoneOffsetIVLTS PhysicianReadingStudyPerformerAssignedEntityHasDICOM PhysicianReadingStudyPerformerAssignedEntityHasAssignedPersonOrRepresentedOrganization PhysicianReadingStudyPerformerAssignedEntityHasNationalProviderId PhysicianReadingStudyPerformerAssignedEntityId PhysicianReadingStudyPerformerAssignedEntityCode' constraints.validation.warning='PhysicianReadingStudyPerformerGeneralHeaderConstraintsUSRealmDateAndTimeDTPreciseToTheMinuteIVLTS PhysicianReadingStudyPerformerGeneralHeaderConstraintsUSRealmDateAndTimeDTIfMorePreciseThanDayIncludeTimeZoneOffsetIVLTS PhysicianReadingStudyPerformerAssignedEntityHasNationalProviderId' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolPhysicianReadingStudyPerformerAssignedEntity constraints.validation.error='PhysicianReadingStudyPerformerAssignedEntityHasDICOM PhysicianReadingStudyPerformerAssignedEntityHasAssignedPersonOrRepresentedOrganization PhysicianReadingStudyPerformerAssignedEntityId PhysicianReadingStudyPerformerAssignedEntityCode' constraints.validation.warning='PhysicianReadingStudyPerformerAssignedEntityHasNationalProviderId' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='PhysicianofRecordParticipantTemplateId PhysicianofRecordParticipantTypeCode PhysicianofRecordParticipantAssignedEntity PhysicianofRecordParticipantAssignedEntityHasDICOMOrNUCCCode PhysicianofRecordParticipantAssignedEntityCode PhysicianofRecordParticipantAssignedEntityId' templateId.root='2.16.840.1.113883.10.20.6.2.2' typeCode='ATND' constraints.validation.warning='PhysicianofRecordParticipantAssignedEntityAssignedPersonName PhysicianofRecordParticipantAssignedEntityHasNationalProviderId PhysicianofRecordParticipantAssignedEntityAssignedPerson' constraints.validation.query='PhysicianofRecordParticipantAssignedEntityAssignedPersonName PhysicianofRecordParticipantAssignedEntityHasDICOMOrNUCCCode PhysicianofRecordParticipantAssignedEntityHasNationalProviderId PhysicianofRecordParticipantAssignedEntityCode PhysicianofRecordParticipantAssignedEntityId PhysicianofRecordParticipantAssignedEntityAssignedPerson' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolPhysicianofRecordParticipantAssignedEntity constraints.validation.error='PhysicianofRecordParticipantAssignedEntityHasDICOMOrNUCCCode PhysicianofRecordParticipantAssignedEntityCode PhysicianofRecordParticipantAssignedEntityId' constraints.validation.warning='PhysicianofRecordParticipantAssignedEntityHasNationalProviderId PhysicianofRecordParticipantAssignedEntityAssignedPerson' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolPhysicianofRecordParticipantAssignedEntityAssignedPerson constraints.validation.warning='PhysicianofRecordParticipantAssignedEntityAssignedPersonName' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='StudyActTemplateId StudyActIdsHaveRoot StudyActNoIdExtension StudyActReferenceValue StudyActClassCode StudyActMoodCode StudyActId StudyActCode StudyActSeriesAct' templateId.root='2.16.840.1.113883.10.20.6.2.6' constraints.validation.warning='StudyActTextReference StudyActTextReferenceValue StudyActEffectiveTime' classCode='ACT' moodCode='EVN' code.code='113014' code.codeSystem='1.2.840.10008.2.16.4' code.codeSystemName='DCM' constraints.validation.info='StudyActText' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='SeriesActTemplateId SeriesActIdHasRoot SeriesActIdNoExtension SeriesActCodeQualifier SeriesActCodeQualifierCode SeriesActCodeQualifierValue SeriesActCodeQualifierValueCode SeriesActClassCode SeriesActMoodCode SeriesActCode SeriesActId SeriesActSOPInstanceObservation' templateId.root='2.16.840.1.113883.10.20.22.4.63' classCode='ACT' moodCode='EVN' code.code='113015' code.codeSystem='1.2.840.10008.2.16.4' code.codeSystemName='DCM' constraints.validation.warning='SeriesActEffectiveTime' constraints.validation.info='SeriesActText' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='SOPInstanceObservationTemplateId SOPInstanceObservationEffectiveTimeHasValue SOPInstanceObservationEffectiveTimeNoLow SOPInstanceObservationEffectiveTimeNoHigh SOPInstanceObservationTextMediaType SOPInstanceObservationTextReference SOPInstanceObservationTextReferenceValue SOPInstanceObservationClassCode SOPInstanceObservationId SOPInstanceObservationMoodCode SOPInstanceObservationCode SOPInstanceObservationCodeP' templateId.root='2.16.840.1.113883.10.20.6.2.8' classCode='DGIMG' constraints.validation.warning='SOPInstanceObservationEffectiveTime SOPInstanceObservationText' moodCode='EVN' code.codeSystem='1.2.840.10008.2.6.1' code.codeSystemName='DCMUID' constraints.validation.dependOn.SOPInstanceObservationCode='SOPInstanceObservationCodeP' constraints.validation.info='SOPInstanceObservationSOPInstanceObservation SOPInstanceObservationPurposeofReferenceObservation SOPInstanceObservationReferencedFramesObservation' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='PurposeofReferenceObservationTemplateId PurposeofReferenceObservationClassCode PurposeofReferenceObservationCode PurposeofReferenceObservationMoodCode' templateId.root='2.16.840.1.113883.10.20.6.2.9' constraints.validation.warning='PurposeofReferenceObservationCodeCodeSystem PurposeofReferenceObservationValue' classCode='OBS' moodCode='EVN' value.codeSystem='1.2.840.10008.2.16.4' value.codeSystemName='DCM' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ReferencedFramesObservationTemplateId ReferencedFramesObservationClassCode ReferencedFramesObservationMoodCode ReferencedFramesObservationCode ReferencedFramesObservationBoundaryObservation' templateId.root='2.16.840.1.113883.10.20.6.2.10' classCode='ROIBND' moodCode='EVN' code.code='121190' code.codeSystem='1.2.840.10008.2.16.4' code.codeSystemName='DCM' code.displayName='Referenced Frames' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='BoundaryObservationTemplateId BoundaryObservationClassCode BoundaryObservationCode BoundaryObservationMoodCode BoundaryObservationValue' templateId.root='2.16.840.1.113883.10.20.6.2.11' classCode='OBS' code.code='113036' code.codeSystem='1.2.840.10008.2.16.4' code.codeSystemName='DCM' code.displayName='Frames for Display' moodCode='EVN' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='TextObservationTemplateId TextObservationReferenceValue TextObservationClassCode TextObservationMoodCode TextObservationCode TextObservationValue' templateId.root='2.16.840.1.113883.10.20.6.2.12' constraints.validation.warning='TextObservationTextReference TextObservationTextReferenceValue TextObservationEffectiveTime' classCode='OBS' moodCode='EVN' constraints.validation.info='TextObservationText TextObservationSOPInstanceObservation TextObservationQuantityMeasurementObservation' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='QuantityMeasurementObservationTemplateId QuantityMeasurementObservationClassCode QuantityMeasurementObservationMoodCode QuantityMeasurementObservationCode QuantityMeasurementObservationValue' templateId.root='2.16.840.1.113883.10.20.6.2.14' constraints.validation.warning='QuantityMeasurementObservationCodeCodeSystemDIR QuantityMeasurementObservationCodeCodeSystemDICOM QuantityMeasurementObservationEffectiveTime' classCode='OBS' moodCode='EVN' constraints.validation.info='QuantityMeasurementObservationSOPInstanceObservation' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='CodeObservationsTemplateId CodeObservationsClassCode CodeObservationsMoodCode CodeObservationsCode CodeObservationsValue' templateId.root='2.16.840.1.113883.10.20.6.2.13' classCode='OBS' moodCode='EVN' constraints.validation.warning='CodeObservationsEffectiveTime' constraints.validation.info='CodeObservationsSOPInstanceObservation CodeObservationsQuantityMeasurementObservation' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ProcedureContextTemplateId ProcedureContextEffectiveTimeValue ProcedureContextClassCode ProcedureContextMoodCode ProcedureContextCode' templateId.root='2.16.840.1.113883.10.20.6.2.5' classCode='ACT' moodCode='EVN' constraints.validation.warning='ProcedureContextEffectiveTime' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='EncounterDiagnosisTemplateId EncounterDiagnosisClassCode EncounterDiagnosisMoodCode EncounterDiagnosisCode EncounterDiagnosisCodeP EncounterDiagnosisProblemObservation' templateId.root='2.16.840.1.113883.10.20.22.4.80' classCode='ACT' moodCode='EVN' code.code='29308-4' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Diagnosis' constraints.validation.dependOn.EncounterDiagnosisCode='EncounterDiagnosisCodeP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='SmokingStatusObservationTemplateId SmokingStatusObservationClassCode SmokingStatusObservationMoodCode SmokingStatusObservationCode SmokingStatusObservationStatusCode SmokingStatusObservationStatusCodeP SmokingStatusObservationEffectiveTime SmokingStatusObservationValue SmokingStatusObservationValueP SmokingStatusObservationCDCodeTermAssertionOrLoinc SmokingStatusObservationCDCode SmokingStatusObservationCDCodeSystem' templateId.root='2.16.840.1.113883.10.20.22.4.78' classCode='OBS' moodCode='EVN' statusCode.code='completed' value.codeSystem='2.16.840.1.113883.6.96' value.codeSystemName='SNOMEDCT' constraints.validation.query='SmokingStatusObservationCDCodeTermAssertionOrLoinc SmokingStatusObservationCDCode SmokingStatusObservationCDCodeSystem SmokingStatusObservationIVLTSCenter SmokingStatusObservationIVLTSHigh SmokingStatusObservationIVLTSLow SmokingStatusObservationIVLTSWidth' constraints.validation.warning='SmokingStatusObservationIVLTSCenter SmokingStatusObservationIVLTSHigh SmokingStatusObservationIVLTSLow SmokingStatusObservationIVLTSWidth' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolSmokingStatusObservationIVLTS constraints.validation.warning='SmokingStatusObservationIVLTSCenter SmokingStatusObservationIVLTSHigh SmokingStatusObservationIVLTSLow SmokingStatusObservationIVLTSWidth' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolSmokingStatusObservationCD constraints.validation.error='SmokingStatusObservationCDCodeTermAssertionOrLoinc SmokingStatusObservationCDCode SmokingStatusObservationCDCodeSystem' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='TobaccoUseTemplateId TobaccoUseEffectiveTimeLow TobaccoUseClassCode TobaccoUseMoodCode TobaccoUseCode TobaccoUseStatusCode TobaccoUseStatusCodeP TobaccoUseEffectiveTime TobaccoUseValue TobaccoUseValueP TobaccoUseCDCodeTermAssertionOrLoinc TobaccoUseCDCode TobaccoUseCDCodeSystem' templateId.root='2.16.840.1.113883.10.20.22.4.85' classCode='OBS' moodCode='EVN' statusCode.code='completed' value.codeSystem='2.16.840.1.113883.6.96' value.codeSystemName='SNOMEDCT' constraints.validation.query='TobaccoUseCDCodeTermAssertionOrLoinc TobaccoUseCDCode TobaccoUseCDCodeSystem' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolTobaccoUseCD constraints.validation.error='TobaccoUseCDCodeTermAssertionOrLoinc TobaccoUseCDCode TobaccoUseCDCodeSystem' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='AssessmentScaleObservationTemplateId AssessmentScaleObservationClassCode AssessmentScaleObservationMoodCode AssessmentScaleObservationCode AssessmentScaleObservationEffectiveTime AssessmentScaleObservationId AssessmentScaleObservationStatusCode AssessmentScaleObservationStatusCodeP AssessmentScaleObservationValue AssessmentScaleObservationReferenceRangeObservationRangeReferenceValue AssessmentScaleObservationReferenceRangeObservationRange' templateId.root='2.16.840.1.113883.10.20.22.4.69' constraints.validation.warning='AssessmentScaleObservationCodeCodeSystem AssessmentScaleObservationAssessmentScaleSupportingObservation AssessmentScaleObservationReferenceRangeObservationRangeTextReference AssessmentScaleObservationReferenceRangeObservationRangeText' constraints.validation.info='AssessmentScaleObservationInterpretationCodeTranslation AssessmentScaleObservationDerivationExpr AssessmentScaleObservationInterpretationCode AssessmentScaleObservationAuthor AssessmentScaleObservationReferenceRange AssessmentScaleObservationReferenceRangeObservationRangeTextReferenceValue' classCode='OBS' moodCode='EVN' statusCode.code='completed' constraints.validation.query='AssessmentScaleObservationReferenceRangeObservationRangeTextReference AssessmentScaleObservationReferenceRangeObservationRangeTextReferenceValue AssessmentScaleObservationReferenceRangeObservationRangeReferenceValue AssessmentScaleObservationReferenceRangeObservationRangeText AssessmentScaleObservationReferenceRangeObservationRange' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolAssessmentScaleObservationReferenceRange constraints.validation.error='AssessmentScaleObservationReferenceRangeObservationRange' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolAssessmentScaleObservationReferenceRangeObservationRange constraints.validation.warning='AssessmentScaleObservationReferenceRangeObservationRangeTextReference AssessmentScaleObservationReferenceRangeObservationRangeText' constraints.validation.info='AssessmentScaleObservationReferenceRangeObservationRangeTextReferenceValue' constraints.validation.error='AssessmentScaleObservationReferenceRangeObservationRangeReferenceValue' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='AssessmentScaleSupportingObservationTemplateId AssessmentScaleSupportingObservationCodeCodeSystem AssessmentScaleSupportingObservationClassCode AssessmentScaleSupportingObservationMoodCode AssessmentScaleSupportingObservationCode AssessmentScaleSupportingObservationId AssessmentScaleSupportingObservationStatusCode AssessmentScaleSupportingObservationStatusCodeP AssessmentScaleSupportingObservationValue' templateId.root='2.16.840.1.113883.10.20.22.4.86' constraints.validation.info='AssessmentScaleSupportingObservationValueTranslation' classCode='OBS' moodCode='EVN' statusCode.code='completed' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='CaregiverCharacteristicsTemplateId CaregiverCharacteristicsValueCodeSystem CaregiverCharacteristicsClassCode CaregiverCharacteristicsMoodCode CaregiverCharacteristicsId CaregiverCharacteristicsCode CaregiverCharacteristicsStatusCode CaregiverCharacteristicsStatusCodeP CaregiverCharacteristicsValue CaregiverCharacteristicsParticipant CaregiverCharacteristicsParticipantParticipantRoleClassCode CaregiverCharacteristicsParticipantTimeLow CaregiverCharacteristicsParticipantTypeCode CaregiverCharacteristicsParticipantParticipantRole' templateId.root='2.16.840.1.113883.10.20.22.4.72' classCode='OBS' moodCode='EVN' statusCode.code='completed' constraints.validation.query='CaregiverCharacteristicsParticipantParticipantRoleClassCode CaregiverCharacteristicsParticipantTimeLow CaregiverCharacteristicsParticipantTimeHigh CaregiverCharacteristicsParticipantTypeCode CaregiverCharacteristicsParticipantTime CaregiverCharacteristicsParticipantParticipantRole' constraints.validation.info='CaregiverCharacteristicsParticipantTimeHigh CaregiverCharacteristicsParticipantTime' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolCaregiverCharacteristicsParticipant constraints.validation.error='CaregiverCharacteristicsParticipantTimeLow CaregiverCharacteristicsParticipantTypeCode CaregiverCharacteristicsParticipantParticipantRole' constraints.validation.info='CaregiverCharacteristicsParticipantTimeHigh CaregiverCharacteristicsParticipantTime' typeCode='IND' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolCaregiverCharacteristicsParticipantParticipantRole classCode='CAREGIVER' constraints.validation.error='CaregiverCharacteristicsParticipantParticipantRoleClassCode' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='MedicationUseNoneKnownTemplateId MedicationUseNoneKnownReferenceValue MedicationUseNoneKnownClassCode MedicationUseNoneKnownMoodCode MedicationUseNoneKnownId MedicationUseNoneKnownCode MedicationUseNoneKnownCodeP MedicationUseNoneKnownStatusCode MedicationUseNoneKnownStatusCodeP MedicationUseNoneKnownValue MedicationUseNoneKnownValueP' templateId.root='2.16.840.1.113883.10.20.22.4.29' constraints.validation.warning='MedicationUseNoneKnownTextReference MedicationUseNoneKnownTextReferenceValue MedicationUseNoneKnownEffectiveTime' classCode='OBS' moodCode='EVN' code.code='ASSERTION' code.codeSystem='2.16.840.1.113883.5.4' code.codeSystemName='HL7ActCode' code.displayName='Assertion' constraints.validation.dependOn.MedicationUseNoneKnownCode='MedicationUseNoneKnownCodeP' statusCode.code='completed' constraints.validation.info='MedicationUseNoneKnownText' value.code='182904002' value.codeSystem='2.16.840.1.113883.6.96' value.codeSystemName='SNOMEDCT' value.displayName='Drug treatment unknown' - - + + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ProblemObservationTemplateId ProblemObservationHasTextReferenceValue ProblemObservationHasOnsetDate ProblemObservationClassCode ProblemObservationMoodCode ProblemObservationId ProblemObservationCodeP ProblemObservationStatusCode ProblemObservationValueP' templateId.root='2.16.840.1.113883.10.20.22.4.73' constraints.validation.warning='ProblemObservationHasTextReference ProblemObservationHasResolutionDate ProblemObservationCode ProblemObservationText ProblemObservationEffectiveTime ProblemObservationValue' classCode='OBS' moodCode='EVN' constraints.validation.info='ProblemObservationNegationInd CognitiveStatusProblemObservationMethodCode CognitiveStatusProblemObservationNonMedicinalSupplyActivity CognitiveStatusProblemObservationCaregiverCharacteristics CognitiveStatusProblemObservationAssessmentScaleObservation' code.code='373930000' code.codeSystem='2.16.840.1.113883.6.96' code.codeSystemName='SNOMEDCT' code.displayName='Cognitive function finding' constraints.validation.dependOn.ProblemObservationCode='ProblemObservationCodeP' value.codeSystem='2.16.840.1.113883.6.96' value.codeSystemName='SNOMEDCT' constraints.validation.dependOn.ProblemObservationValue='ProblemObservationValueP' - - + + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ResultObservationTemplateId ResultObservationTextReferenceValue ResultObservationClassCode ResultObservationMoodCode ResultObservationId ResultObservationCodeP ResultObservationStatusCode ResultObservationStatusCodeP ResultObservationEffectiveTime ResultObservationValue CognitiveStatusResultObservationReferenceRangeObservationRangeNoCode CognitiveStatusResultObservationReferenceRangeObservationRange' templateId.root='2.16.840.1.113883.10.20.22.4.74' constraints.validation.warning='ResultObservationTextReference CognitiveStatusResultObservationValueDatatype ResultObservationCode ResultObservationText ResultObservationInterpretationCode CognitiveStatusResultObservationReferenceRange' classCode='OBS' moodCode='EVN' code.code='373930000' code.codeSystem='2.16.840.1.113883.6.96' code.codeSystemName='SNOMEDCT' code.displayName='Cognitive function finding' constraints.validation.dependOn.ResultObservationCode='ResultObservationCodeP' statusCode.code='completed' constraints.validation.dependOn.ResultObservationStatusCode='ResultObservationStatusCodeP' constraints.validation.info='ResultObservationMethodCode ResultObservationTargetSiteCode CognitiveStatusResultObservationAuthor CognitiveStatusResultObservationNonMedicinalSupplyActivity CognitiveStatusResultObservationCaregiverCharacteristics CognitiveStatusResultObservationAssessmentScaleObservation' constraints.validation.query='CognitiveStatusResultObservationReferenceRangeObservationRangeNoCode CognitiveStatusResultObservationReferenceRangeObservationRange' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolCognitiveStatusResultObservationReferenceRange constraints.validation.error='CognitiveStatusResultObservationReferenceRangeObservationRange' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolCognitiveStatusResultObservationReferenceRangeObservationRange constraints.validation.error='CognitiveStatusResultObservationReferenceRangeObservationRangeNoCode' - - + + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ResultOrganizerTemplateId ResultOrganizerClassCode ResultOrganizerMoodCode ResultOrganizerId ResultOrganizerCode ResultOrganizerStatusCode ResultOrganizerStatusCodeP ResultOrganizerResultObservation' templateId.root='2.16.840.1.113883.10.20.22.4.75' constraints.validation.warning='CognitiveStatusResultOrganizerCodeCodeSystem' classCode='CLUSTER' moodCode='EVN' statusCode.code='completed' constraints.validation.dependOn.ResultOrganizerStatusCode='ResultOrganizerStatusCodeP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='DeceasedObservationTemplateId DeceasedObservationEffectiveTimeLow DeceasedObservationClassCode DeceasedObservationMoodCode DeceasedObservationId DeceasedObservationCode DeceasedObservationCodeP DeceasedObservationStatusCode DeceasedObservationStatusCodeP DeceasedObservationEffectiveTime DeceasedObservationValue DeceasedObservationValueP' templateId.root='2.16.840.1.113883.10.20.22.4.79' classCode='OBS' moodCode='EVN' code.code='ASSERTION' code.codeSystem='2.16.840.1.113883.5.4' code.codeSystemName='HL7ActCode' code.displayName='Assertion' constraints.validation.dependOn.DeceasedObservationCode='DeceasedObservationCodeP' statusCode.code='completed' value.code='419099009' value.codeSystem='2.16.840.1.113883.6.96' value.codeSystemName='SNOMEDCT' value.displayName='Dead' constraints.validation.warning='DeceasedObservationProblemObservation' - - + + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ProblemObservationTemplateId ProblemObservationHasTextReferenceValue ProblemObservationHasOnsetDate ProblemObservationClassCode ProblemObservationMoodCode ProblemObservationId ProblemObservationCodeP ProblemObservationStatusCode ProblemObservationValueP' templateId.root='2.16.840.1.113883.10.20.22.4.68' constraints.validation.warning='ProblemObservationHasTextReference ProblemObservationTextReferenceValue ProblemObservationHasResolutionDate ProblemObservationCode ProblemObservationText ProblemObservationEffectiveTime ProblemObservationValue' constraints.validation.info='ProblemObservationValueNullFlavor ProblemObservationNegationInd FunctionalStatusProblemObservationMethodCode FunctionalStatusProblemObservationNonMedicinalSupplyActivity FunctionalStatusProblemObservationCaregiverCharacteristics FunctionalStatusProblemObservationAssessmentScaleObservation' classCode='OBS' moodCode='EVN' code.code='248536006' code.codeSystem='2.16.840.1.113883.6.96' code.codeSystemName='SNOMEDCT' code.displayName='finding of functional performance and activity' constraints.validation.dependOn.ProblemObservationCode='ProblemObservationCodeP' value.codeSystem='2.16.840.1.113883.6.96' value.codeSystemName='SNOMEDCT' constraints.validation.dependOn.ProblemObservationValue='ProblemObservationValueP' - - + + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ResultObservationTemplateId ResultObservationTextReferenceValue ResultObservationClassCode ResultObservationMoodCode ResultObservationId ResultObservationCodeP ResultObservationStatusCode ResultObservationStatusCodeP ResultObservationEffectiveTime ResultObservationValue FunctionalStatusResultObservationReferenceRangeObservationRangeNoCode FunctionalStatusResultObservationReferenceRangeObservationRange' templateId.root='2.16.840.1.113883.10.20.22.4.67' constraints.validation.warning='ResultObservationTextReference FunctionalStatusResultObservationValueDatatype ResultObservationCode ResultObservationText ResultObservationInterpretationCode FunctionalStatusResultObservationReferenceRange' classCode='OBS' moodCode='EVN' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' constraints.validation.dependOn.ResultObservationCode='ResultObservationCodeP' statusCode.code='completed' constraints.validation.dependOn.ResultObservationStatusCode='ResultObservationStatusCodeP' constraints.validation.info='ResultObservationMethodCode ResultObservationTargetSiteCode FunctionalStatusResultObservationAuthor FunctionalStatusResultObservationNonMedicinalSupplyActivity FunctionalStatusResultObservationCaregiverCharacteristics FunctionalStatusResultObservationAssessmentScaleObservation' constraints.validation.query='FunctionalStatusResultObservationReferenceRangeObservationRangeNoCode FunctionalStatusResultObservationReferenceRangeObservationRange' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolFunctionalStatusResultObservationReferenceRange constraints.validation.error='FunctionalStatusResultObservationReferenceRangeObservationRange' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolFunctionalStatusResultObservationReferenceRangeObservationRange constraints.validation.error='FunctionalStatusResultObservationReferenceRangeObservationRangeNoCode' - - + + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ResultOrganizerTemplateId ResultOrganizerClassCode ResultOrganizerMoodCode ResultOrganizerId ResultOrganizerCode ResultOrganizerStatusCode ResultOrganizerStatusCodeP FunctionalStatusResultOrganizerFunctionalStatusResultObservation' templateId.root='2.16.840.1.113883.10.20.22.4.66' constraints.validation.warning='ResultOrganizerCodeValue' classCode='CLUSTER' moodCode='EVN' statusCode.code='completed' constraints.validation.dependOn.ResultOrganizerStatusCode='ResultOrganizerStatusCodeP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='HighestPressureUlcerStageTemplateId HighestPressureUlcerStageClassCode HighestPressureUlcerStageMoodCode HighestPressureUlcerStageId HighestPressureUlcerStageCode HighestPressureUlcerStageCodeP HighestPressureUlcerStageValue' templateId.root='2.16.840.1.113883.10.20.22.4.77' classCode='OBS' moodCode='EVN' code.code='420905001' code.codeSystem='2.16.840.1.113883.6.96' code.codeSystemName='SNOMEDCT' code.displayName='Highest Pressure Ulcer Stage' constraints.validation.dependOn.HighestPressureUlcerStageCode='HighestPressureUlcerStageCodeP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='NumberOfPressureUlcersObservationTemplateId NumberOfPressureUlcersObservationClassCode NumberOfPressureUlcersObservationMoodCode NumberOfPressureUlcersObservationId NumberOfPressureUlcersObservationCode NumberOfPressureUlcersObservationCodeP NumberOfPressureUlcersObservationStatusCode NumberOfPressureUlcersObservationStatusCodeP NumberOfPressureUlcersObservationEffectiveTime NumberOfPressureUlcersObservationValue NumberOfPressureUlcersObservationEntryRelationship NumberOfPressureUlcersObservationEntryRelationshipObservationClassCode NumberOfPressureUlcersObservationEntryRelationshipObservationMoodCode NumberOfPressureUlcersObservationEntryRelationshipObservationValueP NumberOfPressureUlcersObservationEntryRelationshipTypeCode NumberOfPressureUlcersObservationEntryRelationshipObservation' templateId.root='2.16.840.1.113883.10.20.22.4.76' classCode='OBS' moodCode='EVN' code.code='2264892003' code.codeSystem='2.16.840.1.113883.6.96' code.codeSystemName='SNOMEDCT' code.displayName='number of pressure ulcers' constraints.validation.dependOn.NumberOfPressureUlcersObservationCode='NumberOfPressureUlcersObservationCodeP' statusCode.code='completed' constraints.validation.info='NumberOfPressureUlcersObservationAuthor' constraints.validation.query='NumberOfPressureUlcersObservationEntryRelationshipObservationClassCode NumberOfPressureUlcersObservationEntryRelationshipObservationMoodCode NumberOfPressureUlcersObservationEntryRelationshipObservationValue NumberOfPressureUlcersObservationEntryRelationshipObservationValueP NumberOfPressureUlcersObservationEntryRelationshipTypeCode NumberOfPressureUlcersObservationEntryRelationshipObservation' constraints.validation.warning='NumberOfPressureUlcersObservationEntryRelationshipObservationValue' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolNumberOfPressureUlcersObservationEntryRelationship typeCode='SUBJ' constraints.validation.error='NumberOfPressureUlcersObservationEntryRelationshipTypeCode NumberOfPressureUlcersObservationEntryRelationshipObservation' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolNumberOfPressureUlcersObservationEntryRelationshipObservation classCode='OBS' constraints.validation.error='NumberOfPressureUlcersObservationEntryRelationshipObservationClassCode NumberOfPressureUlcersObservationEntryRelationshipObservationMoodCode NumberOfPressureUlcersObservationEntryRelationshipObservationValueP' moodCode='EVN' value.codeSystem='2.16.840.1.113883.6.96' value.codeSystemName='SNOMEDCT' constraints.validation.warning='NumberOfPressureUlcersObservationEntryRelationshipObservationValue' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='PressureUlcerObservationTemplateId PressureUlcerObservationTextReferenceValue PressureUlcerObservationHasTextReferenceValue PressureUlcerObservationTargetSiteQualifierName PressureUlcerObservationTargetSiteQualifierValue PressureUlcerObservationClassCode PressureUlcerObservationMoodCode PressureUlcerObservationId PressureUlcerObservationCodeP PressureUlcerObservationStatusCode PressureUlcerObservationEffectiveTime PressureUlcerObservationValueP PressureUlcerObservationEntryRelationship1Observation1ClassCode PressureUlcerObservationEntryRelationship1Observation1MoodCode PressureUlcerObservationEntryRelationship1Observation1CodeP PressureUlcerObservationEntryRelationship1Observation1Code PressureUlcerObservationEntryRelationship1Observation1Value PressureUlcerObservationEntryRelationship1TypeCode PressureUlcerObservationEntryRelationship1Observation1 PressureUlcerObservationEntryRelationship2Observation2ClassCode PressureUlcerObservationEntryRelationship2Observation2MoodCode PressureUlcerObservationEntryRelationship2Observation2CodeP PressureUlcerObservationEntryRelationship2Observation2Code PressureUlcerObservationEntryRelationship2Observation2Value PressureUlcerObservationEntryRelationship2TypeCode PressureUlcerObservationEntryRelationship2Observation2 PressureUlcerObservationEntryRelationship3Observation3ClassCode PressureUlcerObservationEntryRelationship3Observation3MoodCode PressureUlcerObservationEntryRelationship3Observation3CodeP PressureUlcerObservationEntryRelationship3Observation3Code PressureUlcerObservationEntryRelationship3Observation3Value PressureUlcerObservationEntryRelationship3TypeCode PressureUlcerObservationEntryRelationship3Observation3' templateId.root='2.16.840.1.113883.10.20.22.4.70' constraints.validation.warning='PressureUlcerObservationHasTextReference PressureUlcerObservationTargetSiteQualifier PressureUlcerObservationTargetSiteQualifierNameCode PressureUlcerObservationTargetSiteQualifierValueCode PressureUlcerObservationCode PressureUlcerObservationText PressureUlcerObservationValue PressureUlcerObservationTargetSiteCode PressureUlcerObservationTargetSiteCodeP PressureUlcerObservationEntryRelationship PressureUlcerObservationEntryRelationship2 PressureUlcerObservationEntryRelationship3' constraints.validation.info='PressureUlcerObservationValueNullFlavor PressureUlcerObservationNegationInd' classCode='OBS' moodCode='EVN' code.code='ASSERTION' code.codeSystem='2.16.840.1.113883.5.4' code.codeSystemName='HL7ActCode' code.displayName='Assertion' constraints.validation.dependOn.PressureUlcerObservationCode='PressureUlcerObservationCodeP' statusCode.code='completed' value.codeSystem='2.16.840.1.113883.6.96' value.codeSystemName='SNOMEDCT' targetSiteCode.codeSystem='2.16.840.1.113883.6.96' targetSiteCode.codeSystemName='SNOMEDCT' constraints.validation.dependOn.PressureUlcerObservationTargetSiteCode='PressureUlcerObservationTargetSiteCodeP' constraints.validation.query='PressureUlcerObservationEntryRelationship1Observation1ClassCode PressureUlcerObservationEntryRelationship1Observation1MoodCode PressureUlcerObservationEntryRelationship1Observation1CodeP PressureUlcerObservationEntryRelationship1Observation1Code PressureUlcerObservationEntryRelationship1Observation1Value PressureUlcerObservationEntryRelationship1TypeCode PressureUlcerObservationEntryRelationship1Observation1 PressureUlcerObservationEntryRelationship2Observation2ClassCode PressureUlcerObservationEntryRelationship2Observation2MoodCode PressureUlcerObservationEntryRelationship2Observation2CodeP PressureUlcerObservationEntryRelationship2Observation2Code PressureUlcerObservationEntryRelationship2Observation2Value PressureUlcerObservationEntryRelationship2TypeCode PressureUlcerObservationEntryRelationship2Observation2 PressureUlcerObservationEntryRelationship3Observation3ClassCode PressureUlcerObservationEntryRelationship3Observation3MoodCode PressureUlcerObservationEntryRelationship3Observation3CodeP PressureUlcerObservationEntryRelationship3Observation3Code PressureUlcerObservationEntryRelationship3Observation3Value PressureUlcerObservationEntryRelationship3TypeCode PressureUlcerObservationEntryRelationship3Observation3' constraints.validation.dependOn.PressureUlcerObservationEntryRelationship1Observation1Code='PressureUlcerObservationEntryRelationship1Observation1CodeP' constraints.validation.dependOn.PressureUlcerObservationEntryRelationship2Observation2Code='PressureUlcerObservationEntryRelationship2Observation2CodeP' constraints.validation.dependOn.PressureUlcerObservationEntryRelationship3Observation3Code='PressureUlcerObservationEntryRelationship3Observation3CodeP' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolPressureUlcerObservationEntryRelationship1 typeCode='COMP' constraints.validation.error='PressureUlcerObservationEntryRelationship1TypeCode PressureUlcerObservationEntryRelationship1Observation1' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolPressureUlcerObservationEntryRelationship1Observation1 classCode='OBS' constraints.validation.error='PressureUlcerObservationEntryRelationship1Observation1ClassCode PressureUlcerObservationEntryRelationship1Observation1MoodCode PressureUlcerObservationEntryRelationship1Observation1Code PressureUlcerObservationEntryRelationship1Observation1CodeP PressureUlcerObservationEntryRelationship1Observation1Value' moodCode='EVN' code.code='401238003' code.codeSystem='2.16.840.1.113883.6.96' code.codeSystemName='SNOMEDCT' code.displayName='Length of Wound' constraints.validation.dependOn.PressureUlcerObservationEntryRelationship1Observation1Code='PressureUlcerObservationEntryRelationship1Observation1CodeP' @@ -47037,148 +47037,148 @@ value.code = 'completed') http://www.openhealthtools.org/mdht/uml/cda/annotation/consolPressureUlcerObservationEntryRelationship3 typeCode='COMP' constraints.validation.error='PressureUlcerObservationEntryRelationship3TypeCode PressureUlcerObservationEntryRelationship3Observation3' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolPressureUlcerObservationEntryRelationship3Observation3 classCode='OBS' constraints.validation.error='PressureUlcerObservationEntryRelationship3Observation3ClassCode PressureUlcerObservationEntryRelationship3Observation3MoodCode PressureUlcerObservationEntryRelationship3Observation3Code PressureUlcerObservationEntryRelationship3Observation3CodeP PressureUlcerObservationEntryRelationship3Observation3Value' moodCode='EVN' code.code='425094009' code.codeSystem='2.16.840.1.113883.6.96' code.codeSystemName='SNOMEDCT' code.displayName='Depth of Wound' constraints.validation.dependOn.PressureUlcerObservationEntryRelationship3Observation3Code='PressureUlcerObservationEntryRelationship3Observation3CodeP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='FetusSubjectContextTemplateId FetusSubjectContextCode FetusSubjectContextSubject' templateId.root='2.16.840.1.113883.10.20.6.2.3' code.code='121026' code.codeSystem='1.2.840.10008.2.16.4' code.codeSystemName='DCM' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolFetusSubjectContextSubjectPerson constraints.validation.error='FetusSubjectContextSubjectPersonName' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ObserverContextTemplateId ObserverContextAssignedAuthor' templateId.root='2.16.840.1.113883.10.20.6.2.4' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolObserverContextAssignedAuthor constraints.validation.error='ObserverContextAssignedAuthorHasAssignedPersonorAuthoringDevice ObserverContextAssignedAuthorId' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='EntryReferenceTemplateId EntryReferenceClassCode EntryReferenceMoodCode EntryReferenceId EntryReferenceCode EntryReferenceStatusCodeP EntryReferenceIINullFlavor EntryReferenceCDNullFlavor EntryReferenceCDNullFlavorP' templateId.root='2.16.840.1.113883.10.20.22.4.122' classCode='ACT' moodCode='EVN' statusCode.code='completed' constraints.validation.info='EntryReferenceStatusCode' constraints.validation.query='EntryReferenceIINullFlavor EntryReferenceCDNullFlavor EntryReferenceCDNullFlavorP' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolEntryReferenceCD nullFlavor='NP' constraints.validation.error='EntryReferenceCDNullFlavor EntryReferenceCDNullFlavorP' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolEntryReferenceII constraints.validation.error='EntryReferenceIINullFlavor' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='AdvanceDirectiveOrganizerTemplateId AdvanceDirectiveOrganizerClassCode AdvanceDirectiveOrganizerMoodCode AdvanceDirectiveOrganizerId AdvanceDirectiveOrganizerCode AdvanceDirectiveOrganizerCodeP AdvanceDirectiveOrganizerStatusCode AdvanceDirectiveOrganizerStatusCodeP AdvanceDirectiveOrganizerAdvanceDirectiveObservation2' templateId.root='2.16.840.1.113883.10.20.22.4.108' templateId.extension='2015-08-01' classCode='CLUSTER' moodCode='EVN' code.code='45473-6' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Advance directive - living will' statusCode.code='completed' constraints.validation.dependOn.AdvanceDirectiveOrganizerStatusCode='AdvanceDirectiveOrganizerStatusCodeP' constraints.validation.warning='AdvanceDirectiveOrganizerAuthorParticipation' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='CharacteristicsOfHomeEnvironmentTemplateId CharacteristicsOfHomeEnvironmentClassCode CharacteristicsOfHomeEnvironmentMoodCode CharacteristicsOfHomeEnvironmentId CharacteristicsOfHomeEnvironmentCode CharacteristicsOfHomeEnvironmentCodeP CharacteristicsOfHomeEnvironmentStatusCode CharacteristicsOfHomeEnvironmentStatusCodeP CharacteristicsOfHomeEnvironmentValueP' templateId.root='2.16.840.1.113883.10.20.22.4.109' classCode='OBS' moodCode='EVN' code.code='75274-1' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Characteristics of residence' constraints.validation.dependOn.CharacteristicsOfHomeEnvironmentCode='CharacteristicsOfHomeEnvironmentCodeP' statusCode.code='completed' value.codeSystem='2.16.840.1.113883.6.96' value.codeSystemName='SNOMEDCT' constraints.validation.warning='CharacteristicsOfHomeEnvironmentValue' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='CognitiveAbilitiesObservationTemplateId CognitiveAbilitiesObservationClassCode CognitiveAbilitiesObservationMoodCode CognitiveAbilitiesObservationId CognitiveAbilitiesObservationCodeP CognitiveAbilitiesObservationStatusCode CognitiveAbilitiesObservationStatusCodeP CognitiveAbilitiesObservationEffectiveTime CognitiveAbilitiesObservationValueP' templateId.root='2.16.840.1.113883.10.20.22.4.126' classCode='OBS' moodCode='EVN' code.codeSystem='2.16.840.1.113883.6.96' code.codeSystemName='SNOMEDCT' constraints.validation.warning='CognitiveAbilitiesObservationCode CognitiveAbilitiesObservationText CognitiveAbilitiesObservationValue CognitiveAbilitiesObservationAuthorParticipation' constraints.validation.dependOn.CognitiveAbilitiesObservationCode='CognitiveAbilitiesObservationCodeP' statusCode.code='completed' value.codeSystem='2.16.840.1.113883.6.96' value.codeSystemName='SNOMEDCT' constraints.validation.info='CognitiveAbilitiesObservationAssessmentScaleObservation' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='CulturalAndReligiousObservationTemplateId CulturalAndReligiousObservationValueOfTypeCDIsFromSnomed CulturalAndReligiousObservationClassCode CulturalAndReligiousObservationMoodCode CulturalAndReligiousObservationId CulturalAndReligiousObservationCode CulturalAndReligiousObservationCodeP CulturalAndReligiousObservationStatusCode CulturalAndReligiousObservationStatusCodeP CulturalAndReligiousObservationValue' templateId.root='2.16.840.1.113883.10.20.22.4.111' classCode='OBS' moodCode='EVN' code.code='75281-6' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Personal belief' constraints.validation.dependOn.CulturalAndReligiousObservationCode='CulturalAndReligiousObservationCodeP' statusCode.code='completed' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='DrugMonitoringActTemplateId DrugMonitoringActClassCode DrugMonitoringActMoodCode DrugMonitoringActId DrugMonitoringActCode DrugMonitoringActCodeP DrugMonitoringActStatusCode DrugMonitoringActStatusCodeP DrugMonitoringActEffectiveTime DrugMonitoringActParticipant DrugMonitoringActParticipantParticipantRolePlayingEntityGeneralHeaderConstraintsUSRealmPersonNameUSRealmPersonNameMixedContent DrugMonitoringActParticipantParticipantRolePlayingEntityClassCode DrugMonitoringActParticipantParticipantRolePlayingEntityName DrugMonitoringActParticipantParticipantRoleClassCode DrugMonitoringActParticipantParticipantRoleId DrugMonitoringActParticipantParticipantRolePlayingEntity DrugMonitoringActParticipantTypeCode DrugMonitoringActParticipantParticipantRole' templateId.root='2.16.840.1.113883.10.20.22.4.123' classCode='ACT' moodCode='INT' code.code='395170001' code.codeSystem='2.16.840.1.113883.6.96' code.codeSystemName='SNOMEDCT' code.displayName='medication monitoring (regime/therapy)' constraints.validation.dependOn.DrugMonitoringActCode='DrugMonitoringActCodeP' constraints.validation.query='DrugMonitoringActParticipantParticipantRolePlayingEntityGeneralHeaderConstraintsUSRealmPersonNameUSRealmPersonNameMixedContent DrugMonitoringActParticipantParticipantRolePlayingEntityClassCode DrugMonitoringActParticipantParticipantRolePlayingEntityName DrugMonitoringActParticipantParticipantRoleClassCode DrugMonitoringActParticipantParticipantRoleId DrugMonitoringActParticipantParticipantRolePlayingEntity DrugMonitoringActParticipantTypeCode DrugMonitoringActParticipantParticipantRole' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolDrugMonitoringActParticipant typeCode='RESP' constraints.validation.error='DrugMonitoringActParticipantTypeCode DrugMonitoringActParticipantParticipantRole' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolDrugMonitoringActParticipantParticipantRole classCode='ASSIGNED' constraints.validation.error='DrugMonitoringActParticipantParticipantRoleClassCode DrugMonitoringActParticipantParticipantRoleId DrugMonitoringActParticipantParticipantRolePlayingEntity' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolDrugMonitoringActParticipantParticipantRolePlayingEntity classCode='PSN' constraints.validation.error='DrugMonitoringActParticipantParticipantRolePlayingEntityClassCode DrugMonitoringActParticipantParticipantRolePlayingEntityName PlayingEntityGeneralHeaderConstraintsUSRealmPersonNameUSRealmPersonNameMixedContent' constraints.validation.query='PlayingEntityGeneralHeaderConstraintsUSRealmPersonNameUSRealmPersonNameMixedContent' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='HandoffCommunicationParticipantsTemplateId HandoffCommunicationParticipantsClassCode HandoffCommunicationParticipantsMoodCode HandoffCommunicationParticipantsCode HandoffCommunicationParticipantsCodeP HandoffCommunicationParticipantsStatusCode HandoffCommunicationParticipantsStatusCodeP HandoffCommunicationParticipantsEffectiveTime HandoffCommunicationParticipantsParticipant HandoffCommunicationParticipantsAuthorParticipation HandoffCommunicationParticipantsParticipantParticipantRolePlayingEntityName HandoffCommunicationParticipantsParticipantParticipantRoleId HandoffCommunicationParticipantsParticipantParticipantRoleAddr HandoffCommunicationParticipantsParticipantTypeCode HandoffCommunicationParticipantsParticipantParticipantRole' templateId.root='2.16.840.1.113883.10.20.22.4.141' classCode='ACT' moodCode='EVN' code.code='432138007' code.codeSystem='2.16.840.1.113883.6.96' code.codeSystemName='SNOMEDCT' code.displayName='handoff communication (procedure)' constraints.validation.dependOn.HandoffCommunicationParticipantsCode='HandoffCommunicationParticipantsCodeP' statusCode.code='completed' constraints.validation.query='HandoffCommunicationParticipantsParticipantParticipantRolePlayingEntityName HandoffCommunicationParticipantsParticipantParticipantRoleId HandoffCommunicationParticipantsParticipantParticipantRoleCodeP HandoffCommunicationParticipantsParticipantParticipantRoleCode HandoffCommunicationParticipantsParticipantParticipantRoleAddr HandoffCommunicationParticipantsParticipantParticipantRolePlayingEntity HandoffCommunicationParticipantsParticipantTypeCode HandoffCommunicationParticipantsParticipantParticipantRole' constraints.validation.warning='HandoffCommunicationParticipantsParticipantParticipantRoleCodeP HandoffCommunicationParticipantsParticipantParticipantRoleCode' constraints.validation.dependOn.HandoffCommunicationParticipantsParticipantParticipantRoleCode='HandoffCommunicationParticipantsParticipantParticipantRoleCodeP' constraints.validation.info='HandoffCommunicationParticipantsParticipantParticipantRolePlayingEntity' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolHandoffCommunicationParticipantsParticipant typeCode='IRCP' constraints.validation.error='HandoffCommunicationParticipantsParticipantTypeCode HandoffCommunicationParticipantsParticipantParticipantRole' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolHandoffCommunicationParticipantsParticipantParticipantRole constraints.validation.error='HandoffCommunicationParticipantsParticipantParticipantRoleId HandoffCommunicationParticipantsParticipantParticipantRoleAddr' code.codeSystem='2.16.840.1.113883.6.101' code.codeSystemName='NUCC Health Care Provider Taxonomy' constraints.validation.warning='HandoffCommunicationParticipantsParticipantParticipantRoleCode HandoffCommunicationParticipantsParticipantParticipantRoleCodeP' constraints.validation.dependOn.HandoffCommunicationParticipantsParticipantParticipantRoleCode='HandoffCommunicationParticipantsParticipantParticipantRoleCodeP' constraints.validation.info='HandoffCommunicationParticipantsParticipantParticipantRolePlayingEntity' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolHandoffCommunicationParticipantsParticipantParticipantRolePlayingEntity constraints.validation.error='HandoffCommunicationParticipantsParticipantParticipantRolePlayingEntityName' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='MedicalEquipmentOrganizerTemplateId MedicalEquipmentOrganizerHasNonMedSupActOrProcActProc MedicalEquipmentOrganizerClassCode MedicalEquipmentOrganizerMoodCode MedicalEquipmentOrganizerId MedicalEquipmentOrganizerStatusCode MedicalEquipmentOrganizerStatusCodeP MedicalEquipmentOrganizerEffectiveTime MedicalEquipmentOrganizerIVLTSLow MedicalEquipmentOrganizerIVLTSHigh' templateId.root='2.16.840.1.113883.10.20.22.4.135' classCode='CLUSTER' moodCode='EVN' constraints.validation.info='MedicalEquipmentOrganizerCode MedicalEquipmentOrganizerNonMedicinalSupplyActivity2 MedicalEquipmentOrganizerProcedureActivityProcedure2' constraints.validation.dependOn.MedicalEquipmentOrganizerStatusCode='MedicalEquipmentOrganizerStatusCodeP' constraints.validation.query='MedicalEquipmentOrganizerIVLTSLow MedicalEquipmentOrganizerIVLTSHigh' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolMedicalEquipmentOrganizerIVLTS constraints.validation.error='MedicalEquipmentOrganizerIVLTSLow MedicalEquipmentOrganizerIVLTSHigh' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='MentalStatusObservationTemplateId MentalStatusObservationClassCode MentalStatusObservationMoodCode MentalStatusObservationId MentalStatusObservationCodeP MentalStatusObservationStatusCode MentalStatusObservationStatusCodeP MentalStatusObservationEffectiveTime MentalStatusObservationValueP' templateId.root='2.16.840.1.113883.10.20.22.4.125' classCode='OBS' moodCode='EVN' code.codeSystem='2.16.840.1.113883.6.96' code.codeSystemName='SNOMEDCT' constraints.validation.warning='MentalStatusObservationCode MentalStatusObservationValue MentalStatusObservationAuthorParticipation' constraints.validation.dependOn.MentalStatusObservationCode='MentalStatusObservationCodeP' statusCode.code='completed' value.codeSystem='2.16.840.1.113883.6.96' value.codeSystemName='SNOMEDCT' constraints.validation.info='MentalStatusObservationAssessmentScaleObservation' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='NutritionAssessmentTemplateId NutritionAssessmentClassCode NutritionAssessmentMoodCode NutritionAssessmentId NutritionAssessmentCode NutritionAssessmentCodeP NutritionAssessmentStatusCode NutritionAssessmentStatusCodeP NutritionAssessmentEffectiveTime NutritionAssessmentValue' templateId.root='2.16.840.1.113883.10.20.22.4.138' constraints.validation.warning='NutritionAssessmentValueOfTypeCDIsFromSnomed NutritionAssessmentAuthorParticipation' classCode='OBS' moodCode='EVN' code.code='75303-8' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Nutrition assessment' constraints.validation.dependOn.NutritionAssessmentCode='NutritionAssessmentCodeP' statusCode.code='completed' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='NutritionRecommendationTemplateId NutritionRecommendationClassCode NutritionRecommendationMoodCode NutritionRecommendationMoodCodeP NutritionRecommendationCodeP NutritionRecommendationStatusCode NutritionRecommendationStatusCodeP' templateId.root='2.16.840.1.113883.10.20.22.4.130' classCode='ACT' constraints.validation.dependOn.NutritionRecommendationMoodCode='NutritionRecommendationMoodCodeP' code.codeSystem='2.16.840.1.113883.6.96' code.codeSystemName='SNOMEDCT' constraints.validation.warning='NutritionRecommendationCode NutritionRecommendationEffectiveTime' constraints.validation.dependOn.NutritionRecommendationCode='NutritionRecommendationCodeP' statusCode.code='active' constraints.validation.info='NutritionRecommendationPlannedEncounter2 NutritionRecommendationPlannedMedicationActivity2 NutritionRecommendationPlannedObservation2 NutritionRecommendationPlannedProcedure2 NutritionRecommendationPlannedSupply2 NutritionRecommendationPlannedAct2' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='NutritionalStatusObservationTemplateId NutritionalStatusObservationClassCode NutritionalStatusObservationMoodCode NutritionalStatusObservationId NutritionalStatusObservationCode NutritionalStatusObservationCodeP NutritionalStatusObservationStatusCode NutritionalStatusObservationStatusCodeP NutritionalStatusObservationEffectiveTime NutritionalStatusObservationValueP NutritionalStatusObservationNutritionAssessment' templateId.root='2.16.840.1.113883.10.20.22.4.124' classCode='OBS' moodCode='EVN' code.code='75305-3' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Nutrition status' constraints.validation.dependOn.NutritionalStatusObservationCode='NutritionalStatusObservationCodeP' statusCode.code='completed' value.codeSystem='2.16.840.1.113883.6.96' value.codeSystemName='SNOMEDCT' constraints.validation.warning='NutritionalStatusObservationValue' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='OutcomeObservationTemplateId OutcomeObservationProgTowardGoalObsInversionIndIsTrue OutcomeObservationClassCode OutcomeObservationMoodCode OutcomeObservationId OutcomeObservationCodeP OutcomeObservationEntryRelationship OutcomeObservationReferenceTypeCode OutcomeObservationReferenceExternalDocumentReference' templateId.root='2.16.840.1.113883.10.20.22.4.144' classCode='OBS' moodCode='EVN' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' constraints.validation.warning='OutcomeObservationCode OutcomeObservationValue OutcomeObservationEntryReferenceGoalObs OutcomeObservationAuthorParticipation OutcomeObservationProgressTowardGoalObservation' constraints.validation.dependOn.OutcomeObservationCode='OutcomeObservationCodeP' constraints.validation.info='OutcomeObservationEntryReferenceInterventionAct OutcomeObservationReference' constraints.validation.query='OutcomeObservationReferenceTypeCode OutcomeObservationReferenceExternalDocumentReference' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolOutcomeObservationReference typeCode='REFR' constraints.validation.error='OutcomeObservationReferenceTypeCode OutcomeObservationReferenceExternalDocumentReference' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='PatientReferralActTemplateId PatientReferralActClassCode PatientReferralActMoodCode PatientReferralActMoodCodeP PatientReferralActId PatientReferralActCode PatientReferralActCodeP PatientReferralActStatusCode PatientReferralActStatusCodeP PatientReferralActEffectiveTime PatientReferralActEntryRelationshipObservationClassCode PatientReferralActEntryRelationshipObservationMoodCode PatientReferralActEntryRelationshipObservationCodeP PatientReferralActEntryRelationshipObservationCode PatientReferralActEntryRelationshipObservationStatusCode PatientReferralActEntryRelationshipObservationStatusCodeP PatientReferralActEntryRelationshipObservationValueP PatientReferralActEntryRelationshipTypeCode PatientReferralActEntryRelationshipObservation PatientReferralActParticipantTypeCode PatientReferralActParticipantParticipantRole' templateId.root='2.16.840.1.113883.10.20.22.4.140' classCode='PCPR' constraints.validation.dependOn.PatientReferralActMoodCode='PatientReferralActMoodCodeP' code.codeSystem='2.16.840.1.113883.6.96' code.codeSystemName='SNOMEDCT' constraints.validation.dependOn.PatientReferralActCode='PatientReferralActCodeP' statusCode.code='active' constraints.validation.warning='PatientReferralActPriorityCode PatientReferralActAuthorParticipation PatientReferralActEntryRelationshipObservationPriorityCodeP PatientReferralActEntryRelationshipObservationPriorityCode PatientReferralActEntryRelationshipObservationValue PatientReferralActParticipantParticipantRoleCode' constraints.validation.info='PatientReferralActEntryRelationship PatientReferralActIndication2 PatientReferralActParticipant PatientReferralActParticipantParticipantRoleCodeP' constraints.validation.query='PatientReferralActEntryRelationshipObservationClassCode PatientReferralActEntryRelationshipObservationMoodCode PatientReferralActEntryRelationshipObservationCodeP PatientReferralActEntryRelationshipObservationCode PatientReferralActEntryRelationshipObservationStatusCode PatientReferralActEntryRelationshipObservationStatusCodeP PatientReferralActEntryRelationshipObservationPriorityCodeP PatientReferralActEntryRelationshipObservationPriorityCode PatientReferralActEntryRelationshipObservationValue PatientReferralActEntryRelationshipObservationValueP PatientReferralActEntryRelationshipTypeCode PatientReferralActEntryRelationshipObservation PatientReferralActParticipantParticipantRoleCodeP PatientReferralActParticipantParticipantRoleCode PatientReferralActParticipantTypeCode PatientReferralActParticipantParticipantRole' constraints.validation.dependOn.PatientReferralActEntryRelationshipObservationCode='PatientReferralActEntryRelationshipObservationCodeP' constraints.validation.dependOn.PatientReferralActEntryRelationshipObservationPriorityCode='PatientReferralActEntryRelationshipObservationPriorityCodeP' constraints.validation.dependOn.PatientReferralActParticipantParticipantRoleCode='PatientReferralActParticipantParticipantRoleCodeP' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolPatientReferralActEntryRelationship typeCode='SUBJ' constraints.validation.error='PatientReferralActEntryRelationshipTypeCode PatientReferralActEntryRelationshipObservation' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolPatientReferralActEntryRelationshipObservation classCode='OBS' constraints.validation.error='PatientReferralActEntryRelationshipObservationClassCode PatientReferralActEntryRelationshipObservationMoodCode PatientReferralActEntryRelationshipObservationCode PatientReferralActEntryRelationshipObservationCodeP PatientReferralActEntryRelationshipObservationStatusCode PatientReferralActEntryRelationshipObservationStatusCodeP PatientReferralActEntryRelationshipObservationValueP' moodCode='RQO' code.code='ASSERTION' code.codeSystem='2.16.840.1.113883.5.4' code.codeSystemName='HL7ActCode' code.displayName='assertion' constraints.validation.dependOn.PatientReferralActEntryRelationshipObservationCode='PatientReferralActEntryRelationshipObservationCodeP' statusCode.code='completed' priorityCode.codeSystem='2.16.840.1.113883.5.7' priorityCode.codeSystemName='ActPriority' constraints.validation.warning='PatientReferralActEntryRelationshipObservationPriorityCode PatientReferralActEntryRelationshipObservationPriorityCodeP PatientReferralActEntryRelationshipObservationValue' constraints.validation.dependOn.PatientReferralActEntryRelationshipObservationPriorityCode='PatientReferralActEntryRelationshipObservationPriorityCodeP' value.codeSystem='2.16.840.1.113883.6.96' value.codeSystemName='SNOMEDCT' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolPatientReferralActParticipant typeCode='REFT' constraints.validation.error='PatientReferralActParticipantTypeCode PatientReferralActParticipantParticipantRole' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolPatientReferralActParticipantParticipantRole code.codeSystem='2.16.840.1.113883.6.101' code.codeSystemName='NUCC Health Care Provider Taxonomy' constraints.validation.warning='PatientReferralActParticipantParticipantRoleCode' constraints.validation.info='PatientReferralActParticipantParticipantRoleCodeP' constraints.validation.dependOn.PatientReferralActParticipantParticipantRoleCode='PatientReferralActParticipantParticipantRoleCodeP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='PlannedCoverageTemplateId PlannedCoverageClassCode PlannedCoverageMoodCode PlannedCoverageId PlannedCoverageCode PlannedCoverageCodeP PlannedCoverageStatusCode PlannedCoverageStatusCodeP PlannedCoverageEntryRelationship PlannedCoverageEntryRelationshipActClassCode PlannedCoverageEntryRelationshipActMoodCode PlannedCoverageEntryRelationshipActId PlannedCoverageEntryRelationshipActCodeP PlannedCoverageEntryRelationshipActCode PlannedCoverageEntryRelationshipActStatusCode PlannedCoverageEntryRelationshipActStatusCodeP PlannedCoverageEntryRelationshipTypeCode PlannedCoverageEntryRelationshipAct' templateId.root='2.16.840.1.113883.10.20.22.4.129' classCode='ACT' moodCode='INT' code.code='48768-6' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Payment Sources' constraints.validation.dependOn.PlannedCoverageCode='PlannedCoverageCodeP' statusCode.code='active' constraints.validation.info='PlannedCoverageAuthorParticipation' constraints.validation.query='PlannedCoverageEntryRelationshipActClassCode PlannedCoverageEntryRelationshipActMoodCode PlannedCoverageEntryRelationshipActId PlannedCoverageEntryRelationshipActCodeP PlannedCoverageEntryRelationshipActCode PlannedCoverageEntryRelationshipActStatusCode PlannedCoverageEntryRelationshipActStatusCodeP PlannedCoverageEntryRelationshipTypeCode PlannedCoverageEntryRelationshipAct' constraints.validation.dependOn.PlannedCoverageEntryRelationshipActCode='PlannedCoverageEntryRelationshipActCodeP' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolPlannedCoverageEntryRelationship typeCode='COMP' constraints.validation.error='PlannedCoverageEntryRelationshipTypeCode PlannedCoverageEntryRelationshipAct' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolPlannedCoverageEntryRelationshipAct classCode='ACT' constraints.validation.error='PlannedCoverageEntryRelationshipActClassCode PlannedCoverageEntryRelationshipActMoodCode PlannedCoverageEntryRelationshipActId PlannedCoverageEntryRelationshipActCode PlannedCoverageEntryRelationshipActCodeP PlannedCoverageEntryRelationshipActStatusCode PlannedCoverageEntryRelationshipActStatusCodeP' moodCode='INT' code.codeSystem='2.16.840.1.113883.3.221.5' code.codeSystemName='Source of Payment Typology (PHDSC)' constraints.validation.dependOn.PlannedCoverageEntryRelationshipActCode='PlannedCoverageEntryRelationshipActCodeP' statusCode.code='active' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='GoalObservationTemplateId GoalObservationClassCode GoalObservationMoodCode GoalObservationId GoalObservationCodeP GoalObservationStatusCode GoalObservationStatusCodeP GoalObservationReferenceTypeCode GoalObservationReferenceExternalDocumentReference' templateId.root='2.16.840.1.113883.10.20.22.4.121' classCode='OBS' moodCode='GOL' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' constraints.validation.warning='GoalObservationCode GoalObservationEffectiveTime GoalObservationAuthorParticipation GoalObservationPriorityPreference' constraints.validation.dependOn.GoalObservationCode='GoalObservationCodeP' statusCode.code='active' constraints.validation.info='GoalObservationValue GoalObservationGoalObservation GoalObservationActReferenceER GoalObservationHealthConcernActER GoalObservationPlannedERs GoalObservationReference' constraints.validation.query='GoalObservationReferenceTypeCode GoalObservationReferenceExternalDocumentReference' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolGoalObservationReference typeCode='REFR' constraints.validation.error='GoalObservationReferenceTypeCode GoalObservationReferenceExternalDocumentReference' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='HealthConcernActTemplateId HealthConcernActClassCode HealthConcernActMoodCode HealthConcernActId HealthConcernActCode HealthConcernActCodeP HealthConcernActStatusCode HealthConcernActStatusCodeP HealthConcernActReferenceTypeCode HealthConcernActReferenceExternalDocumentReference' templateId.root='2.16.840.1.113883.10.20.22.4.132' templateId.extension='2015-08-01' classCode='ACT' moodCode='EVN' code.code='75310-3' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Health Concern' constraints.validation.dependOn.HealthConcernActCode='HealthConcernActCodeP' constraints.validation.info='HealthConcernActEffectiveTime HealthConcernActHealthConcernActErRefr HealthConcernActHealthConcernActErComp HealthConcernActAssessmentScaleObservation HealthConcernActFamilyHistoryOrganizer2 HealthConcernActNutritionAssessment HealthConcernActPregnancyObservation HealthConcernActCaregiverCharacteristics HealthConcernActCulturalAndReligiousObservation HealthConcernActCharacteristicsOfHomeEnvironment HealthConcernActNutritionalStatusObservation HealthConcernActEntryReferenceGeneral HealthConcernActSelfCareActivities HealthConcernActSensoryStatus HealthConcernActLongitudinalCareWoundObservation HealthConcernActPriorityPreference HealthConcernActProblemObservation2 HealthConcernActAllergyObservation2 HealthConcernActMentalStatusObservation2 HealthConcernActSmokingStatusMeaningfulUse2 HealthConcernActEncounterDiagnosis2 HealthConcernActFunctionalStatusObservation2 HealthConcernActHospitalAdmissionDiagnosis2 HealthConcernActPostprocedureDiagnosis2 HealthConcernActPreoperativeDiagnosis2 HealthConcernActReactionObservation2 HealthConcernActResultObservation2 HealthConcernActSocialHistoryObservation2 HealthConcernActSubstanceOrDeviceAllergyObservation2 HealthConcernActTobaccoUse2 HealthConcernActVitalSignObservation2 HealthConcernActProblemObservation2Support HealthConcernActResultOrganizer2 HealthConcernActProblemConcernAct2 HealthConcernActReference' constraints.validation.warning='HealthConcernActAuthorParticipation' constraints.validation.query='HealthConcernActReferenceTypeCode HealthConcernActReferenceExternalDocumentReference' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolHealthConcernActReference typeCode='REFR' constraints.validation.error='HealthConcernActReferenceTypeCode HealthConcernActReferenceExternalDocumentReference' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='InterventionActTemplateId InterventionActClassCode InterventionActMoodCode InterventionActId InterventionActCode InterventionActCodeP InterventionActStatusCode InterventionActStatusCodeP InterventionActReferenceTypeCode InterventionActReferenceExternalDocumentReference' templateId.root='2.16.840.1.113883.10.20.22.4.131' templateId.extension='2015-08-01' classCode='ACT' moodCode='EVN' code.code='362956003' code.codeSystem='2.16.840.1.113883.6.96' code.codeSystemName='SNOMEDCT' code.displayName='procedure / intervention (navigational concept)' constraints.validation.dependOn.InterventionActCode='InterventionActCodeP' statusCode.code='completed' constraints.validation.warning='InterventionActEffectiveTime InterventionActGoalObsEntryReference InterventionActAuthorParticipation' constraints.validation.info='InterventionActInterventionAct InterventionActNutritionRecommendation InterventionActInterventionEntryReference InterventionActAdvanceDirectiveObservation2 InterventionActImmunizationActivity2 InterventionActMedicationActivity2 InterventionActProcedureActivityAct2 InterventionActProcedureActivityObservation2 InterventionActProcedureActivityProcedure2 InterventionActEncounterActivity2 InterventionActNonMedicinalSupplyActivity2 InterventionActInstruction2 InterventionActHandoffCommunicationParticipants InterventionActPlannedInterventionAct InterventionActReference' constraints.validation.query='InterventionActReferenceTypeCode InterventionActReferenceExternalDocumentReference' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolInterventionActReference typeCode='REFR' constraints.validation.error='InterventionActReferenceTypeCode InterventionActReferenceExternalDocumentReference' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ExternalDocumentReferenceTemplateId ExternalDocumentReferenceClassCode ExternalDocumentReferenceMoodCode ExternalDocumentReferenceId ExternalDocumentReferenceCode' templateId.root='2.16.840.1.113883.10.20.22.4.115' classCode='DOCCLIN' moodCode='EVN' constraints.validation.warning='ExternalDocumentReferenceSetId ExternalDocumentReferenceVersionNumber' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='PlannedImmunizationActivityTemplateId PlannedImmunizationActivityClassCode PlannedImmunizationActivityMoodCode PlannedImmunizationActivityMoodCodeP PlannedImmunizationActivityId PlannedImmunizationActivityStatusCode PlannedImmunizationActivityStatusCodeP PlannedImmunizationActivityEffectiveTime PlannedImmunizationActivityRouteCode PlannedImmunizationActivityApproachSiteCode PlannedImmunizationActivityConsumable PlannedImmunizationActivityCETranslation PlannedImmunizationActivityConsumableImmunizationMedicationInformation2 PlannedImmunizationActivityPreconditionTypeCode PlannedImmunizationActivityPreconditionPreconditionForSubstanceAdministration2' templateId.root='2.16.840.1.113883.10.20.22.4.120' classCode='SBADM' constraints.validation.dependOn.PlannedImmunizationActivityMoodCode='PlannedImmunizationActivityMoodCodeP' statusCode.code='active' constraints.validation.info='PlannedImmunizationActivityRepeatNumber PlannedImmunizationActivityRouteCodeP PlannedImmunizationActivityApproachSiteCodeP PlannedImmunizationActivityDoseQuantity PlannedImmunizationActivityPerformer PlannedImmunizationActivityAuthorParticipation PlannedImmunizationActivityPriorityPreference PlannedImmunizationActivityIndication2 PlannedImmunizationActivityInstruction2 PlannedImmunizationActivityPrecondition' routeCode.codeSystem='2.16.840.1.113883.3.26.1.1' routeCode.codeSystemName='NCI Thesaurus' constraints.validation.dependOn.PlannedImmunizationActivityRouteCode='PlannedImmunizationActivityRouteCodeP' approachSiteCode.codeSystem='2.16.840.1.113883.6.96' approachSiteCode.codeSystemName='SNOMEDCT' constraints.validation.dependOn.PlannedImmunizationActivityApproachSiteCode='PlannedImmunizationActivityApproachSiteCodeP' constraints.validation.warning='PlannedImmunizationActivityCETranslationP PlannedImmunizationActivityIVLPQUnit' constraints.validation.query='PlannedImmunizationActivityCETranslationP PlannedImmunizationActivityCETranslation PlannedImmunizationActivityIVLPQUnit PlannedImmunizationActivityConsumableImmunizationMedicationInformation2 PlannedImmunizationActivityPreconditionTypeCode PlannedImmunizationActivityPreconditionPreconditionForSubstanceAdministration2' constraints.validation.dependOn.PlannedImmunizationActivityCETranslation='PlannedImmunizationActivityCETranslationP' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolPlannedImmunizationActivityIVLPQ unit='1' constraints.validation.warning='PlannedImmunizationActivityIVLPQUnit' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolPlannedImmunizationActivityPrecondition typeCode='PRCN' constraints.validation.error='PlannedImmunizationActivityPreconditionTypeCode PlannedImmunizationActivityPreconditionPreconditionForSubstanceAdministration2' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolPlannedImmunizationActivityConsumable constraints.validation.error='PlannedImmunizationActivityConsumableImmunizationMedicationInformation2' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolPlannedImmunizationActivityCE translation.codeSystem='2.16.840.1.113883.6.96' translation.codeSystemName='SNOMEDCT' constraints.validation.error='PlannedImmunizationActivityCETranslation' constraints.validation.warning='PlannedImmunizationActivityCETranslationP' constraints.validation.dependOn.PlannedImmunizationActivityCETranslation='PlannedImmunizationActivityCETranslationP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='PrognosisObservationTemplateId PrognosisObservationClassCode PrognosisObservationMoodCode PrognosisObservationCode PrognosisObservationCodeP PrognosisObservationStatusCode PrognosisObservationStatusCodeP PrognosisObservationEffectiveTime PrognosisObservationValue' templateId.root='2.16.840.1.113883.10.20.22.4.113' classCode='OBS' moodCode='EVN' code.code='75328-5' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Prognosis' constraints.validation.dependOn.PrognosisObservationCode='PrognosisObservationCodeP' statusCode.code='completed' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ProgressTowardGoalObservationTemplateId ProgressTowardGoalObservationClassCode ProgressTowardGoalObservationMoodCode ProgressTowardGoalObservationId ProgressTowardGoalObservationCode ProgressTowardGoalObservationCodeP ProgressTowardGoalObservationStatusCode ProgressTowardGoalObservationStatusCodeP ProgressTowardGoalObservationValue ProgressTowardGoalObservationValueP' templateId.root='2.16.840.1.113883.10.20.22.4.110' classCode='OBS' moodCode='EVN' code.code='ASSERTION' code.codeSystem='2.16.840.1.113883.5.4' code.codeSystemName='HL7ActCode' code.displayName='Assertion' constraints.validation.dependOn.ProgressTowardGoalObservationCode='ProgressTowardGoalObservationCodeP' statusCode.code='completed' value.codeSystem='2.16.840.1.113883.6.96' value.codeSystemName='SNOMEDCT' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='PriorityPreferenceTemplateId PriorityPreferenceClassCode PriorityPreferenceMoodCode PriorityPreferenceId PriorityPreferenceCode PriorityPreferenceCodeP PriorityPreferenceValue PriorityPreferenceValueP' templateId.root='2.16.840.1.113883.10.20.22.4.143' classCode='OBS' moodCode='EVN' code.code='225773000' code.codeSystem='2.16.840.1.113883.6.96' code.codeSystemName='SNOMEDCT' code.displayName='Preference' constraints.validation.dependOn.PriorityPreferenceCode='PriorityPreferenceCodeP' constraints.validation.warning='PriorityPreferenceEffectiveTime PriorityPreferenceAuthorParticipation' value.codeSystem='2.16.840.1.113883.6.96' value.codeSystemName='SNOMEDCT' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='SelfCareActivitiesTemplateId SelfCareActivitiesClassCode SelfCareActivitiesMoodCode SelfCareActivitiesCodeP SelfCareActivitiesStatusCode SelfCareActivitiesStatusCodeP SelfCareActivitiesEffectiveTime SelfCareActivitiesValueP' templateId.root='2.16.840.1.113883.10.20.22.4.128' classCode='OBS' moodCode='EVN' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' constraints.validation.warning='SelfCareActivitiesCode SelfCareActivitiesValue SelfCareActivitiesAuthorParticipation' constraints.validation.dependOn.SelfCareActivitiesCode='SelfCareActivitiesCodeP' statusCode.code='completed' value.codeSystem='2.16.840.1.113883.6.96' value.codeSystemName='SNOMEDCT' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='SensoryStatusTemplateId SensoryStatusClassCode SensoryStatusMoodCode SensoryStatusCodeP SensoryStatusStatusCode SensoryStatusStatusCodeP SensoryStatusEffectiveTime SensoryStatusValueP SensoryStatusIVLTSLow' templateId.root='2.16.840.1.113883.10.20.22.4.127' classCode='OBS' moodCode='EVN' code.codeSystem='2.16.840.1.113883.6.96' code.codeSystemName='SNOMEDCT' constraints.validation.warning='SensoryStatusCode SensoryStatusValue SensoryStatusAuthorParticipation' constraints.validation.dependOn.SensoryStatusCode='SensoryStatusCodeP' statusCode.code='completed' value.codeSystem='2.16.840.1.113883.6.96' value.codeSystemName='SNOMEDCT' constraints.validation.info='SensoryStatusAssessmentScaleObservation SensoryStatusIVLTSHigh' constraints.validation.query='SensoryStatusIVLTSLow SensoryStatusIVLTSHigh' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolSensoryStatusIVLTS constraints.validation.error='SensoryStatusIVLTSLow' constraints.validation.info='SensoryStatusIVLTSHigh' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='SubstanceAdministeredActTemplateId SubstanceAdministeredActClassCode SubstanceAdministeredActMoodCode SubstanceAdministeredActId SubstanceAdministeredActCode SubstanceAdministeredActCodeP SubstanceAdministeredActStatusCode SubstanceAdministeredActStatusCodeP' templateId.root='2.16.840.1.113883.10.20.22.4.118' classCode='ACT' moodCode='EVN' code.code='416118004' code.codeSystem='2.16.840.1.113883.6.96' code.codeSystemName='SNOMEDCT' code.displayName='Administration' constraints.validation.dependOn.SubstanceAdministeredActCode='SubstanceAdministeredActCodeP' statusCode.code='completed' constraints.validation.info='SubstanceAdministeredActEffectiveTime' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='WoundCharacteristicTemplateId WoundCharacteristicClassCode WoundCharacteristicMoodCode WoundCharacteristicId WoundCharacteristicCode WoundCharacteristicCodeP WoundCharacteristicStatusCode WoundCharacteristicStatusCodeP WoundCharacteristicEffectiveTime WoundCharacteristicValue WoundCharacteristicValueP' templateId.root='2.16.840.1.113883.10.20.22.4.134' classCode='OBS' moodCode='EVN' code.code='ASSERTION' code.codeSystem='2.16.840.1.113883.5.4' code.codeSystemName='HL7ActCode' code.displayName='assertion' constraints.validation.dependOn.WoundCharacteristicCode='WoundCharacteristicCodeP' statusCode.code='completed' value.codeSystem='2.16.840.1.113883.6.96' value.codeSystemName='SNOMEDCT' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='WoundMeasurementObservationTemplateId WoundMeasurementObservationClassCode WoundMeasurementObservationMoodCode WoundMeasurementObservationId WoundMeasurementObservationCode WoundMeasurementObservationCodeP WoundMeasurementObservationStatusCode WoundMeasurementObservationStatusCodeP WoundMeasurementObservationEffectiveTime WoundMeasurementObservationValue' templateId.root='2.16.840.1.113883.10.20.22.4.133' classCode='OBS' moodCode='EVN' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' constraints.validation.dependOn.WoundMeasurementObservationCode='WoundMeasurementObservationCodeP' statusCode.code='completed' - - + + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ProblemObservation2TemplateId LongitudinalCareWoundObservationClassCode LongitudinalCareWoundObservationMoodCode LongitudinalCareWoundObservationCode LongitudinalCareWoundObservationCodeP LongitudinalCareWoundObservationValueP LongitudinalCareWoundObservationCDCRCDCode LongitudinalCareWoundObservationCDCRName LongitudinalCareWoundObservationCDCRNameP LongitudinalCareWoundObservationCDCRValue' templateId.root='2.16.840.1.113883.10.20.22.4.114' templateId.extension='2015-08-01' classCode='OBS' moodCode='EVN' code.code='ASSERTION' code.codeSystem='2.16.840.1.113883.5.4' code.codeSystemName='HL7ActCode' code.displayName='assertion' constraints.validation.dependOn.LongitudinalCareWoundObservationCode='LongitudinalCareWoundObservationCodeP' value.codeSystem='2.16.840.1.113883.6.96' value.codeSystemName='SNOMEDCT' constraints.validation.warning='LongitudinalCareWoundObservationValue LongitudinalCareWoundObservationTargetSiteCode LongitudinalCareWoundObservationTargetSiteCodeP LongitudinalCareWoundObservationWoundMeasurementObservation LongitudinalCareWoundObservationWoundCharacteristics LongitudinalCareWoundObservationAuthorParticipation LongitudinalCareWoundObservationCDCRCDValueTerminology' constraints.validation.dependOn.LongitudinalCareWoundObservationValue='LongitudinalCareWoundObservationValueP' targetSiteCode.codeSystem='2.16.840.1.113883.6.96' targetSiteCode.codeSystemName='SNOMEDCT' constraints.validation.info='LongitudinalCareWoundObservationHighestPressureUlcerStage LongitudinalCareWoundObservationNumberOfPressureUlcersObservation2 LongitudinalCareWoundObservationCDQualifier' constraints.validation.query='LongitudinalCareWoundObservationCDCRCDValueTerminology LongitudinalCareWoundObservationCDCRCDCode LongitudinalCareWoundObservationCDCRName LongitudinalCareWoundObservationCDCRNameP LongitudinalCareWoundObservationCDCRValue LongitudinalCareWoundObservationCDQualifier' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolLongitudinalCareWoundObservationCD constraints.validation.info='LongitudinalCareWoundObservationCDQualifier' constraints.validation.warning='CDCRLongitudinalCareWoundObservationCDCRCDValueTerminology' constraints.validation.query='CDCRLongitudinalCareWoundObservationCDCRCDValueTerminology LongitudinalCareWoundObservationCDCRCDCode LongitudinalCareWoundObservationCDCRName LongitudinalCareWoundObservationCDCRNameP LongitudinalCareWoundObservationCDCRValue' constraints.validation.error='LongitudinalCareWoundObservationCDCRCDCode LongitudinalCareWoundObservationCDCRName LongitudinalCareWoundObservationCDCRNameP LongitudinalCareWoundObservationCDCRValue' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolLongitudinalCareWoundObservationCDCR name.code='272741003' name.codeSystemName='' name.displayName='laterality' constraints.validation.error='LongitudinalCareWoundObservationCDCRName LongitudinalCareWoundObservationCDCRNameP LongitudinalCareWoundObservationCDCRValue LongitudinalCareWoundObservationCDCRCDCode' constraints.validation.warning='CRLongitudinalCareWoundObservationCDCRCDValueTerminology' constraints.validation.query='CRLongitudinalCareWoundObservationCDCRCDValueTerminology LongitudinalCareWoundObservationCDCRCDCode' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolLongitudinalCareWoundObservationCDCRCD constraints.validation.warning='LongitudinalCareWoundObservationCDCRCDValueTerminology' constraints.validation.error='LongitudinalCareWoundObservationCDCRCDCode' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='GoalsSectionTemplateId GoalsSectionCode GoalsSectionCodeP GoalsSectionTitle GoalsSectionText GoalsSectionGoalObservation' templateId.root='2.16.840.1.113883.10.20.22.2.60' nullFlavor='NI' constraints.validation.info='GoalsSectionNullFlavor' code.code='61146-7' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Goals' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='HealthConcernsSectionTemplateId HealthConcernsSectionCode HealthConcernsSectionCodeP HealthConcernsSectionTitle HealthConcernsSectionText HealthConcernsSectionHealthConcernAct' templateId.root='2.16.840.1.113883.10.20.22.2.58' templateId.extension='2015-08-01' nullFlavor='NI' constraints.validation.info='HealthConcernsSectionNullFlavor HealthConcernsSectionRiskConcernAct' code.code='75310-3' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Health concerns document' constraints.validation.warning='HealthConcernsSectionHealthStatusObservation2' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='HealthStatusEvaluationsAndOutcomesSectionTemplateId HealthStatusEvaluationsAndOutcomesSectionCode HealthStatusEvaluationsAndOutcomesSectionCodeP HealthStatusEvaluationsAndOutcomesSectionTitle HealthStatusEvaluationsAndOutcomesSectionText HealthStatusEvaluationsAndOutcomesSectionOutcomeObservation' templateId.root='2.16.840.1.113883.10.20.22.2.61' nullFlavor='NI' constraints.validation.info='HealthStatusEvaluationsAndOutcomesSectionNullFlavor' code.code='11383-7' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Patient Problem Outcome' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='MentalStatusSectionTemplateId MentalStatusSectionCode MentalStatusSectionCodeP MentalStatusSectionTitle MentalStatusSectionText' templateId.root='2.16.840.1.113883.10.20.22.2.56' templateId.extension='2015-08-01' code.code='10190-7' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Mental Status' constraints.validation.info='MentalStatusSectionAssessmentScaleObservation MentalStatusSectionMentalStatusOrganizer2 MentalStatusSectionMentalStatusObservation2' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='NutritionSectionTemplateId NutritionSectionCode NutritionSectionCodeP NutritionSectionTitle NutritionSectionText' templateId.root='2.16.840.1.113883.10.20.22.2.57' code.code='61144-2' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Diet and nutrition' constraints.validation.warning='NutritionSectionNutritionalStatusObservation' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='PhysicalFindingsOfSkinSectionTemplateId PhysicalFindingsOfSkinSectionCode PhysicalFindingsOfSkinSectionCodeP PhysicalFindingsOfSkinSectionTitle PhysicalFindingsOfSkinSectionText' templateId.root='2.16.840.1.113883.10.20.22.2.62' code.code='10206-1' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Physical findings of Skin Narrative' constraints.validation.info='PhysicalFindingsOfSkinSectionWoundObservation' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='USRealmHeader2TemplateId USRealmHeader2DocCodesOnly GeneralHeaderConstraintsRealmCode GeneralHeaderConstraintsTitle GeneralHeaderConstraintsRecordTarget GeneralHeaderConstraintsAuthor GeneralHeaderConstraintsCustodian USRealmHeader2RecordTargetPatientRolePatientGuardianCodeTerminology GeneralHeaderConstraintsRecordTargetPatientRolePatientLanguageCommunicationLanguageCodeP GeneralHeaderConstraintsRecordTargetPatientRolePatientLanguageCommunicationLanguageCode GeneralHeaderConstraintsRecordTargetPatientRolePatientTSBirthTimePreciseToYear GeneralHeaderConstraintsRecordTargetPatientRolePatientTSValue GeneralHeaderConstraintsRecordTargetPatientRolePatientBirthplacePlaceHasState GeneralHeaderConstraintsRecordTargetPatientRolePatientBirthplacePlace GeneralHeaderConstraintsRecordTargetPatientRolePatientRaceCode GeneralHeaderConstraintsRecordTargetPatientRolePatientRaceCodeP GeneralHeaderConstraintsRecordTargetPatientRolePatientEthnicGroupCode GeneralHeaderConstraintsRecordTargetPatientRolePatientEthnicGroupCodeP GeneralHeaderConstraintsRecordTargetPatientRolePatientBirthTime USRealmHeader2RecordTargetPatientRolePatientSDTCEthnicGroupCode GeneralHeaderConstraintsRecordTargetPatientRolePatient GeneralHeaderConstraintsRecordTargetPatientRole GeneralHeaderConstraintsDataEntererAssignedEntityCode GeneralHeaderConstraintsDataEntererAssignedEntity GeneralHeaderConstraintsAuthorAssignedAuthorCodeP GeneralHeaderConstraintsAuthorAssignedAuthorCode GeneralHeaderConstraintsAuthorAssignedAuthor GeneralHeaderConstraintsInformationRecipientIntendedRecipient USRealmHeader2InformantAssignedEntityGeneralHeaderConstraintsUSRealmAddressUSRealmAddressStreet USRealmHeader2InformantAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequireStateElement USRealmHeader2InformantAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequirePostalCodeElement USRealmHeader2InformantAssignedEntityGeneralHeaderConstraintsUSRealmAddressUse USRealmHeader2InformantAssignedEntityGeneralHeaderConstraintsUSRealmAddressCity USRealmHeader2InformantAssignedEntityGeneralHeaderConstraintsUSRealmAddressStreetAddressLine GeneralHeaderConstraintsInformantAssignedEntityCode GeneralHeaderConstraintsInformantAssignedEntityAddr GeneralHeaderConstraintsInformantRelatedEntityAddr GeneralHeaderConstraintsInformantRelatedEntityPerson GeneralHeaderConstraintsInformantHasAssignedEntityOrRelatedEntity USRealmHeader2GeneralHeaderConstraintsInformantAssignedEntity USRealmHeader2GeneralHeaderConstraintsInformantRelatedEntity GeneralHeaderConstraintsComponentOfEncompassingEncounter GeneralHeaderConstraintsParticipantSupportAssociatedEntityHasAssociatedPersonOrScopingOrganization GeneralHeaderConstraintsDocumentationOfServiceEventPerformer1AssignedEntity GeneralHeaderConstraintsDocumentationOfServiceEvent' templateId.root='2.16.840.1.113883.10.20.22.1.1' templateId.extension='2015-08-01' constraints.validation.info='GeneralHeaderConstraintsDataEnterer GeneralHeaderConstraintsInformationRecipient GeneralHeaderConstraintsAuthenticator GeneralHeaderConstraintsInformant GeneralHeaderConstraintsInFulfillmentOf GeneralHeaderConstraintsComponentOf GeneralHeaderConstraintsSupportParticipant GeneralHeaderConstraintsDocumentationOf GeneralHeaderConstraintsAuthorization GeneralHeaderConstraintsRecordTargetPatientRolePatientGuardianCodeFromPersonalRelationshipOrResponsibleParty USRealmHeader2RecordTargetPatientRolePatientTSBirthTimePreciseToMinute USRealmHeader2RecordTargetPatientRolePatientSDTCEthnicGroupCodeP GeneralHeaderConstraintsRecordTargetPatientRolePatientGuardian GeneralHeaderConstraintsRecordTargetPatientRolePatientBirthplace GeneralHeaderConstraintsDataEntererAssignedEntityCodeP USRealmHeader2InformationRecipientIntendedRecipientId USRealmHeader2LegalAuthenticatorSDTCSignatureText USRealmHeader2AuthenticatorSDTCSignatureText GeneralHeaderConstraintsInformantAssignedEntityCodeP GeneralHeaderConstraintsDocumentationOfServiceEventPerformer1FunctionCodeP' constraints.validation.warning='GeneralHeaderConstraintsLegalAuthenticator GeneralHeaderConstraintsRecordTargetPatientRolePatientGuardianTELUse GeneralHeaderConstraintsRecordTargetPatientRolePatientGuardianCode GeneralHeaderConstraintsRecordTargetPatientRolePatientGuardianTelecom GeneralHeaderConstraintsRecordTargetPatientRolePatientLanguageCommunicationPreferenceInd GeneralHeaderConstraintsRecordTargetPatientRolePatientTSBirthTimePreciseToDay GeneralHeaderConstraintsRecordTargetPatientRolePatientLanguageCommunication USRealmHeader2AuthorAssignedAuthorIfAssignedPersonThenContainsCode USRealmHeader2AuthorAssignedAuthorCodeTerminology USRealmHeader2InformantAssignedEntityGeneralHeaderConstraintsUSRealmAddressUseP USRealmHeader2InformantAssignedEntityGeneralHeaderConstraintsUSRealmAddressCountry USRealmHeader2InformantAssignedEntityGeneralHeaderConstraintsUSRealmAddressState USRealmHeader2InformantAssignedEntityGeneralHeaderConstraintsUSRealmAddressPostalCode GeneralHeaderConstraintsDocumentationOfServiceEventPerformer1AssignedEntityCodeP GeneralHeaderConstraintsDocumentationOfServiceEventPerformer1AssignedEntityCode GeneralHeaderConstraintsDocumentationOfServiceEventPerformer1FunctionCode GeneralHeaderConstraintsDocumentationOfServiceEventPerformer' constraints.validation.query='GeneralHeaderConstraintsRecordTargetPatientRolePatientGuardianTELUse GeneralHeaderConstraintsRecordTargetPatientRolePatientGuardianCodeFromPersonalRelationshipOrResponsibleParty USRealmHeader2RecordTargetPatientRolePatientGuardianCodeTerminology GeneralHeaderConstraintsRecordTargetPatientRolePatientGuardianCode GeneralHeaderConstraintsRecordTargetPatientRolePatientGuardianTelecom GeneralHeaderConstraintsRecordTargetPatientRolePatientLanguageCommunicationLanguageCodeP GeneralHeaderConstraintsRecordTargetPatientRolePatientLanguageCommunicationLanguageCode GeneralHeaderConstraintsRecordTargetPatientRolePatientLanguageCommunicationPreferenceInd GeneralHeaderConstraintsRecordTargetPatientRolePatientTSBirthTimePreciseToYear GeneralHeaderConstraintsRecordTargetPatientRolePatientTSBirthTimePreciseToDay USRealmHeader2RecordTargetPatientRolePatientTSBirthTimePreciseToMinute GeneralHeaderConstraintsRecordTargetPatientRolePatientTSValue GeneralHeaderConstraintsRecordTargetPatientRolePatientBirthplacePlaceHasState GeneralHeaderConstraintsRecordTargetPatientRolePatientBirthplacePlace GeneralHeaderConstraintsRecordTargetPatientRolePatientRaceCode GeneralHeaderConstraintsRecordTargetPatientRolePatientRaceCodeP GeneralHeaderConstraintsRecordTargetPatientRolePatientEthnicGroupCode GeneralHeaderConstraintsRecordTargetPatientRolePatientEthnicGroupCodeP GeneralHeaderConstraintsRecordTargetPatientRolePatientBirthTime USRealmHeader2RecordTargetPatientRolePatientSDTCEthnicGroupCodeP USRealmHeader2RecordTargetPatientRolePatientSDTCEthnicGroupCode GeneralHeaderConstraintsRecordTargetPatientRolePatientGuardian GeneralHeaderConstraintsRecordTargetPatientRolePatientLanguageCommunication GeneralHeaderConstraintsRecordTargetPatientRolePatientBirthplace GeneralHeaderConstraintsRecordTargetPatientRolePatient GeneralHeaderConstraintsRecordTargetPatientRole GeneralHeaderConstraintsDataEntererAssignedEntityCodeP GeneralHeaderConstraintsDataEntererAssignedEntityCode GeneralHeaderConstraintsDataEntererAssignedEntity USRealmHeader2AuthorAssignedAuthorIfAssignedPersonThenContainsCode USRealmHeader2AuthorAssignedAuthorCodeTerminology GeneralHeaderConstraintsAuthorAssignedAuthorCodeP GeneralHeaderConstraintsAuthorAssignedAuthorCode GeneralHeaderConstraintsAuthorAssignedAuthor USRealmHeader2InformationRecipientIntendedRecipientId GeneralHeaderConstraintsInformationRecipientIntendedRecipient USRealmHeader2LegalAuthenticatorSDTCSignatureText USRealmHeader2AuthenticatorSDTCSignatureText USRealmHeader2InformantAssignedEntityGeneralHeaderConstraintsUSRealmAddressUSRealmAddressStreet USRealmHeader2InformantAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequireStateElement USRealmHeader2InformantAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequirePostalCodeElement USRealmHeader2InformantAssignedEntityGeneralHeaderConstraintsUSRealmAddressUse USRealmHeader2InformantAssignedEntityGeneralHeaderConstraintsUSRealmAddressUseP USRealmHeader2InformantAssignedEntityGeneralHeaderConstraintsUSRealmAddressCountry USRealmHeader2InformantAssignedEntityGeneralHeaderConstraintsUSRealmAddressState USRealmHeader2InformantAssignedEntityGeneralHeaderConstraintsUSRealmAddressCity USRealmHeader2InformantAssignedEntityGeneralHeaderConstraintsUSRealmAddressPostalCode USRealmHeader2InformantAssignedEntityGeneralHeaderConstraintsUSRealmAddressStreetAddressLine GeneralHeaderConstraintsInformantAssignedEntityCodeP GeneralHeaderConstraintsInformantAssignedEntityCode GeneralHeaderConstraintsInformantAssignedEntityAddr GeneralHeaderConstraintsInformantRelatedEntityAddr GeneralHeaderConstraintsInformantRelatedEntityPerson GeneralHeaderConstraintsInformantHasAssignedEntityOrRelatedEntity USRealmHeader2GeneralHeaderConstraintsInformantAssignedEntity USRealmHeader2GeneralHeaderConstraintsInformantRelatedEntity GeneralHeaderConstraintsComponentOfEncompassingEncounter GeneralHeaderConstraintsParticipantSupportAssociatedEntityHasAssociatedPersonOrScopingOrganization GeneralHeaderConstraintsDocumentationOfServiceEventPerformer1AssignedEntityCodeP GeneralHeaderConstraintsDocumentationOfServiceEventPerformer1AssignedEntityCode GeneralHeaderConstraintsDocumentationOfServiceEventPerformer1FunctionCodeP GeneralHeaderConstraintsDocumentationOfServiceEventPerformer1FunctionCode GeneralHeaderConstraintsDocumentationOfServiceEventPerformer1AssignedEntity GeneralHeaderConstraintsDocumentationOfServiceEventPerformer GeneralHeaderConstraintsDocumentationOfServiceEvent' constraints.validation.dependOn.GeneralHeaderConstraintsRecordTargetPatientRolePatientLanguageCommunicationLanguageCode='GeneralHeaderConstraintsRecordTargetPatientRolePatientLanguageCommunicationLanguageCodeP' constraints.validation.dependOn.USRealmHeader2RecordTargetPatientRolePatientSDTCEthnicGroupCode='USRealmHeader2RecordTargetPatientRolePatientSDTCEthnicGroupCodeP' constraints.validation.dependOn.GeneralHeaderConstraintsDataEntererAssignedEntityCode='GeneralHeaderConstraintsDataEntererAssignedEntityCodeP' constraints.validation.dependOn.GeneralHeaderConstraintsAuthorAssignedAuthorCode='GeneralHeaderConstraintsAuthorAssignedAuthorCodeP' constraints.validation.dependOn.GeneralHeaderConstraintsInformantAssignedEntityCode='GeneralHeaderConstraintsInformantAssignedEntityCodeP' constraints.validation.dependOn.GeneralHeaderConstraintsDocumentationOfServiceEventPerformer1AssignedEntityCode='GeneralHeaderConstraintsDocumentationOfServiceEventPerformer1AssignedEntityCodeP' constraints.validation.dependOn.GeneralHeaderConstraintsDocumentationOfServiceEventPerformer1FunctionCode='GeneralHeaderConstraintsDocumentationOfServiceEventPerformer1FunctionCodeP' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolUSRealmHeader2RecordTarget constraints.validation.error='GeneralHeaderConstraintsRecordTargetPatientRole' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolUSRealmHeader2RecordTargetPatientRole constraints.validation.error='GeneralHeaderConstraintsRecordTargetPatientRolePatient' @@ -47206,7 +47206,7 @@ value.code = 'completed') http://www.openhealthtools.org/mdht/uml/cda/annotation/consolUSRealmHeader2DocumentationOfServiceEventPerformer1 functionCode.codeSystem='2.16.840.1.113883.5.88' functionCode.codeSystemName='ParticipationFunction' constraints.validation.warning='GeneralHeaderConstraintsDocumentationOfServiceEventPerformer1FunctionCode' constraints.validation.info='GeneralHeaderConstraintsDocumentationOfServiceEventPerformer1FunctionCodeP' constraints.validation.dependOn.GeneralHeaderConstraintsDocumentationOfServiceEventPerformer1FunctionCode='GeneralHeaderConstraintsDocumentationOfServiceEventPerformer1FunctionCodeP' constraints.validation.error='GeneralHeaderConstraintsDocumentationOfServiceEventPerformer1AssignedEntity' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolUSRealmHeader2DocumentationOfServiceEventPerformer1AssignedEntity code.codeSystem='2.16.840.1.113883.6.101' code.codeSystemName='NUCC Health Care Provider Taxonomy' constraints.validation.warning='GeneralHeaderConstraintsDocumentationOfServiceEventPerformer1AssignedEntityCode GeneralHeaderConstraintsDocumentationOfServiceEventPerformer1AssignedEntityCodeP' constraints.validation.dependOn.GeneralHeaderConstraintsDocumentationOfServiceEventPerformer1AssignedEntityCode='GeneralHeaderConstraintsDocumentationOfServiceEventPerformer1AssignedEntityCodeP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='USRealmHeader2TemplateId CarePlanDoesNotHavePlanOfTreatmentSectionV2 CarePlanCode CarePlanCodeP CarePlanDocumentationOf CarePlanHealthConcernsSection CarePlanGoalsSection CarePlanInformationRecipientIntendedRecipientInformationRecipientGeneralHeaderConstraintsUSRealmPersonNameUSRealmPersonNameMixedContent CarePlanInformationRecipientIntendedRecipientInformationRecipientName CarePlanInformationRecipientIntendedRecipientReceivedOrganizationName CarePlanInformationRecipientIntendedRecipientReceivedOrganizationStandardIndustryClassCode CarePlanInformationRecipientIntendedRecipientId CarePlanInformationRecipientIntendedRecipient CarePlanAuthenticatorAssignedEntityId CarePlanAuthenticatorAssignedEntityCode CarePlanAuthenticatorAssignedEntityCodeP CarePlanAuthenticatorTime CarePlanAuthenticatorSignatureCode CarePlanAuthenticatorAssignedEntity CarePlanParticipantCarePlanReviewAssociatedEntityClassCode CarePlanParticipantCarePlanReviewAssociatedEntityId CarePlanParticipantCarePlanReviewTypeCode CarePlanParticipantCarePlanReviewFunctionCode CarePlanParticipantCarePlanReviewFunctionCodeP CarePlanParticipantCarePlanReviewTime CarePlanParticipantCarePlanReviewAssociatedEntity CarePlanParticipantCaregiverAssociatedEntityAssociatedPersonName CarePlanParticipantCaregiverAssociatedEntityClassCodeP CarePlanParticipantCaregiverAssociatedEntityClassCode CarePlanParticipantCaregiverAssociatedEntityAssociatedPerson CarePlanParticipantCaregiverTypeCode CarePlanParticipantCaregiverAssociatedEntity CarePlanDocumentationOfServiceEventIVLTSLow CarePlanDocumentationOfServiceEventPerformerAssignedEntityAssignedPersonGeneralHeaderConstraintsUSRealmPersonNameUSRealmPersonNameMixedContent CarePlanDocumentationOfServiceEventPerformerAssignedEntityAssignedPersonName CarePlanDocumentationOfServiceEventPerformerAssignedEntityId CarePlanDocumentationOfServiceEventPerformerAssignedEntityAssignedPerson CarePlanDocumentationOfServiceEventPerformerAssignedEntity CarePlanDocumentationOfServiceEventClassCode CarePlanDocumentationOfServiceEventEffectiveTime CarePlanDocumentationOfServiceEventPerformer1 CarePlanDocumentationOfServiceEvent CarePlanRelatedDocumentParentDocumentId CarePlanRelatedDocumentParentDocumentSetId CarePlanRelatedDocumentParentDocumentVersionNumber CarePlanRelatedDocumentTypeCodeP CarePlanRelatedDocumentTypeCode CarePlanRelatedDocumentParentDocument CarePlanComponentOfEncompassingEncounterEffectiveTime CarePlanComponentOfEncompassingEncounter' templateId.root='2.16.840.1.113883.10.20.22.1.15' templateId.extension='2015-08-01' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' constraints.validation.dependOn.CarePlanCode='CarePlanCodeP' constraints.validation.warning='CarePlanSetId CarePlanVersionNumber CarePlanInformationRecipient CarePlanAuthenticator CarePlanParticipantCarePlanReview CarePlanParticipantCaregiver CarePlanComponentOf CarePlanHealthStatusEvaluationsOutcomesSection CarePlanInterventionsSection2 CarePlanInformationRecipientIntendedRecipientReceivedOrganizationId CarePlanInformationRecipientIntendedRecipientReceivedOrganizationStandardIndustryClassCodeP CarePlanInformationRecipientIntendedRecipientAddr CarePlanInformationRecipientIntendedRecipientTelecom CarePlanInformationRecipientIntendedRecipientInformationRecipient CarePlanInformationRecipientIntendedRecipientReceivedOrganization CarePlanParticipantCarePlanReviewAssociatedEntityCodeP CarePlanParticipantCarePlanReviewAssociatedEntityCode' constraints.validation.info='CarePlanRelatedDocument CarePlanAuthenticatorSDTCSignatureText CarePlanDocumentationOfServiceEventIVLTSHigh CarePlanDocumentationOfServiceEventPerformerAssignedEntityCode' constraints.validation.query='CarePlanInformationRecipientIntendedRecipientInformationRecipientGeneralHeaderConstraintsUSRealmPersonNameUSRealmPersonNameMixedContent CarePlanInformationRecipientIntendedRecipientInformationRecipientName CarePlanInformationRecipientIntendedRecipientReceivedOrganizationId CarePlanInformationRecipientIntendedRecipientReceivedOrganizationName CarePlanInformationRecipientIntendedRecipientReceivedOrganizationStandardIndustryClassCodeP CarePlanInformationRecipientIntendedRecipientReceivedOrganizationStandardIndustryClassCode CarePlanInformationRecipientIntendedRecipientId CarePlanInformationRecipientIntendedRecipientAddr CarePlanInformationRecipientIntendedRecipientTelecom CarePlanInformationRecipientIntendedRecipientInformationRecipient CarePlanInformationRecipientIntendedRecipientReceivedOrganization CarePlanInformationRecipientIntendedRecipient CarePlanAuthenticatorAssignedEntityId CarePlanAuthenticatorAssignedEntityCode CarePlanAuthenticatorAssignedEntityCodeP CarePlanAuthenticatorTime CarePlanAuthenticatorSignatureCode CarePlanAuthenticatorSDTCSignatureText CarePlanAuthenticatorAssignedEntity CarePlanParticipantCarePlanReviewAssociatedEntityClassCode CarePlanParticipantCarePlanReviewAssociatedEntityId CarePlanParticipantCarePlanReviewAssociatedEntityCodeP CarePlanParticipantCarePlanReviewAssociatedEntityCode CarePlanParticipantCarePlanReviewTypeCode CarePlanParticipantCarePlanReviewFunctionCode CarePlanParticipantCarePlanReviewFunctionCodeP CarePlanParticipantCarePlanReviewTime CarePlanParticipantCarePlanReviewAssociatedEntity CarePlanParticipantCaregiverAssociatedEntityAssociatedPersonName CarePlanParticipantCaregiverAssociatedEntityClassCodeP CarePlanParticipantCaregiverAssociatedEntityClassCode CarePlanParticipantCaregiverAssociatedEntityAssociatedPerson CarePlanParticipantCaregiverTypeCode CarePlanParticipantCaregiverAssociatedEntity CarePlanDocumentationOfServiceEventIVLTSLow CarePlanDocumentationOfServiceEventIVLTSHigh CarePlanDocumentationOfServiceEventPerformerAssignedEntityAssignedPersonGeneralHeaderConstraintsUSRealmPersonNameUSRealmPersonNameMixedContent CarePlanDocumentationOfServiceEventPerformerAssignedEntityAssignedPersonName CarePlanDocumentationOfServiceEventPerformerAssignedEntityId CarePlanDocumentationOfServiceEventPerformerAssignedEntityCode CarePlanDocumentationOfServiceEventPerformerAssignedEntityAssignedPerson CarePlanDocumentationOfServiceEventPerformerAssignedEntity CarePlanDocumentationOfServiceEventClassCode CarePlanDocumentationOfServiceEventEffectiveTime CarePlanDocumentationOfServiceEventPerformer1 CarePlanDocumentationOfServiceEvent CarePlanRelatedDocumentParentDocumentId CarePlanRelatedDocumentParentDocumentSetId CarePlanRelatedDocumentParentDocumentVersionNumber CarePlanRelatedDocumentTypeCodeP CarePlanRelatedDocumentTypeCode CarePlanRelatedDocumentParentDocument CarePlanComponentOfEncompassingEncounterEffectiveTime CarePlanComponentOfEncompassingEncounter' constraints.validation.dependOn.CarePlanInformationRecipientIntendedRecipientReceivedOrganizationStandardIndustryClassCode='CarePlanInformationRecipientIntendedRecipientReceivedOrganizationStandardIndustryClassCodeP' constraints.validation.dependOn.CarePlanParticipantCarePlanReviewAssociatedEntityCode='CarePlanParticipantCarePlanReviewAssociatedEntityCodeP' constraints.validation.dependOn.CarePlanParticipantCaregiverAssociatedEntityClassCode='CarePlanParticipantCaregiverAssociatedEntityClassCodeP' constraints.validation.dependOn.CarePlanRelatedDocumentTypeCode='CarePlanRelatedDocumentTypeCodeP' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolCarePlanInformationRecipient constraints.validation.error='CarePlanInformationRecipientIntendedRecipient' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolCarePlanInformationRecipientIntendedRecipient constraints.validation.error='CarePlanInformationRecipientIntendedRecipientId' constraints.validation.warning='CarePlanInformationRecipientIntendedRecipientAddr CarePlanInformationRecipientIntendedRecipientTelecom CarePlanInformationRecipientIntendedRecipientInformationRecipient CarePlanInformationRecipientIntendedRecipientReceivedOrganization' @@ -47230,7 +47230,7 @@ value.code = 'completed') http://www.openhealthtools.org/mdht/uml/cda/annotation/consolCarePlanComponentOf constraints.validation.error='CarePlanComponentOfEncompassingEncounter' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolCarePlanComponentOfEncompassingEncounter constraints.validation.error='CarePlanComponentOfEncompassingEncounterEffectiveTime' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='USRealmHeader2TemplateId ReferralNoteHasAnAssementAndPlanSection2OrBothAssementSectionAndPlanOfTreatmentSection2 ReferralNoteDoesNotHaveAssementAndPlanSection2WhenAssementAndPlanOfTreatment2ArePresent ReferralNoteCode ReferralNoteCodeP ReferralNoteInformationRecipient ReferralNoteProblemSection2 ReferralNoteAllergiesSection2 ReferralNoteMedicationsSection2 ReferralNoteReasonForReferralSection2 ReferralNoteInformationRecipientIntendedRecipientPersonName ReferralNoteInformationRecipientIntendedRecipientInformationRecipient ReferralNoteInformationRecipientIntendedRecipient ReferralNoteParticipantCaregiverAssociatedEntityAssociatedPersonGeneralHeaderConstraintsUSRealmPersonNameUSRealmPersonNameMixedContent ReferralNoteParticipantCaregiverAssociatedEntityAssociatedPersonName ReferralNoteParticipantCaregiverAssociatedEntityClassCodeP ReferralNoteParticipantCaregiverAssociatedEntityClassCode ReferralNoteParticipantCaregiverAssociatedEntityAssociatedPerson ReferralNoteParticipantCaregiverTypeCode ReferralNoteParticipantCaregiverAssociatedEntity ReferralNoteParticipantCallbackContactAssociatedEntityAssociatedPersonName ReferralNoteParticipantCallbackContactAssociatedEntityId ReferralNoteParticipantCallbackContactAssociatedEntityTelecom ReferralNoteParticipantCallbackContactAssociatedEntityClassCode ReferralNoteParticipantCallbackContactAssociatedEntityAssociatedPerson ReferralNoteParticipantCallbackContactTypeCode ReferralNoteParticipantCallbackContactAssociatedEntity' templateId.root='2.16.840.1.113883.10.20.22.1.14' templateId.extension='2015-08-01' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' constraints.validation.dependOn.ReferralNoteCode='ReferralNoteCodeP' constraints.validation.warning='ReferralNoteParticipantCaregiver ReferralNoteParticipantCallbackContact ReferralNotePlanOfTreatmentSection2 ReferralNoteResultsSection2 ReferralNoteFunctionalStatusSection2 ReferralNoteNutritionSection ReferralNoteMentalStatusSection ReferralNoteInformationRecipientIntendedRecipientAddr ReferralNoteInformationRecipientIntendedRecipientTelecom ReferralNoteParticipantCallbackContactAssociatedEntityAddr' constraints.validation.info='ReferralNoteAdvanceDirectivesSectionEntriesOptional2 ReferralNoteHistoryOfPresentIllnessSection ReferralNoteImmunizationsSection2 ReferralNoteProceduresSectionEntriesOptional2 ReferralNoteReviewOfSystemsSection ReferralNoteSocialHistorySection2 ReferralNoteVitalSignsSection2 ReferralNotePhysicalExamSection2 ReferralNoteAdvanceDirectivesSectionEntriesOptional2b ReferralNoteMedicalEquipmentSection2 ReferralNoteAssessmentSection ReferralNoteAssessmentAndPlanSection2 ReferralNoteHistoryOfPastIllnessSection2 ReferralNoteGeneralStatusSection ReferralNoteFamilyHistorySection2 ReferralNoteParticipantCallbackContactAssociatedEntityScopingOrganization' constraints.validation.query='ReferralNoteInformationRecipientIntendedRecipientPersonName ReferralNoteInformationRecipientIntendedRecipientAddr ReferralNoteInformationRecipientIntendedRecipientTelecom ReferralNoteInformationRecipientIntendedRecipientInformationRecipient ReferralNoteInformationRecipientIntendedRecipient ReferralNoteParticipantCaregiverAssociatedEntityAssociatedPersonGeneralHeaderConstraintsUSRealmPersonNameUSRealmPersonNameMixedContent ReferralNoteParticipantCaregiverAssociatedEntityAssociatedPersonName ReferralNoteParticipantCaregiverAssociatedEntityClassCodeP ReferralNoteParticipantCaregiverAssociatedEntityClassCode ReferralNoteParticipantCaregiverAssociatedEntityAssociatedPerson ReferralNoteParticipantCaregiverTypeCode ReferralNoteParticipantCaregiverAssociatedEntity ReferralNoteParticipantCallbackContactAssociatedEntityAssociatedPersonName ReferralNoteParticipantCallbackContactAssociatedEntityId ReferralNoteParticipantCallbackContactAssociatedEntityAddr ReferralNoteParticipantCallbackContactAssociatedEntityTelecom ReferralNoteParticipantCallbackContactAssociatedEntityClassCode ReferralNoteParticipantCallbackContactAssociatedEntityAssociatedPerson ReferralNoteParticipantCallbackContactAssociatedEntityScopingOrganization ReferralNoteParticipantCallbackContactTypeCode ReferralNoteParticipantCallbackContactAssociatedEntity' constraints.validation.dependOn.ReferralNoteParticipantCaregiverAssociatedEntityClassCode='ReferralNoteParticipantCaregiverAssociatedEntityClassCodeP' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolReferralNoteInformationRecipient constraints.validation.error='ReferralNoteInformationRecipientIntendedRecipient' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolReferralNoteInformationRecipientIntendedRecipient constraints.validation.warning='ReferralNoteInformationRecipientIntendedRecipientAddr ReferralNoteInformationRecipientIntendedRecipientTelecom' constraints.validation.error='ReferralNoteInformationRecipientIntendedRecipientInformationRecipient' @@ -47242,7 +47242,7 @@ value.code = 'completed') http://www.openhealthtools.org/mdht/uml/cda/annotation/consolReferralNoteParticipantCallbackContactAssociatedEntity constraints.validation.error='ReferralNoteParticipantCallbackContactAssociatedEntityId ReferralNoteParticipantCallbackContactAssociatedEntityTelecom ReferralNoteParticipantCallbackContactAssociatedEntityClassCode ReferralNoteParticipantCallbackContactAssociatedEntityAssociatedPerson' constraints.validation.warning='ReferralNoteParticipantCallbackContactAssociatedEntityAddr' classCode='ASSIGNED' constraints.validation.info='ReferralNoteParticipantCallbackContactAssociatedEntityScopingOrganization' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolReferralNoteParticipantCallbackContactAssociatedEntityAssociatedPerson constraints.validation.error='ReferralNoteParticipantCallbackContactAssociatedEntityAssociatedPersonName' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='USRealmHeader2TemplateId TransferSummaryHasAnAssementAndPlanSection2OrBothAssementSectionAndPlanOfTreatmentSection2 TransferSummaryDoesNotHaveAssementAndPlanSection2WhenAssementAndPlanOfTreatment2ArePresent TransferSummaryCode TransferSummaryCodeP TransferSummaryTitle TransferSummaryDocumentationOf TransferSummaryAllergiesSection2 TransferSummaryMedicationsSection2 TransferSummaryProblemSection2 TransferSummaryResultsSection2 TransferSummaryVitalSignsSection2 TransferSummaryReasonForReferralSection2 TransferSummaryParticipantSupportAssociatedEntityAssociatedPersonName TransferSummaryParticipantSupportAssociatedEntityClassCodeP TransferSummaryParticipantSupportAssociatedEntityClassCode TransferSummaryParticipantSupportAssociatedEntityAssociatedPerson TransferSummaryParticipantSupportTypeCode TransferSummaryParticipantSupportAssociatedEntity TransferSummaryParticipantCallbackContactAssociatedEntityAssociatedPersonName TransferSummaryParticipantCallbackContactAssociatedEntityClassCode TransferSummaryParticipantCallbackContactAssociatedEntityId TransferSummaryParticipantCallbackContactAssociatedEntityTelecom TransferSummaryParticipantCallbackContactAssociatedEntityAssociatedPerson TransferSummaryParticipantCallbackContactTypeCode TransferSummaryParticipantCallbackContactAssociatedEntity TransferSummaryDocumentationOfServiceEventPerformerTypeCode TransferSummaryDocumentationOfServiceEventClassCode TransferSummaryDocumentationOfServiceEventPerformer1 TransferSummaryDocumentationOfServiceEvent' templateId.root='2.16.840.1.113883.10.20.22.1.13' templateId.extension='2015-08-01' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' constraints.validation.dependOn.TransferSummaryCode='TransferSummaryCodeP' constraints.validation.warning='TransferSummaryParticipantSupport TransferSummaryParticipantCallbackContact TransferSummaryAdvanceDirectivesSection2 TransferSummaryFunctionalStatusSection2 TransferSummaryProceduresSection2 TransferSummarySocialHistorySection2 TransferSummaryMentalStatusSection TransferSummaryNutritionSection TransferSummaryHistoryOfPresentIllnessSection TransferSummaryDischargeDiagnosisSection2 TransferSummaryParticipantCallbackContactAssociatedEntityAddr TransferSummaryDocumentationOfServiceEventPerformerFunctionCode' constraints.validation.info='TransferSummaryPhysicalExamSection2 TransferSummaryEncountersSection2 TransferSummaryFamilyHistorySection TransferSummaryImmunizationsSectionEntriesOptional2 TransferSummaryMedicalEquipmentSection2 TransferSummaryPayersSection2 TransferSummaryPlanOfTreatmentSection2 TransferSummaryGeneralStatusSection TransferSummaryReviewOfSystemsSection TransferSummaryHistoryOfPastIllnessSection2 TransferSummaryAssessmentAndPlanSection2 TransferSummaryAssessmentSection TransferSummaryAdmissionMedicationsSectionEntriesOptional2 TransferSummaryAdmissionDiagnosisSection2 TransferSummaryCourseOfCareSection TransferSummaryParticipantCallbackContactAssociatedEntityScopingOrganization TransferSummaryDocumentationOfServiceEventPerformerFunctionCodeP TransferSummaryDocumentationOfServiceEventCode' constraints.validation.query='TransferSummaryParticipantSupportAssociatedEntityAssociatedPersonName TransferSummaryParticipantSupportAssociatedEntityClassCodeP TransferSummaryParticipantSupportAssociatedEntityClassCode TransferSummaryParticipantSupportAssociatedEntityAssociatedPerson TransferSummaryParticipantSupportTypeCode TransferSummaryParticipantSupportAssociatedEntity TransferSummaryParticipantCallbackContactAssociatedEntityAssociatedPersonName TransferSummaryParticipantCallbackContactAssociatedEntityClassCode TransferSummaryParticipantCallbackContactAssociatedEntityId TransferSummaryParticipantCallbackContactAssociatedEntityAddr TransferSummaryParticipantCallbackContactAssociatedEntityTelecom TransferSummaryParticipantCallbackContactAssociatedEntityAssociatedPerson TransferSummaryParticipantCallbackContactAssociatedEntityScopingOrganization TransferSummaryParticipantCallbackContactTypeCode TransferSummaryParticipantCallbackContactAssociatedEntity TransferSummaryDocumentationOfServiceEventPerformerTypeCode TransferSummaryDocumentationOfServiceEventPerformerFunctionCodeP TransferSummaryDocumentationOfServiceEventPerformerFunctionCode TransferSummaryDocumentationOfServiceEventClassCode TransferSummaryDocumentationOfServiceEventCode TransferSummaryDocumentationOfServiceEventPerformer1 TransferSummaryDocumentationOfServiceEvent' constraints.validation.dependOn.TransferSummaryParticipantSupportAssociatedEntityClassCode='TransferSummaryParticipantSupportAssociatedEntityClassCodeP' constraints.validation.dependOn.TransferSummaryDocumentationOfServiceEventPerformerFunctionCode='TransferSummaryDocumentationOfServiceEventPerformerFunctionCodeP' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolTransferSummaryParticipantSupport typeCode='IND' constraints.validation.error='TransferSummaryParticipantSupportTypeCode TransferSummaryParticipantSupportAssociatedEntity' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolTransferSummaryParticipantSupportAssociatedEntity constraints.validation.error='TransferSummaryParticipantSupportAssociatedEntityClassCode TransferSummaryParticipantSupportAssociatedEntityClassCodeP TransferSummaryParticipantSupportAssociatedEntityAssociatedPerson' constraints.validation.dependOn.TransferSummaryParticipantSupportAssociatedEntityClassCode='TransferSummaryParticipantSupportAssociatedEntityClassCodeP' @@ -47254,7 +47254,7 @@ value.code = 'completed') http://www.openhealthtools.org/mdht/uml/cda/annotation/consolTransferSummaryDocumentationOfServiceEvent classCode='PCPR' constraints.validation.error='TransferSummaryDocumentationOfServiceEventClassCode TransferSummaryDocumentationOfServiceEventPerformer1 TransferSummaryDocumentationOfServiceEventPerformerTypeCode' constraints.validation.info='TransferSummaryDocumentationOfServiceEventCode TransferSummaryDocumentationOfServiceEventPerformerFunctionCodeP' constraints.validation.query='TransferSummaryDocumentationOfServiceEventPerformerTypeCode TransferSummaryDocumentationOfServiceEventPerformerFunctionCodeP TransferSummaryDocumentationOfServiceEventPerformerFunctionCode' constraints.validation.warning='TransferSummaryDocumentationOfServiceEventPerformerFunctionCode' constraints.validation.dependOn.TransferSummaryDocumentationOfServiceEventPerformerFunctionCode='TransferSummaryDocumentationOfServiceEventPerformerFunctionCodeP' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolTransferSummaryDocumentationOfServiceEventPerformer typeCode='PRF' constraints.validation.error='TransferSummaryDocumentationOfServiceEventPerformerTypeCode' functionCode.codeSystem='2.16.840.1.113883.6.101' functionCode.codeSystemName='NUCC Health Care Provider Taxonomy' constraints.validation.warning='TransferSummaryDocumentationOfServiceEventPerformerFunctionCode' constraints.validation.info='TransferSummaryDocumentationOfServiceEventPerformerFunctionCodeP' constraints.validation.dependOn.TransferSummaryDocumentationOfServiceEventPerformerFunctionCode='TransferSummaryDocumentationOfServiceEventPerformerFunctionCodeP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='USRealmHeader2TemplateId USRealmHeaderPatientGeneratedDocumentRecordTarget USRealmHeaderPatientGeneratedDocumentAuthor USRealmHeaderPatientGeneratedDocumentCustodian USRealmHeaderPatientGeneratedDocumentRecordTargetPatientRolePatientGuardianCode USRealmHeaderPatientGeneratedDocumentRecordTargetPatientRolePatientIfMoreThanOneLangComm USRealmHeaderPatientGeneratedDocumentRecordTargetPatientRoleId USRealmHeaderPatientGeneratedDocumentRecordTargetPatientRolePatient USRealmHeaderPatientGeneratedDocumentRecordTargetPatientRole USRealmHeaderPatientGeneratedDocumentAuthorAssignedAuthorCECode USRealmHeaderPatientGeneratedDocumentAuthorAssignedAuthorId USRealmHeaderPatientGeneratedDocumentAuthorAssignedAuthor USRealmHeaderPatientGeneratedDocumentDataEntererAssignedEntity USRealmHeaderPatientGeneratedDocumentInformantHasRelatedEntityOrAssignedEntity USRealmHeaderPatientGeneratedDocumentCustodianAssignedCustodianRepresentedCustodianOrganizationId USRealmHeaderPatientGeneratedDocumentCustodianAssignedCustodianRepresentedCustodianOrganization USRealmHeaderPatientGeneratedDocumentCustodianAssignedCustodian USRealmHeaderPatientGeneratedDocumentInformationRecipientIntendedRecipient USRealmHeaderPatientGeneratedDocumentLegalAuthenticatorAssignedEntityId USRealmHeaderPatientGeneratedDocumentLegalAuthenticatorAssignedEntity USRealmHeaderPatientGeneratedDocumentAuthenticatorAssignedEntityId USRealmHeaderPatientGeneratedDocumentAuthenticatorAssignedEntity USRealmHeaderPatientGeneratedDocumentParticipantTypeCode USRealmHeaderPatientGeneratedDocumentParticipantAssociatedEntity USRealmHeaderPatientGeneratedDocumentInFulfillmentOfOrderId USRealmHeaderPatientGeneratedDocumentInFulfillmentOfOrder USRealmHeaderPatientGeneratedDocumentDocumentationOfServiceEventPerformerAssignedEntityId USRealmHeaderPatientGeneratedDocumentDocumentationOfServiceEventPerformerFunctionCode USRealmHeaderPatientGeneratedDocumentDocumentationOfServiceEventPerformerAssignedEntity USRealmHeaderPatientGeneratedDocumentDocumentationOfServiceEvent' templateId.root='2.16.840.1.113883.10.20.29.1' templateId.extension='2015-08-01' constraints.validation.info='USRealmHeaderPatientGeneratedDocumentDataEnterer USRealmHeaderPatientGeneratedDocumentInformant USRealmHeaderPatientGeneratedDocumentInformationRecipient USRealmHeaderPatientGeneratedDocumentLegalAuthenticator USRealmHeaderPatientGeneratedDocumentAuthenticator USRealmHeaderPatientGeneratedDocumentParticipant USRealmHeaderPatientGeneratedDocumentInFulfillmentOf USRealmHeaderPatientGeneratedDocumentDocumentationOf USRealmHeaderPatientGeneratedDocumentRecordTargetPatientRolePatientLanguageCommunicationPreferenceInd USRealmHeaderPatientGeneratedDocumentRecordTargetPatientRolePatientGuardian USRealmHeaderPatientGeneratedDocumentRecordTargetPatientRoleProviderOrganization USRealmHeaderPatientGeneratedDocumentDataEntererAssignedEntityCodeP USRealmHeaderPatientGeneratedDocumentInformantRelatedEntityCodeP USRealmHeaderPatientGeneratedDocumentInformantRelatedEntity USRealmHeaderPatientGeneratedDocumentLegalAuthenticatorAssignedEntityCECode USRealmHeaderPatientGeneratedDocumentLegalAuthenticatorAssignedEntityCode USRealmHeaderPatientGeneratedDocumentDocumentationOfServiceEventPerformerAssignedEntityCodeP USRealmHeaderPatientGeneratedDocumentDocumentationOfServiceEventPerformerFunctionCodeP' constraints.validation.warning='USRealmHeaderPatientGeneratedDocumentRecordTargetPatientRolePatientGuardianId USRealmHeaderPatientGeneratedDocumentRecordTargetPatientRolePatientGuardianCodeP USRealmHeaderPatientGeneratedDocumentRecordTargetPatientRolePatientLanguageCommunication USRealmHeaderPatientGeneratedDocumentAuthorAssignedAuthorCECodeSystemAndTerminology USRealmHeaderPatientGeneratedDocumentAuthorAssignedAuthorCode USRealmHeaderPatientGeneratedDocumentDataEntererAssignedEntityCode USRealmHeaderPatientGeneratedDocumentInformantRelatedEntityCode USRealmHeaderPatientGeneratedDocumentInformationRecipientIntendedRecipientIIRoot USRealmHeaderPatientGeneratedDocumentInformationRecipientIntendedRecipientId USRealmHeaderPatientGeneratedDocumentLegalAuthenticatorAssignedEntityCECodeSystemAndTerminology USRealmHeaderPatientGeneratedDocumentAuthenticatorAssignedEntityCodeP USRealmHeaderPatientGeneratedDocumentAuthenticatorAssignedEntityCode USRealmHeaderPatientGeneratedDocumentParticipantAssociatedEntityCodeP USRealmHeaderPatientGeneratedDocumentParticipantAssociatedEntityCode USRealmHeaderPatientGeneratedDocumentParticipantIfTypeCodeINDThenAEClassCodeFromINDRoleclassCodes USRealmHeaderPatientGeneratedDocumentDocumentationOfServiceEventPerformerAssignedEntityCode USRealmHeaderPatientGeneratedDocumentDocumentationOfServiceEventCode USRealmHeaderPatientGeneratedDocumentDocumentationOfServiceEventPerformer' constraints.validation.query='USRealmHeaderPatientGeneratedDocumentRecordTargetPatientRolePatientGuardianId USRealmHeaderPatientGeneratedDocumentRecordTargetPatientRolePatientGuardianCodeP USRealmHeaderPatientGeneratedDocumentRecordTargetPatientRolePatientGuardianCode USRealmHeaderPatientGeneratedDocumentRecordTargetPatientRolePatientLanguageCommunicationPreferenceInd USRealmHeaderPatientGeneratedDocumentRecordTargetPatientRolePatientIfMoreThanOneLangComm USRealmHeaderPatientGeneratedDocumentRecordTargetPatientRolePatientGuardian USRealmHeaderPatientGeneratedDocumentRecordTargetPatientRolePatientLanguageCommunication USRealmHeaderPatientGeneratedDocumentRecordTargetPatientRoleId USRealmHeaderPatientGeneratedDocumentRecordTargetPatientRolePatient USRealmHeaderPatientGeneratedDocumentRecordTargetPatientRoleProviderOrganization USRealmHeaderPatientGeneratedDocumentRecordTargetPatientRole USRealmHeaderPatientGeneratedDocumentAuthorAssignedAuthorCECodeSystemAndTerminology USRealmHeaderPatientGeneratedDocumentAuthorAssignedAuthorCECode USRealmHeaderPatientGeneratedDocumentAuthorAssignedAuthorId USRealmHeaderPatientGeneratedDocumentAuthorAssignedAuthorCode USRealmHeaderPatientGeneratedDocumentAuthorAssignedAuthor USRealmHeaderPatientGeneratedDocumentDataEntererAssignedEntityCodeP USRealmHeaderPatientGeneratedDocumentDataEntererAssignedEntityCode USRealmHeaderPatientGeneratedDocumentDataEntererAssignedEntity USRealmHeaderPatientGeneratedDocumentInformantRelatedEntityCodeP USRealmHeaderPatientGeneratedDocumentInformantRelatedEntityCode USRealmHeaderPatientGeneratedDocumentInformantHasRelatedEntityOrAssignedEntity USRealmHeaderPatientGeneratedDocumentInformantRelatedEntity USRealmHeaderPatientGeneratedDocumentCustodianAssignedCustodianRepresentedCustodianOrganizationId USRealmHeaderPatientGeneratedDocumentCustodianAssignedCustodianRepresentedCustodianOrganization USRealmHeaderPatientGeneratedDocumentCustodianAssignedCustodian USRealmHeaderPatientGeneratedDocumentInformationRecipientIntendedRecipientIIRoot USRealmHeaderPatientGeneratedDocumentInformationRecipientIntendedRecipientId USRealmHeaderPatientGeneratedDocumentInformationRecipientIntendedRecipient USRealmHeaderPatientGeneratedDocumentLegalAuthenticatorAssignedEntityCECodeSystemAndTerminology USRealmHeaderPatientGeneratedDocumentLegalAuthenticatorAssignedEntityCECode USRealmHeaderPatientGeneratedDocumentLegalAuthenticatorAssignedEntityId USRealmHeaderPatientGeneratedDocumentLegalAuthenticatorAssignedEntityCode USRealmHeaderPatientGeneratedDocumentLegalAuthenticatorAssignedEntity USRealmHeaderPatientGeneratedDocumentAuthenticatorAssignedEntityId USRealmHeaderPatientGeneratedDocumentAuthenticatorAssignedEntityCodeP USRealmHeaderPatientGeneratedDocumentAuthenticatorAssignedEntityCode USRealmHeaderPatientGeneratedDocumentAuthenticatorAssignedEntity USRealmHeaderPatientGeneratedDocumentParticipantAssociatedEntityCodeP USRealmHeaderPatientGeneratedDocumentParticipantAssociatedEntityCode USRealmHeaderPatientGeneratedDocumentParticipantIfTypeCodeINDThenAEClassCodeFromINDRoleclassCodes USRealmHeaderPatientGeneratedDocumentParticipantTypeCode USRealmHeaderPatientGeneratedDocumentParticipantAssociatedEntity USRealmHeaderPatientGeneratedDocumentInFulfillmentOfOrderId USRealmHeaderPatientGeneratedDocumentInFulfillmentOfOrder USRealmHeaderPatientGeneratedDocumentDocumentationOfServiceEventPerformerAssignedEntityId USRealmHeaderPatientGeneratedDocumentDocumentationOfServiceEventPerformerAssignedEntityCodeP USRealmHeaderPatientGeneratedDocumentDocumentationOfServiceEventPerformerAssignedEntityCode USRealmHeaderPatientGeneratedDocumentDocumentationOfServiceEventPerformerFunctionCodeP USRealmHeaderPatientGeneratedDocumentDocumentationOfServiceEventPerformerFunctionCode USRealmHeaderPatientGeneratedDocumentDocumentationOfServiceEventPerformerAssignedEntity USRealmHeaderPatientGeneratedDocumentDocumentationOfServiceEventCode USRealmHeaderPatientGeneratedDocumentDocumentationOfServiceEventPerformer USRealmHeaderPatientGeneratedDocumentDocumentationOfServiceEvent' constraints.validation.dependOn.USRealmHeaderPatientGeneratedDocumentRecordTargetPatientRolePatientGuardianCode='USRealmHeaderPatientGeneratedDocumentRecordTargetPatientRolePatientGuardianCodeP' constraints.validation.dependOn.USRealmHeaderPatientGeneratedDocumentDataEntererAssignedEntityCode='USRealmHeaderPatientGeneratedDocumentDataEntererAssignedEntityCodeP' constraints.validation.dependOn.USRealmHeaderPatientGeneratedDocumentInformantRelatedEntityCode='USRealmHeaderPatientGeneratedDocumentInformantRelatedEntityCodeP' constraints.validation.dependOn.USRealmHeaderPatientGeneratedDocumentAuthenticatorAssignedEntityCode='USRealmHeaderPatientGeneratedDocumentAuthenticatorAssignedEntityCodeP' constraints.validation.dependOn.USRealmHeaderPatientGeneratedDocumentParticipantAssociatedEntityCode='USRealmHeaderPatientGeneratedDocumentParticipantAssociatedEntityCodeP' constraints.validation.dependOn.USRealmHeaderPatientGeneratedDocumentDocumentationOfServiceEventPerformerAssignedEntityCode='USRealmHeaderPatientGeneratedDocumentDocumentationOfServiceEventPerformerAssignedEntityCodeP' constraints.validation.dependOn.USRealmHeaderPatientGeneratedDocumentDocumentationOfServiceEventPerformerFunctionCode='USRealmHeaderPatientGeneratedDocumentDocumentationOfServiceEventPerformerFunctionCodeP' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolUSRealmHeaderPatientGeneratedDocumentRecordTarget constraints.validation.error='USRealmHeaderPatientGeneratedDocumentRecordTargetPatientRole' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolUSRealmHeaderPatientGeneratedDocumentRecordTargetPatientRole constraints.validation.error='USRealmHeaderPatientGeneratedDocumentRecordTargetPatientRoleId USRealmHeaderPatientGeneratedDocumentRecordTargetPatientRolePatient' constraints.validation.info='USRealmHeaderPatientGeneratedDocumentRecordTargetPatientRoleProviderOrganization' @@ -47288,16 +47288,16 @@ value.code = 'completed') http://www.openhealthtools.org/mdht/uml/cda/annotation/consolUSRealmHeaderPatientGeneratedDocumentDocumentationOfServiceEventPerformer functionCode.codeSystem='2.16.840.1.113883.5.90' functionCode.codeSystemName='HL7ParticipationType' constraints.validation.error='USRealmHeaderPatientGeneratedDocumentDocumentationOfServiceEventPerformerFunctionCode USRealmHeaderPatientGeneratedDocumentDocumentationOfServiceEventPerformerAssignedEntity' constraints.validation.info='USRealmHeaderPatientGeneratedDocumentDocumentationOfServiceEventPerformerFunctionCodeP' constraints.validation.dependOn.USRealmHeaderPatientGeneratedDocumentDocumentationOfServiceEventPerformerFunctionCode='USRealmHeaderPatientGeneratedDocumentDocumentationOfServiceEventPerformerFunctionCodeP' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolUSRealmHeaderPatientGeneratedDocumentDocumentationOfServiceEventPerformerAssignedEntity constraints.validation.error='USRealmHeaderPatientGeneratedDocumentDocumentationOfServiceEventPerformerAssignedEntityId' code.codeSystem='2.16.840.1.113883.5.111' code.codeSystemName='RoleCode' constraints.validation.warning='USRealmHeaderPatientGeneratedDocumentDocumentationOfServiceEventPerformerAssignedEntityCode' constraints.validation.info='USRealmHeaderPatientGeneratedDocumentDocumentationOfServiceEventPerformerAssignedEntityCodeP' constraints.validation.dependOn.USRealmHeaderPatientGeneratedDocumentDocumentationOfServiceEventPerformerAssignedEntityCode='USRealmHeaderPatientGeneratedDocumentDocumentationOfServiceEventPerformerAssignedEntityCodeP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='AuthorParticipationTemplateId AuthorParticipationTime AuthorParticipationAssignedAuthor AuthorParticipationAssignedAuthorId' templateId.root='2.16.840.1.113883.10.20.22.4.119' constraints.validation.info='AuthorParticipationAssignedAuthorAssignedPersonName AuthorParticipationAssignedAuthorRepresentedOrganizationId AuthorParticipationAssignedAuthorRepresentedOrganizationName AuthorParticipationAssignedAuthorRepresentedOrganizationTelecom AuthorParticipationAssignedAuthorRepresentedOrganizationAddr AuthorParticipationAssignedAuthorAssignedPerson AuthorParticipationAssignedAuthorRepresentedOrganization' constraints.validation.query='AuthorParticipationAssignedAuthorAssignedPersonName AuthorParticipationAssignedAuthorRepresentedOrganizationId AuthorParticipationAssignedAuthorRepresentedOrganizationName AuthorParticipationAssignedAuthorRepresentedOrganizationTelecom AuthorParticipationAssignedAuthorRepresentedOrganizationAddr AuthorParticipationAssignedAuthorCodeTerminology AuthorParticipationAssignedAuthorId AuthorParticipationAssignedAuthorCode AuthorParticipationAssignedAuthorAssignedPerson AuthorParticipationAssignedAuthorRepresentedOrganization' constraints.validation.warning='AuthorParticipationAssignedAuthorCodeTerminology AuthorParticipationAssignedAuthorCode' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolAuthorParticipationAssignedAuthor constraints.validation.warning='AuthorParticipationAssignedAuthorCodeTerminology AuthorParticipationAssignedAuthorCode' constraints.validation.error='AuthorParticipationAssignedAuthorId' constraints.validation.info='AuthorParticipationAssignedAuthorAssignedPerson AuthorParticipationAssignedAuthorRepresentedOrganization' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolAuthorParticipationAssignedAuthorAssignedPerson constraints.validation.info='AuthorParticipationAssignedAuthorAssignedPersonName' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolAuthorParticipationAssignedAuthorRepresentedOrganization constraints.validation.info='AuthorParticipationAssignedAuthorRepresentedOrganizationId AuthorParticipationAssignedAuthorRepresentedOrganizationName AuthorParticipationAssignedAuthorRepresentedOrganizationTelecom AuthorParticipationAssignedAuthorRepresentedOrganizationAddr' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='AdmissionMedication2TemplateId AdmissionMedicationCode AdmissionMedicationCodeP AdmissionMedicationMedicationActivity' templateId.root='2.16.840.1.113883.10.20.22.4.36' templateId.extension='2014-06-09' constraints.validation.dependOn.AdmissionMedicationCode='AdmissionMedicationCodeP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='AdvanceDirectiveObservation2TemplateId AdvanceDirectiveObservationHasEndingTime AdvanceDirectiveObservationCodeP AdvanceDirectiveObservationEffectiveTime AdvanceDirectiveObservation2Value AdvanceDirectiveObservation2CDTranslation AdvanceDirectiveObservation2CDTranslationP AdvanceDirectiveObservation2IVLTSLow AdvanceDirectiveObservation2IVLTSHigh AdvanceDirectiveObservation2VerifierTemplateId AdvanceDirectiveObservationVerifierParticipantRole AdvanceDirectiveObservationCustodianCustodianRoleCustodianEntityName AdvanceDirectiveObservationCustodianCustodianRolePlayingEntity AdvanceDirectiveObservationCustodianAdvanceDirectiveObservationCustodianRole AdvanceDirectiveObservationReferenceExternalDocumentId AdvanceDirectiveObservationReferenceTypeCode AdvanceDirectiveObservation2AdvanceDirectiveObservationReferenceExternalDocument' templateId.root='2.16.840.1.113883.10.20.22.4.48' templateId.extension='2015-08-01' constraints.validation.info='AdvanceDirectiveObservationHasStartingTime AdvanceDirectiveObservation2VerifierParticipantRolePlayingEntityName AdvanceDirectiveObservation2VerifierParticipantRoleAddr AdvanceDirectiveObservation2VerifierParticipantRolePlayingEntity AdvanceDirectiveObservation2ReferenceAdvanceDirectiveObservationReferenceExternalDocumentTextMediaType AdvanceDirectiveObservation2ReferenceAdvanceDirectiveObservationReferenceExternalDocumentTextReference AdvanceDirectiveObservationReferenceExternalDocumentText' code.codeSystem='2.16.840.1.113883.6.96' code.codeSystemName='SNOMEDCT' constraints.validation.warning='AdvanceDirectiveObservationCode AdvanceDirectiveObservationVerifier AdvanceDirectiveObservationCustodian AdvanceDirectiveObservationReference AdvanceDirectiveObservation2AuthorParticipation AdvanceDirectiveObservation2VerifierParticipantRoleCodeP AdvanceDirectiveObservation2VerifierParticipantRoleCode AdvanceDirectiveObservationVerifierTime AdvanceDirectiveObservation2CustodianCustodianRoleCustodianEntityCodeP AdvanceDirectiveObservation2CustodianCustodianRoleCustodianEntityCode AdvanceDirectiveObservation2CustodianCustodianRoleCodeP AdvanceDirectiveObservation2CustodianCustodianRoleCode AdvanceDirectiveObservationCustodianCustodianRoleAddr AdvanceDirectiveObservationCustodianCustodianRoleTelecom' constraints.validation.dependOn.AdvanceDirectiveObservationCode='AdvanceDirectiveObservationCodeP' constraints.validation.query='AdvanceDirectiveObservation2CDTranslation AdvanceDirectiveObservation2CDTranslationP AdvanceDirectiveObservation2IVLTSLow AdvanceDirectiveObservation2IVLTSHigh AdvanceDirectiveObservation2VerifierParticipantRolePlayingEntityName AdvanceDirectiveObservation2VerifierParticipantRoleCodeP AdvanceDirectiveObservation2VerifierParticipantRoleCode AdvanceDirectiveObservation2VerifierParticipantRoleAddr AdvanceDirectiveObservation2VerifierParticipantRolePlayingEntity AdvanceDirectiveObservation2VerifierTemplateId AdvanceDirectiveObservationVerifierTime AdvanceDirectiveObservationVerifierParticipantRole AdvanceDirectiveObservation2CustodianCustodianRoleCustodianEntityCodeP AdvanceDirectiveObservation2CustodianCustodianRoleCustodianEntityCode AdvanceDirectiveObservationCustodianCustodianRoleCustodianEntityName AdvanceDirectiveObservation2CustodianCustodianRoleCodeP AdvanceDirectiveObservation2CustodianCustodianRoleCode AdvanceDirectiveObservationCustodianCustodianRoleAddr AdvanceDirectiveObservationCustodianCustodianRoleTelecom AdvanceDirectiveObservationCustodianCustodianRolePlayingEntity AdvanceDirectiveObservationCustodianAdvanceDirectiveObservationCustodianRole AdvanceDirectiveObservation2ReferenceAdvanceDirectiveObservationReferenceExternalDocumentTextMediaType AdvanceDirectiveObservation2ReferenceAdvanceDirectiveObservationReferenceExternalDocumentTextReference AdvanceDirectiveObservationReferenceExternalDocumentId AdvanceDirectiveObservationReferenceExternalDocumentText AdvanceDirectiveObservationReferenceTypeCode AdvanceDirectiveObservation2AdvanceDirectiveObservationReferenceExternalDocument' constraints.validation.dependOn.AdvanceDirectiveObservation2VerifierParticipantRoleCode='AdvanceDirectiveObservation2VerifierParticipantRoleCodeP' constraints.validation.dependOn.AdvanceDirectiveObservation2CustodianCustodianRoleCustodianEntityCode='AdvanceDirectiveObservation2CustodianCustodianRoleCustodianEntityCodeP' constraints.validation.dependOn.AdvanceDirectiveObservation2CustodianCustodianRoleCode='AdvanceDirectiveObservation2CustodianCustodianRoleCodeP' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolAdvanceDirectiveObservation2IVLTS constraints.validation.error='AdvanceDirectiveObservation2IVLTSLow AdvanceDirectiveObservation2IVLTSHigh' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolAdvanceDirectiveObservation2Custodian constraints.validation.error='AdvanceDirectiveObservationCustodianAdvanceDirectiveObservationCustodianRole' @@ -47308,11 +47308,11 @@ value.code = 'completed') http://www.openhealthtools.org/mdht/uml/cda/annotation/consolAdvanceDirectiveObservation2VerifierParticipantRolePlayingEntity constraints.validation.info='AdvanceDirectiveObservation2VerifierParticipantRolePlayingEntityName' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolAdvanceDirectiveObservation2CD translation.code='75320-2' translation.codeSystem='2.16.840.1.113883.6.1' translation.codeSystemName='LOINC' translation.displayName='Advance directive' constraints.validation.error='AdvanceDirectiveObservation2CDTranslation AdvanceDirectiveObservation2CDTranslationP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='AllergyConcernAct2TemplateId AllergyProblemActCode AllergyProblemActAllergyObservation AllergyProblemActCDCodeAndCodeSystemValues AllergyProblemActCDCode AllergyProblemActCDCodeSystem' templateId.root='2.16.840.1.113883.10.20.22.4.30' templateId.extension='2015-08-01' constraints.validation.warning='AllergyConcernAct2AuthorParticipation' constraints.validation.query='AllergyProblemActCDCodeAndCodeSystemValues AllergyProblemActCDCode AllergyProblemActCDCodeSystem' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolAllergyConcernAct2CD constraints.validation.error='AllergyProblemActCDCodeAndCodeSystemValues AllergyProblemActCDCode AllergyProblemActCDCodeSystem' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='AllergyObservation2TemplateId SubstanceOrDeviceAllergyObservationReactionInversionIndicator AllergyObservationCode AllergyObservationCodeP AllergyObservationValue AllergyObservationValueP AllergyObservationStatusCode AllergyObservationStatusCodeP AllergyObservationEffectiveTime AllergyObservationAllergyStatusObservation AllergyObservationParticipant AllergyObservation2IVLTSLow AllergyObservationParticipantParticipantRolePlayingEntityCEOriginalText AllergyObservationParticipantParticipantRolePlayingEntityCETranslation AllergyObservationParticipantParticipantRolePlayingEntityCode AllergyObservationParticipantParticipantRolePlayingEntity AllergyObservationParticipantParticipantRole' templateId.root='2.16.840.1.113883.10.20.22.4.7' templateId.extension='2014-06-09' constraints.validation.info='AllergyObservationValueOriginalText AllergyObservationOriginalTextReference AllergyObservationOriginalTextReferenceValue AllergyObservationReferenceValue SubstanceOrDeviceAllergyObservationAllergyStatusInversionIndicator AllergyObservation2NegationInd AllergyObservation2IVLTSHigh AllergyObservationParticipantParticipantRolePlayingEntityOriginalTextReferenceValue AllergyObservationParticipantParticipantRolePlayingEntityAllergySpecificMedication AllergyObservationParticipantParticipantRolePlayingEntityAllergyClassMedication AllergyObservationParticipantParticipantRolePlayingEntityAllergyFoodOtherSubstance AllergyObservationParticipantParticipantRolePlayingEntityReferenceValue AllergyObservationParticipantParticipantRolePlayingEntityOriginalTextReference' constraints.validation.warning='SubstanceOrDeviceAllergyObservationSeverityInversionIndicator AllergyObservation2CriticalityInversionIndicator AllergyObservation2AuthorParticipation AllergyObservationReactionObservation AllergyObservationSeverityObservation AllergyObservation2CriticalityObservation' constraints.validation.dependOn.AllergyObservationCode='AllergyObservationCodeP' value.codeSystem='2.16.840.1.113883.6.96' value.codeSystemName='SNOMEDCT' constraints.validation.dependOn.AllergyObservationValue='AllergyObservationValueP' constraints.validation.dependOn.AllergyObservationStatusCode='AllergyObservationStatusCodeP' constraints.validation.query='AllergyObservation2IVLTSLow AllergyObservation2IVLTSHigh AllergyObservationParticipantParticipantRolePlayingEntityCEOriginalText AllergyObservationParticipantParticipantRolePlayingEntityCETranslation AllergyObservationParticipantParticipantRolePlayingEntityOriginalTextReferenceValue AllergyObservationParticipantParticipantRolePlayingEntityAllergySpecificMedication AllergyObservationParticipantParticipantRolePlayingEntityAllergyClassMedication AllergyObservationParticipantParticipantRolePlayingEntityAllergyFoodOtherSubstance AllergyObservationParticipantParticipantRolePlayingEntityReferenceValue AllergyObservationParticipantParticipantRolePlayingEntityOriginalTextReference AllergyObservationParticipantParticipantRolePlayingEntityCode AllergyObservationParticipantParticipantRolePlayingEntity AllergyObservationParticipantParticipantRole' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolAllergyObservation2IVLTS constraints.validation.error='AllergyObservation2IVLTSLow' constraints.validation.info='AllergyObservation2IVLTSHigh' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolAllergyObservation2Participant constraints.validation.error='AllergyObservationParticipantParticipantRole' @@ -47320,118 +47320,118 @@ value.code = 'completed') http://www.openhealthtools.org/mdht/uml/cda/annotation/consolAllergyObservation2ParticipantParticipantRolePlayingEntity constraints.validation.info='AllergyObservationParticipantParticipantRolePlayingEntityOriginalTextReferenceValue AllergyObservationParticipantParticipantRolePlayingEntityAllergySpecificMedication AllergyObservationParticipantParticipantRolePlayingEntityAllergyClassMedication AllergyObservationParticipantParticipantRolePlayingEntityAllergyFoodOtherSubstance AllergyObservationParticipantParticipantRolePlayingEntityReferenceValue AllergyObservationParticipantParticipantRolePlayingEntityOriginalTextReference' constraints.validation.error='AllergyObservationParticipantParticipantRolePlayingEntityCode AllergyObservationParticipantParticipantRolePlayingEntityCEOriginalText AllergyObservationParticipantParticipantRolePlayingEntityCETranslation' constraints.validation.query='AllergyObservationParticipantParticipantRolePlayingEntityCEOriginalText AllergyObservationParticipantParticipantRolePlayingEntityCETranslation' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolAllergyObservation2ParticipantParticipantRolePlayingEntityCE constraints.validation.error='AllergyObservationParticipantParticipantRolePlayingEntityCEOriginalText AllergyObservationParticipantParticipantRolePlayingEntityCETranslation' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='MentalStatusOrganizer2TemplateId MentalStatusOrganizer2HasCodeOrEffectiveTime ResultOrganizerCode ResultOrganizerResultObservation MentalStatusOrganizer2CDCode' templateId.root='2.16.840.1.113883.10.20.22.4.75' templateId.extension='2015-08-01' constraints.validation.warning='CognitiveStatusResultOrganizerCodeCodeSystem MentalStatusOrganizer2EffectiveTime' constraints.validation.query='MentalStatusOrganizer2CDCode' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolMentalStatusOrganizer2CD constraints.validation.error='MentalStatusOrganizer2CDCode' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='CoverageActivity2TemplateId CoverageActivityCode CoverageActivityCodeP CoverageActivityPolicyActivity CoverageActivity2EntryRelationship CoverageActivity2EntryRelationshipINTValue CoverageActivity2EntryRelationshipTypeCode CoverageActivity2EntryRelationshipPolicyActivity2' templateId.root='2.16.840.1.113883.10.20.22.4.60' templateId.extension='2015-08-01' constraints.validation.info='CoverageActivityCoverageActivityRelationshipSequenceNumber CoverageActivity2EntryRelationshipSequenceNumber' constraints.validation.dependOn.CoverageActivityCode='CoverageActivityCodeP' constraints.validation.query='CoverageActivity2EntryRelationshipINTValue CoverageActivity2EntryRelationshipTypeCode CoverageActivity2EntryRelationshipSequenceNumber CoverageActivity2EntryRelationshipPolicyActivity2' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolCoverageActivity2EntryRelationship typeCode='COMP' constraints.validation.error='CoverageActivity2EntryRelationshipTypeCode CoverageActivity2EntryRelationshipPolicyActivity2 CoverageActivity2EntryRelationshipINTValue' constraints.validation.info='CoverageActivity2EntryRelationshipSequenceNumber' constraints.validation.query='CoverageActivity2EntryRelationshipINTValue' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolCoverageActivity2EntryRelationshipINT constraints.validation.error='CoverageActivity2EntryRelationshipINTValue' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='SmokingStatusMeaningfulUse2TemplateId SmokingStatusMeaningfulUse2Id SmokingStatusObservationCode SmokingStatusObservationCodeP SmokingStatusObservationValue SmokingStatusObservationValueP SmokingStatusObservationEffectiveTime SmokingStatusObservationIVLTSCenter SmokingStatusObservationIVLTSHigh SmokingStatusObservationIVLTSLow SmokingStatusObservationIVLTSWidth' templateId.root='2.16.840.1.113883.10.20.22.4.78' templateId.extension='2014-06-09' code.code='72166-2' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Tobacco smoking status NHIS' constraints.validation.dependOn.SmokingStatusObservationCode='SmokingStatusObservationCodeP' value.codeSystem='2.16.840.1.113883.6.96' value.codeSystemName='SNOMEDCT' constraints.validation.dependOn.SmokingStatusObservationValue='SmokingStatusObservationValueP' constraints.validation.warning='SmokingStatusMeaningfulUse2AuthorParticipation' constraints.validation.info='SmokingStatusMeaningfulUse2CDCodeTermAssertionOrLoinc' constraints.validation.query='SmokingStatusMeaningfulUse2CDCodeTermAssertionOrLoinc SmokingStatusObservationIVLTSCenter SmokingStatusObservationIVLTSHigh SmokingStatusObservationIVLTSLow SmokingStatusObservationIVLTSWidth' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolSmokingStatusMeaningfulUse2IVLTS constraints.validation.error='SmokingStatusObservationIVLTSCenter SmokingStatusObservationIVLTSHigh SmokingStatusObservationIVLTSLow SmokingStatusObservationIVLTSWidth' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolSmokingStatusMeaningfulUse2CD constraints.validation.info='SmokingStatusMeaningfulUse2CDCodeTermAssertionOrLoinc' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='DeceasedObservation2TemplateId DeceasedObservationCode DeceasedObservationCodeP' templateId.root='2.16.840.1.113883.10.20.22.4.79' templateId.extension='2015-08-01' constraints.validation.dependOn.DeceasedObservationCode='DeceasedObservationCodeP' constraints.validation.warning='DeceasedObservationProblemObservation' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='DischargeMedication2TemplateId DischargeMedicationCode DischargeMedicationCodeP DischargeMedication2StatusCode DischargeMedication2StatusCodeP DischargeMedicationMedicationActivity DischargeMedication2CDTranslation DischargeMedication2CDTranslationP' templateId.root='2.16.840.1.113883.10.20.22.4.35' templateId.extension='2016-03-01' constraints.validation.dependOn.DischargeMedicationCode='DischargeMedicationCodeP' statusCode.code='completed' constraints.validation.query='DischargeMedication2CDTranslation DischargeMedication2CDTranslationP' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolDischargeMedication2CD translation.code='75311-1' translation.codeSystem='2.16.840.1.113883.6.1' translation.codeSystemName='LOINC' translation.displayName='Discharge medication' constraints.validation.error='DischargeMedication2CDTranslation DischargeMedication2CDTranslationP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='EncounterActivity2TemplateId EncounterActivitiesCodeP EncounterActivitiesEncounterPerformerEncounterPerformerAssignedEntity' templateId.root='2.16.840.1.113883.10.20.22.4.49' templateId.extension='2015-08-01' constraints.validation.warning='EncounterActivitiesSdtcDDCFromNUBCOrDD EncounterActivitiesCode EncounterActivitiesServiceDeliveryLocation EncounterActivitiesEncounterPerformerEncounterPerformerAssignedEntityCode' code.codeSystem='2.16.840.1.113883.6.12' code.codeSystemName='CPT-4' constraints.validation.info='EncounterActivitiesSDTCDischargeDispositionCode EncounterActivitiesIndication EncounterActivitiesEncounterDiagnosis EncounterActivitiesEncounterPerformer EncounterActivity2CDTranslation EncounterActivitiesEncounterPerformerEncounterPerformerAssignedEntityCodeP' constraints.validation.query='EncounterActivity2CDTranslation EncounterActivitiesEncounterPerformerEncounterPerformerAssignedEntityCodeP EncounterActivitiesEncounterPerformerEncounterPerformerAssignedEntityCode EncounterActivitiesEncounterPerformerEncounterPerformerAssignedEntity' constraints.validation.dependOn.EncounterActivitiesEncounterPerformerEncounterPerformerAssignedEntityCode='EncounterActivitiesEncounterPerformerEncounterPerformerAssignedEntityCodeP' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolEncounterActivity2EncounterPerformer constraints.validation.error='EncounterActivitiesEncounterPerformerEncounterPerformerAssignedEntity' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolEncounterActivity2EncounterPerformerEncounterPerformerAssignedEntity code.codeSystem='2.16.840.1.113883.6.101' code.codeSystemName='NUCC Health Care Provider Taxonomy' constraints.validation.warning='EncounterActivitiesEncounterPerformerEncounterPerformerAssignedEntityCode' constraints.validation.info='EncounterActivitiesEncounterPerformerEncounterPerformerAssignedEntityCodeP' constraints.validation.dependOn.EncounterActivitiesEncounterPerformerEncounterPerformerAssignedEntityCode='EncounterActivitiesEncounterPerformerEncounterPerformerAssignedEntityCodeP' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolEncounterActivity2CD constraints.validation.info='EncounterActivity2CDTranslation' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='EncounterDiagnosis2TemplateId EncounterDiagnosisCode EncounterDiagnosisCodeP EncounterDiagnosisProblemObservation' templateId.root='2.16.840.1.113883.10.20.22.4.80' templateId.extension='2015-08-01' constraints.validation.dependOn.EncounterDiagnosisCode='EncounterDiagnosisCodeP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='FunctionalStatusObservation2TemplateId ResultObservationCode ResultObservationCodeP ResultObservationText ResultObservationInterpretationCode ResultObservationMethodCode ResultObservationTargetSiteCode FunctionalStatusResultObservationAuthor FunctionalStatusResultObservationReferenceRangeObservationRange' templateId.root='2.16.840.1.113883.10.20.22.4.67' templateId.extension='2014-06-09' constraints.validation.info='ResultObservationTextReference ResultObservationTextReferenceValue FunctionalStatusResultObservationReferenceRange FunctionalStatusResultObservationNonMedicinalSupplyActivity FunctionalStatusResultObservationReferenceRangeObservationRangeNoCode' code.code='54522-8' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Functional status' constraints.validation.dependOn.ResultObservationCode='ResultObservationCodeP' constraints.validation.warning='FunctionalStatusObservation2AuthorParticipation' constraints.validation.query='FunctionalStatusResultObservationReferenceRangeObservationRangeNoCode FunctionalStatusResultObservationReferenceRangeObservationRange' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolFunctionalStatusObservation2ReferenceRange constraints.validation.error='FunctionalStatusResultObservationReferenceRangeObservationRange' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolFunctionalStatusObservation2ReferenceRangeObservationRange constraints.validation.info='FunctionalStatusResultObservationReferenceRangeObservationRangeNoCode' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='SubstanceOrDeviceAllergyObservationTemplateId SubstanceOrDeviceAllergyObservationAllergyStatusInversionIndicator SubstanceOrDeviceAllergyObservationReactionInversionIndicator SubstanceOrDeviceAllergyObservationSeverityInversionIndicator SubstanceOrDeviceAllergyObservationClassCode SubstanceOrDeviceAllergyObservationMoodCode SubstanceOrDeviceAllergyObservationId SubstanceOrDeviceAllergyObservationCode SubstanceOrDeviceAllergyObservationCodeP SubstanceOrDeviceAllergyObservationStatusCode SubstanceOrDeviceAllergyObservationStatusCodeP SubstanceOrDeviceAllergyObservationEffectiveTime SubstanceOrDeviceAllergyObservationValue SubstanceOrDeviceAllergyObservationValueP SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityOriginalTextReferenceValue SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityClassCode SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityCode SubstanceOrDeviceAllergyObservationParticipantParticipantRoleClassCode SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntity SubstanceOrDeviceAllergyObservationParticipantTypeCode SubstanceOrDeviceAllergyObservationParticipantParticipantRole' templateId.root='2.16.840.1.113883.10.20.24.3.90' classCode='OBS' moodCode='EVN' code.code='ASSERTION' code.codeSystem='2.16.840.1.113883.5.4' code.codeSystemName='HL7ActCode' code.displayName='Assertion' constraints.validation.dependOn.SubstanceOrDeviceAllergyObservationCode='SubstanceOrDeviceAllergyObservationCodeP' statusCode.code='completed' value.codeSystem='2.16.840.1.113883.6.96' value.codeSystemName='SNOMEDCT' constraints.validation.info='SubstanceOrDeviceAllergyObservationAllergyStatusObservation SubstanceOrDeviceAllergyObservationSeverityObservation SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityCETranslation SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityCodeTerminologyValueSetGroupSRFI' constraints.validation.warning='SubstanceOrDeviceAllergyObservationReactionObservation SubstanceOrDeviceAllergyObservationParticipant SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityCEOriginalText SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityReferenceValue SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityOriginalTextReference' constraints.validation.query='SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityCEOriginalText SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityCETranslation SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityOriginalTextReferenceValue SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityReferenceValue SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityOriginalTextReference SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityCodeTerminologyValueSetGroupSRFI SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityClassCode SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityCode SubstanceOrDeviceAllergyObservationParticipantParticipantRoleClassCode SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntity SubstanceOrDeviceAllergyObservationParticipantTypeCode SubstanceOrDeviceAllergyObservationParticipantParticipantRole' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolSubstanceOrDeviceAllergyObservationParticipant typeCode='CSM' constraints.validation.error='SubstanceOrDeviceAllergyObservationParticipantTypeCode SubstanceOrDeviceAllergyObservationParticipantParticipantRole' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolSubstanceOrDeviceAllergyObservationParticipantParticipantRole classCode='MANU' constraints.validation.error='SubstanceOrDeviceAllergyObservationParticipantParticipantRoleClassCode SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntity' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolSubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntity constraints.validation.error='SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityOriginalTextReferenceValue SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityClassCode SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityCode' constraints.validation.warning='SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityReferenceValue SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityOriginalTextReference PlayingEntitySubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityCEOriginalText' constraints.validation.info='SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityCodeTerminologyValueSetGroupSRFI PlayingEntitySubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityCETranslation' classCode='MMAT' constraints.validation.query='PlayingEntitySubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityCEOriginalText PlayingEntitySubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityCETranslation' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolSubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityCE constraints.validation.warning='SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityCEOriginalText' constraints.validation.info='SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityCETranslation' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='FunctionalStatusOrganizer2TemplateId ResultOrganizerCode ResultOrganizerStatusCode ResultOrganizerStatusCodeP FunctionalStatusResultOrganizerFunctionalStatusResultObservation FunctionalStatusOrganizer2SelfCareActivities' templateId.root='2.16.840.1.113883.10.20.22.4.66' templateId.extension='2014-06-09' constraints.validation.warning='ResultOrganizerCodeValue FunctionalStatusOrganizer2AuthorParticipation' constraints.validation.dependOn.ResultOrganizerStatusCode='ResultOrganizerStatusCodeP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='HealthStatusObservation2TemplateId HealthStatusObservation2Id HealthStatusObservationCode HealthStatusObservationCodeP HealthStatusObservationText HealthStatusObservationStatusCode HealthStatusObservationStatusCodeP' templateId.root='2.16.840.1.113883.10.20.22.4.5' templateId.extension='2014-06-09' constraints.validation.info='HealthStatusObservationHasTextReference HealthStatusObservationTextReferenceValue HealthStatusObservationHasTextReferenceValue' constraints.validation.dependOn.HealthStatusObservationCode='HealthStatusObservationCodeP' constraints.validation.dependOn.HealthStatusObservationStatusCode='HealthStatusObservationStatusCodeP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='HospitalAdmissionDiagnosis2TemplateId HospitalAdmissionDiagnosisCode HospitalAdmissionDiagnosisCodeP HospitalAdmissionDiagnosisProblemObservation' templateId.root='2.16.840.1.113883.10.20.22.4.34' templateId.extension='2015-08-01' constraints.validation.dependOn.HospitalAdmissionDiagnosisCode='HospitalAdmissionDiagnosisCodeP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='HospitalDischargeDiagnosis2TemplateId HospitalDischargeDiagnosisCode HospitalDischargeDiagnosisCodeP HospitalDischargeDiagnosisProblemObservation' templateId.root='2.16.840.1.113883.10.20.22.4.33' templateId.extension='2015-08-01' constraints.validation.dependOn.HospitalDischargeDiagnosisCode='HospitalDischargeDiagnosisCodeP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ImmunizationActivity2TemplateId ImmunizationActivityInstructionInversion ImmunizationActivityStatusCode ImmunizationActivityStatusCodeP ImmunizationActivityAdministrationUnitCode ImmunizationActivityText ImmunizationActivityRouteCode ImmunizationActivityConsumable ImmunizationActivityConsumableImmunizationMedicationInformation ImmunizationActivityPreconditionTypeCode ImmunizationActivityPreconditionPreconditionForSubstanceAdministration ImmunizationActivity2CETranslation' templateId.root='2.16.840.1.113883.10.20.22.4.52' templateId.extension='2015-08-01' constraints.validation.info='ImmunizationActivityTextReference ImmunizationActivityReferenceValue ImmunizationActivityTextReferenceValue ImmunizationActivityCode ImmunizationActivityRepeatNumber ImmunizationActivityAdministrationUnitCodeP ImmunizationActivityRouteCodeP ImmunizationActivityDrugVehicle ImmunizationActivityIndication ImmunizationActivityMedicationSupplyOrder ImmunizationActivityMedicationDispense ImmunizationActivityReactionObservation ImmunizationActivityInstructions ImmunizationActivityPrecondition ImmunizationActivity2EntryRelationshipSequenceNumber' constraints.validation.dependOn.ImmunizationActivityStatusCode='ImmunizationActivityStatusCodeP' administrationUnitCode.codeSystem='2.16.840.1.113883.5.85' administrationUnitCode.codeSystemName='orderableDrugForm' constraints.validation.dependOn.ImmunizationActivityAdministrationUnitCode='ImmunizationActivityAdministrationUnitCodeP' routeCode.codeSystem='2.16.840.1.113883.3.26.1.1' routeCode.codeSystemName='NCI Thesaurus' constraints.validation.dependOn.ImmunizationActivityRouteCode='ImmunizationActivityRouteCodeP' constraints.validation.warning='ImmunizationActivity2AuthorParticipation ImmunizationActivity2EntryRelationshipForSubAdminAct ImmunizationActivity2EntryRelationshipTypeCode ImmunizationActivity2EntryRelationshipInversionInd ImmunizationActivity2EntryRelationshipSubstanceAdministeredAct ImmunizationActivity2CETranslationP' constraints.validation.query='ImmunizationActivity2EntryRelationshipTypeCode ImmunizationActivity2EntryRelationshipInversionInd ImmunizationActivity2EntryRelationshipSequenceNumber ImmunizationActivity2EntryRelationshipSubstanceAdministeredAct ImmunizationActivityConsumableImmunizationMedicationInformation ImmunizationActivityPreconditionTypeCode ImmunizationActivityPreconditionPreconditionForSubstanceAdministration ImmunizationActivity2CETranslationP ImmunizationActivity2CETranslation' constraints.validation.dependOn.ImmunizationActivity2CETranslation='ImmunizationActivity2CETranslationP' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolImmunizationActivity2Consumable constraints.validation.error='ImmunizationActivityConsumableImmunizationMedicationInformation' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolImmunizationActivity2Precondition typeCode='PRCN' constraints.validation.error='ImmunizationActivityPreconditionTypeCode ImmunizationActivityPreconditionPreconditionForSubstanceAdministration' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolImmunizationActivity2EntryRelationship typeCode='COMP' constraints.validation.warning='ImmunizationActivity2EntryRelationshipTypeCode ImmunizationActivity2EntryRelationshipInversionInd ImmunizationActivity2EntryRelationshipSubstanceAdministeredAct' inversionInd='true' constraints.validation.info='ImmunizationActivity2EntryRelationshipSequenceNumber' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolImmunizationActivity2CE translation.codeSystem='2.16.840.1.113883.6.96' translation.codeSystemName='SNOMEDCT' constraints.validation.error='ImmunizationActivity2CETranslation' constraints.validation.warning='ImmunizationActivity2CETranslationP' constraints.validation.dependOn.ImmunizationActivity2CETranslation='ImmunizationActivity2CETranslationP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ImmunizationMedicationInformation2TemplateId ImmunizationMedicationInformationManufacturedMaterial ImmunizationMedicationInformationImmunizationMedicationInformationManufacturedMaterialCodeP ImmunizationMedicationInformationImmunizationMedicationInformationManufacturedMaterialCode' templateId.root='2.16.840.1.113883.10.20.22.4.54' templateId.extension='2014-06-09' constraints.validation.info='ImmunizationMedicationInformation2ImmunizationMedicationInformationManufacturedMaterialCETranslationP ImmunizationMedicationInformation2ImmunizationMedicationInformationManufacturedMaterialCETranslation ImmunizationMedicationInformationImmunizationMedicationInformationManufacturedMaterialCodeOriginalText ImmunizationMedicationInformationImmunizationMedicationInformationManufacturedMaterialOriginalTextReference ImmunizationMedicationInformationImmunizationMedicationInformationManufacturedMaterialTextReferenceValue ImmunizationMedicationInformationImmunizationMedicationInformationManufacturedMaterialOriginalTextReferenceValue ImmunizationMedicationInformationImmunizationMedicationInformationManufacturedMaterialCodeTranslation' constraints.validation.query='ImmunizationMedicationInformation2ImmunizationMedicationInformationManufacturedMaterialCETranslationP ImmunizationMedicationInformation2ImmunizationMedicationInformationManufacturedMaterialCETranslation ImmunizationMedicationInformationImmunizationMedicationInformationManufacturedMaterialCodeOriginalText ImmunizationMedicationInformationImmunizationMedicationInformationManufacturedMaterialOriginalTextReference ImmunizationMedicationInformationImmunizationMedicationInformationManufacturedMaterialTextReferenceValue ImmunizationMedicationInformationImmunizationMedicationInformationManufacturedMaterialOriginalTextReferenceValue ImmunizationMedicationInformationImmunizationMedicationInformationManufacturedMaterialCodeTranslation ImmunizationMedicationInformationImmunizationMedicationInformationManufacturedMaterialCodeP ImmunizationMedicationInformationImmunizationMedicationInformationManufacturedMaterialCode ImmunizationMedicationInformationImmunizationMedicationInformationManufacturedMaterialLotNumberText' constraints.validation.dependOn.ImmunizationMedicationInformation2ImmunizationMedicationInformationManufacturedMaterialCETranslation='ImmunizationMedicationInformation2ImmunizationMedicationInformationManufacturedMaterialCETranslationP' constraints.validation.dependOn.ImmunizationMedicationInformationImmunizationMedicationInformationManufacturedMaterialCode='ImmunizationMedicationInformationImmunizationMedicationInformationManufacturedMaterialCodeP' constraints.validation.warning='ImmunizationMedicationInformationImmunizationMedicationInformationManufacturedMaterialLotNumberText' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolImmunizationMedicationInformation2ImmunizationMedicationInformationManufacturedMaterial constraints.validation.info='ImmunizationMedicationInformationImmunizationMedicationInformationManufacturedMaterialCodeOriginalText ImmunizationMedicationInformationImmunizationMedicationInformationManufacturedMaterialOriginalTextReference ImmunizationMedicationInformationImmunizationMedicationInformationManufacturedMaterialTextReferenceValue ImmunizationMedicationInformationImmunizationMedicationInformationManufacturedMaterialOriginalTextReferenceValue ImmunizationMedicationInformationImmunizationMedicationInformationManufacturedMaterialCodeTranslation ImmunizationMedicationInformationManufacturedMaterialImmunizationMedicationInformation2ImmunizationMedicationInformationManufacturedMaterialCETranslationP ImmunizationMedicationInformationManufacturedMaterialImmunizationMedicationInformation2ImmunizationMedicationInformationManufacturedMaterialCETranslation' code.codeSystem='2.16.840.1.113883.12.292' code.codeSystemName='Vaccines administered (CVX)' constraints.validation.error='ImmunizationMedicationInformationImmunizationMedicationInformationManufacturedMaterialCode ImmunizationMedicationInformationImmunizationMedicationInformationManufacturedMaterialCodeP' constraints.validation.dependOn.ImmunizationMedicationInformationImmunizationMedicationInformationManufacturedMaterialCode='ImmunizationMedicationInformationImmunizationMedicationInformationManufacturedMaterialCodeP' constraints.validation.warning='ImmunizationMedicationInformationImmunizationMedicationInformationManufacturedMaterialLotNumberText' constraints.validation.query='ImmunizationMedicationInformationManufacturedMaterialImmunizationMedicationInformation2ImmunizationMedicationInformationManufacturedMaterialCETranslationP ImmunizationMedicationInformationManufacturedMaterialImmunizationMedicationInformation2ImmunizationMedicationInformationManufacturedMaterialCETranslation' constraints.validation.dependOn.ImmunizationMedicationInformationManufacturedMaterialImmunizationMedicationInformation2ImmunizationMedicationInformationManufacturedMaterialCETranslation='ImmunizationMedicationInformation2ImmunizationMedicationInformationManufacturedMaterialCETranslationP' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolImmunizationMedicationInformation2ImmunizationMedicationInformationManufacturedMaterialCE constraints.validation.info='ImmunizationMedicationInformation2ImmunizationMedicationInformationManufacturedMaterialCETranslation ImmunizationMedicationInformation2ImmunizationMedicationInformationManufacturedMaterialCETranslationP' constraints.validation.dependOn.ImmunizationMedicationInformation2ImmunizationMedicationInformationManufacturedMaterialCETranslation='ImmunizationMedicationInformation2ImmunizationMedicationInformationManufacturedMaterialCETranslationP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='Indication2TemplateId IndicationId IndicationCodeP' templateId.root='2.16.840.1.113883.10.20.22.4.19' templateId.extension='2014-06-09' constraints.validation.info='IndicationProblemIndication IndicationCodeNullFlavor IndicationCodeNullFlavorValue IndicationCode IndicationValueP' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' constraints.validation.dependOn.IndicationCode='IndicationCodeP' value.codeSystem='2.16.840.1.113883.6.96' value.codeSystemName='SNOMEDCT' constraints.validation.warning='IndicationValue' constraints.validation.dependOn.IndicationValue='IndicationValueP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='Instruction2TemplateId InstructionsText' templateId.root='2.16.840.1.113883.10.20.22.4.20' templateId.extension='2014-06-09' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='MedicationActivity2TemplateId MedicationActivityInstructionsInversionInd MedicationActivity2SubstanceAdministeredActInversionInd MedicationActivityEffectiveTimeIVLTSorTS MedicationActivity2EffectiveTimeIVLTSLowXorValue MedicationActivityStatusCode MedicationActivityStatusCodeP MedicationActivityRouteCode MedicationActivityDoseQuantity MedicationActivityAdministrationUnitCode MedicationActivityText MedicationActivityConsumable MedicationActivity2CETranslation MedicationActivityPreconditionTypeCode MedicationActivityPreconditionPreconditionForSubstanceAdministration MedicationActivityConsumableMedicationInformation' templateId.root='2.16.840.1.113883.10.20.22.4.16' templateId.extension='2014-06-09' constraints.validation.info='MedicationActivityTextReference MedicationActivityReferenceValue MedicationActivityTextReferenceValue MedicationActivity2SubstanceAdministeredActSequenceNumber MedicationActivityEffectiveTimeIVLTSHigh MedicationActivityCode MedicationActivityRepeatNumber MedicationActivityAdministrationUnitCodeP MedicationActivity2DrugMonitoringAct MedicationActivityInstructions MedicationActivity2SubstanceAdministeredAct MedicationActivityIndication MedicationActivityMedicationSupplyOrder MedicationActivityMedicationDispense MedicationActivityReactionObservation MedicationActivityPrecondition MedicationActivity2MedicationFreeTextSig' constraints.validation.warning='MedicationActivityDoseQuantityorrateQuantity MedicationActivityEffectiveTimeIVLTSLow MedicationActivityEffectiveTimePIVLTS MedicationActivityRouteCodeP MedicationActivity2AuthorParticipation MedicationActivity2CETranslationP' constraints.validation.dependOn.MedicationActivityStatusCode='MedicationActivityStatusCodeP' routeCode.codeSystem='2.16.840.1.113883.3.26.1.1' routeCode.codeSystemName='NCI Thesaurus' constraints.validation.dependOn.MedicationActivityRouteCode='MedicationActivityRouteCodeP' administrationUnitCode.codeSystem='2.16.840.1.113883.3.26.1.1' administrationUnitCode.codeSystemName='FDA RouteOfAdministration' constraints.validation.dependOn.MedicationActivityAdministrationUnitCode='MedicationActivityAdministrationUnitCodeP' constraints.validation.query='MedicationActivity2CETranslationP MedicationActivity2CETranslation MedicationActivityPreconditionTypeCode MedicationActivityPreconditionPreconditionForSubstanceAdministration MedicationActivityConsumableMedicationInformation' constraints.validation.dependOn.MedicationActivity2CETranslation='MedicationActivity2CETranslationP' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolMedicationActivity2Consumable constraints.validation.error='MedicationActivityConsumableMedicationInformation' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolMedicationActivity2Precondition typeCode='PRCN' constraints.validation.error='MedicationActivityPreconditionTypeCode MedicationActivityPreconditionPreconditionForSubstanceAdministration' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolMedicationActivity2CE translation.codeSystem='2.16.840.1.113883.6.96' translation.codeSystemName='SNOMEDCT' constraints.validation.error='MedicationActivity2CETranslation' constraints.validation.warning='MedicationActivity2CETranslationP' constraints.validation.dependOn.MedicationActivity2CETranslation='MedicationActivity2CETranslationP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='MedicationDispense2TemplateId MedicationDispenseContainsMedicationOrImmunization MedicationDispenseStatusCode MedicationDispenseStatusCodeP' templateId.root='2.16.840.1.113883.10.20.22.4.18' templateId.extension='2014-06-09' constraints.validation.info='MedicationDispense2ContainsMedicationInformation2 MedicationDispense2ContainsImmunizationMedicationInformation2 MedicationDispenseMedicationSupplyOrder' constraints.validation.dependOn.MedicationDispenseStatusCode='MedicationDispenseStatusCodeP' constraints.validation.warning='MedicationDispenseRepeatNumber' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='MedicationInformation2TemplateId MedicationInformationManufacturedMaterial MedicationInformationMedicationInformationManufacturedMaterialCodeP MedicationInformationMedicationInformationManufacturedMaterialCode' templateId.root='2.16.840.1.113883.10.20.22.4.23' templateId.extension='2014-06-09' constraints.validation.info='MedicationInformation2MedicationInformationManufacturedMaterialCETranslation MedicationInformationMedicationInformationManufacturedMaterialCodeOriginalText MedicationInformationMedicationInformationManufacturedMaterialCodeTranslation MedicationInformationMedicationInformationManufacturedMaterialReference MedicationInformationMedicationInformationManufacturedMaterialOriginalTextReferenceValue MedicationInformationMedicationInformationManufacturedMaterialReferenceValue' constraints.validation.query='MedicationInformation2MedicationInformationManufacturedMaterialCETranslation MedicationInformationMedicationInformationManufacturedMaterialCodeOriginalText MedicationInformationMedicationInformationManufacturedMaterialCodeTranslation MedicationInformationMedicationInformationManufacturedMaterialReference MedicationInformationMedicationInformationManufacturedMaterialOriginalTextReferenceValue MedicationInformationMedicationInformationManufacturedMaterialReferenceValue MedicationInformationMedicationInformationManufacturedMaterialCodeP MedicationInformationMedicationInformationManufacturedMaterialCode' constraints.validation.dependOn.MedicationInformationMedicationInformationManufacturedMaterialCode='MedicationInformationMedicationInformationManufacturedMaterialCodeP' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolMedicationInformation2MedicationInformationManufacturedMaterial constraints.validation.info='MedicationInformationMedicationInformationManufacturedMaterialCodeOriginalText MedicationInformationMedicationInformationManufacturedMaterialCodeTranslation MedicationInformationMedicationInformationManufacturedMaterialReference MedicationInformationMedicationInformationManufacturedMaterialOriginalTextReferenceValue MedicationInformationMedicationInformationManufacturedMaterialReferenceValue MedicationInformationManufacturedMaterialMedicationInformation2MedicationInformationManufacturedMaterialCETranslation' code.codeSystem='2.16.840.1.113883.6.88' code.codeSystemName='RxNorm' constraints.validation.error='MedicationInformationMedicationInformationManufacturedMaterialCode MedicationInformationMedicationInformationManufacturedMaterialCodeP' constraints.validation.dependOn.MedicationInformationMedicationInformationManufacturedMaterialCode='MedicationInformationMedicationInformationManufacturedMaterialCodeP' constraints.validation.query='MedicationInformationManufacturedMaterialMedicationInformation2MedicationInformationManufacturedMaterialCETranslation' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolMedicationInformation2MedicationInformationManufacturedMaterialCE constraints.validation.info='MedicationInformation2MedicationInformationManufacturedMaterialCETranslation' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='MedicationSupplyOrder2TemplateId MedicationSupplyOrderContainsMedicationOrImmunization MedicationSupplyOrderInstructionInversionInd MedicationSupplyOrderStatusCode MedicationSupplyOrderStatusCodeP' templateId.root='2.16.840.1.113883.10.20.22.4.17' templateId.extension='2014-06-09' constraints.validation.info='MedicationSupplyOrder2ContainsMedicationInformation2 MedicationSupplyOrder2ContainsImmunizationMedicationInformation2 MedicationSupplyOrderInstructions' constraints.validation.dependOn.MedicationSupplyOrderStatusCode='MedicationSupplyOrderStatusCodeP' constraints.validation.warning='MedicationSupplyOrderRepeatNumber' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='NonMedicinalSupplyActivity2TemplateId NonMedicinalSupplyActivity2Instruction2InversionInd NonMedicinalSupplyActivityStatusCode NonMedicinalSupplyActivityStatusCodeP' templateId.root='2.16.840.1.113883.10.20.22.4.50' templateId.extension='2014-06-09' constraints.validation.dependOn.NonMedicinalSupplyActivityStatusCode='NonMedicinalSupplyActivityStatusCodeP' constraints.validation.info='NonMedicinalSupplyActivity2Instruction2 NonMedicinalSupplyActivityProductInstance' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='PhysicianofRecordParticipant2TemplateId PhysicianofRecordParticipantAssignedEntity PhysicianofRecordParticipant2AssignedEntityAssignedPersonGeneralHeaderConstraintsUSRealmPersonNameUSRealmPersonNameMixedContent PhysicianofRecordParticipantAssignedEntityAssignedPersonName' templateId.root='2.16.840.1.113883.10.20.6.2.2' templateId.extension='2014-06-09' constraints.validation.query='PhysicianofRecordParticipant2AssignedEntityAssignedPersonGeneralHeaderConstraintsUSRealmPersonNameUSRealmPersonNameMixedContent PhysicianofRecordParticipantAssignedEntityAssignedPersonName PhysicianofRecordParticipant2AssignedEntityRepresentedOrganizationName PhysicianofRecordParticipantAssignedEntityHasNationalProviderId PhysicianofRecordParticipantAssignedEntityAssignedPerson PhysicianofRecordParticipant2AssignedEntityRepresentedOrganization' constraints.validation.warning='PhysicianofRecordParticipant2AssignedEntityRepresentedOrganizationName PhysicianofRecordParticipantAssignedEntityHasNationalProviderId PhysicianofRecordParticipantAssignedEntityAssignedPerson' constraints.validation.info='PhysicianofRecordParticipant2AssignedEntityRepresentedOrganization' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolPhysicianofRecordParticipant2AssignedEntity constraints.validation.warning='PhysicianofRecordParticipantAssignedEntityHasNationalProviderId PhysicianofRecordParticipantAssignedEntityAssignedPerson' constraints.validation.info='PhysicianofRecordParticipant2AssignedEntityRepresentedOrganization' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolPhysicianofRecordParticipant2AssignedEntityAssignedPerson constraints.validation.error='PhysicianofRecordParticipantAssignedEntityAssignedPersonName AssignedPersonGeneralHeaderConstraintsUSRealmPersonNameUSRealmPersonNameMixedContent' constraints.validation.query='AssignedPersonGeneralHeaderConstraintsUSRealmPersonNameUSRealmPersonNameMixedContent' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolPhysicianofRecordParticipant2AssignedEntityRepresentedOrganization constraints.validation.warning='PhysicianofRecordParticipant2AssignedEntityRepresentedOrganizationName' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='PlannedAct2TemplateId PlanOfCareActivityActMoodCode PlannedAct2Code PlannedAct2StatusCode PlannedAct2StatusCodeP' templateId.root='2.16.840.1.113883.10.20.22.4.39' templateId.extension='2014-06-09' constraints.validation.warning='PlannedAct2CodeFromLoincOrSnomed PlannedAct2EffectiveTime PlannedAct2AuthorParticipation' statusCode.code='active' constraints.validation.info='PlannedAct2Indication2 PlannedAct2Instruction2 PlannedAct2Performer PlannedAct2PriorityPreference' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='PlannedEncounter2TemplateId PlannedEncounter2ParticipantServiceDeliveryLocationTypeCode PlanOfCareActivityEncounterMoodCode PlannedEncounter2StatusCode PlannedEncounter2StatusCodeP PlannedEncounter2PerformerAssignedEntity' templateId.root='2.16.840.1.113883.10.20.22.4.40' templateId.extension='2014-06-09' code.codeSystem='2.16.840.1.113883.6.96' code.codeSystemName='SNOMEDCT' constraints.validation.warning='PlannedEncounter2Code PlannedEncounter2CodeP PlannedEncounter2EffectiveTime PlannedEncounter2AuthorParticipation' constraints.validation.dependOn.PlannedEncounter2Code='PlannedEncounter2CodeP' statusCode.code='active' constraints.validation.info='PlannedEncounter2Performer PlannedEncounter2ServiceDeliveryLocation PlannedEncounter2PriorityPreference PlannedEncounter2Indication2' constraints.validation.query='PlannedEncounter2PerformerAssignedEntity' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolPlannedEncounter2Performer constraints.validation.error='PlannedEncounter2PerformerAssignedEntity' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='PlannedObservation2TemplateId PlanOfCareActivityObservationMoodCode PlannedObservation2CodeP PlannedObservation2StatusCode PlannedObservation2StatusCodeP PlannedObservation2TargetSiteCode' templateId.root='2.16.840.1.113883.10.20.22.4.44' templateId.extension='2014-06-09' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' constraints.validation.warning='PlannedObservation2Code PlannedObservation2EffectiveTime PlannedObservation2TargetSiteCodeP PlannedObservation2AuthorParticipation' constraints.validation.dependOn.PlannedObservation2Code='PlannedObservation2CodeP' statusCode.code='active' constraints.validation.info='PlannedObservation2Value PlannedObservation2MethodCode PlannedObservation2Performer PlannedObservation2PriorityPreference PlannedObservation2Indication2 PlannedObservation2Instruction2 PlannedObservation2PlannedCoverage' targetSiteCode.codeSystem='2.16.840.1.113883.6.96' targetSiteCode.codeSystemName='SNOMEDCT' constraints.validation.dependOn.PlannedObservation2TargetSiteCode='PlannedObservation2TargetSiteCodeP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='PlannedProcedure2TemplateId PlannedProcedure2Instruction2InversionInd PlanOfCareActivityProcedureMoodCode PlannedProcedure2Code PlannedProcedure2StatusCode PlannedProcedure2StatusCodeP PlannedProcedure2TargetSiteCode' templateId.root='2.16.840.1.113883.10.20.22.4.41' templateId.extension='2014-06-09' constraints.validation.warning='PlannedProcedure2CodeFromLoincOrSnomed PlannedProcedure2EffectiveTime PlannedProcedure2AuthorParticipation' constraints.validation.info='PlannedProcedure2CodeFromCptOrIcd PlannedProcedure2MethodCode PlannedProcedure2TargetSiteCodeP PlannedProcedure2Performer PlannedProcedure2PriorityPreference PlannedProcedure2Indication2 PlannedProcedure2Instruction2 PlannedProcedure2PlannedCoverage' statusCode.code='active' targetSiteCode.codeSystem='2.16.840.1.113883.6.96' targetSiteCode.codeSystemName='SNOMEDCT' constraints.validation.dependOn.PlannedProcedure2TargetSiteCode='PlannedProcedure2TargetSiteCodeP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='PlannedMedicationActivity2TemplateId PlannedMedicationActivity2EffectiveTimeIVLTSorTS PlannedMedicationActivity2EffectiveTimeIVLTSLowXorValue PlanOfCareActivitySubstanceAdministrationMoodCode PlannedMedicationActivity2StatusCode PlannedMedicationActivity2StatusCodeP PlannedMedicationActivity2RouteCode PlannedMedicationActivity2ApproachSiteCode PlannedMedicationActivity2AdministrationUnitCode PlannedMedicationActivity2Consumable PlannedMedicationActivity2CETranslation PlannedMedicationActivity2ConsumableMedicationInformation2 PlannedMedicationActivity2PreconditionTypeCode PlannedMedicationActivity2PreconditionPreconditionForSubstanceAdministration2' templateId.root='2.16.840.1.113883.10.20.22.4.42' templateId.extension='2014-06-09' constraints.validation.warning='PlannedMedicationActivity2EffectiveTimeIVLTSLow PlannedMedicationActivity2EffectiveTimePIVLTS PlannedMedicationActivity2AuthorParticipation PlannedMedicationActivity2CETranslationP PlannedMedicationActivity2IVLPQdoseQuantityUnit PlannedMedicationActivity2IVLPQrateQuantityUnit' constraints.validation.info='PlannedMedicationActivity2EffectiveTimeIVLTSHigh PlannedMedicationActivity2RepeatNumber PlannedMedicationActivity2RouteCodeP PlannedMedicationActivity2ApproachSiteCodeP PlannedMedicationActivity2DoseQuantity PlannedMedicationActivity2RateQuantity PlannedMedicationActivity2MaxDoseQuantity PlannedMedicationActivity2AdministrationUnitCodeP PlannedMedicationActivity2Performer PlannedMedicationActivity2PriorityPreference PlannedMedicationActivity2Indication2 PlannedMedicationActivity2Instruction2 PlannedMedicationActivity2Precondition' statusCode.code='active' routeCode.codeSystem='2.16.840.1.113883.3.26.1.1' routeCode.codeSystemName='NCI Thesaurus' constraints.validation.dependOn.PlannedMedicationActivity2RouteCode='PlannedMedicationActivity2RouteCodeP' approachSiteCode.codeSystem='2.16.840.1.113883.6.96' approachSiteCode.codeSystemName='SNOMEDCT' constraints.validation.dependOn.PlannedMedicationActivity2ApproachSiteCode='PlannedMedicationActivity2ApproachSiteCodeP' administrationUnitCode.codeSystem='2.16.840.1.113883.5.85' administrationUnitCode.codeSystemName='orderableDrugForm' constraints.validation.dependOn.PlannedMedicationActivity2AdministrationUnitCode='PlannedMedicationActivity2AdministrationUnitCodeP' constraints.validation.query='PlannedMedicationActivity2CETranslationP PlannedMedicationActivity2CETranslation PlannedMedicationActivity2IVLPQdoseQuantityUnit PlannedMedicationActivity2IVLPQrateQuantityUnit PlannedMedicationActivity2ConsumableMedicationInformation2 PlannedMedicationActivity2PreconditionTypeCode PlannedMedicationActivity2PreconditionPreconditionForSubstanceAdministration2' constraints.validation.dependOn.PlannedMedicationActivity2CETranslation='PlannedMedicationActivity2CETranslationP' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolPlannedMedicationActivity2IVLPQdoseQuantity unit='1' constraints.validation.warning='PlannedMedicationActivity2IVLPQdoseQuantityUnit' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolPlannedMedicationActivity2IVLPQrateQuantity unit='1' constraints.validation.warning='PlannedMedicationActivity2IVLPQrateQuantityUnit' @@ -47439,12 +47439,12 @@ value.code = 'completed') http://www.openhealthtools.org/mdht/uml/cda/annotation/consolPlannedMedicationActivity2Precondition typeCode='PRCN' constraints.validation.error='PlannedMedicationActivity2PreconditionTypeCode PlannedMedicationActivity2PreconditionPreconditionForSubstanceAdministration2' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolPlannedMedicationActivity2CE translation.codeSystem='2.16.840.1.113883.6.96' translation.codeSystemName='SNOMEDCT' constraints.validation.error='PlannedMedicationActivity2CETranslation' constraints.validation.warning='PlannedMedicationActivity2CETranslationP' constraints.validation.dependOn.PlannedMedicationActivity2CETranslation='PlannedMedicationActivity2CETranslationP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='PlannedSupply2TemplateId PlannedSupply2MedInfoXorImmunXorProductInstance PlanOfCareActivitySupplyMoodCode PlannedSupply2StatusCode PlannedSupply2StatusCodeP PlannedSupply2ProductManufacturedProductMedInfo2XorImmunMedInfo2' templateId.root='2.16.840.1.113883.10.20.22.4.43' templateId.extension='2014-06-09' statusCode.code='active' constraints.validation.warning='PlannedSupply2EffectiveTime PlannedSupply2AuthorParticipation PlannedSupply2ProductRecommended' constraints.validation.info='PlannedSupply2RepeatNumber PlannedSupply2Quantity PlannedSupply2Product PlannedSupply2Performer PlannedSupply2ProductInstance PlannedSupply2PriorityPreference PlannedSupply2Indication2 PlannedSupply2Instruction2 PlannedSupply2PlannedCoverage PlannedSupply2ProductManufacturedProduct' constraints.validation.query='PlannedSupply2ProductManufacturedProductMedInfo2XorImmunMedInfo2 PlannedSupply2ProductManufacturedProduct' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolPlannedSupply2Product constraints.validation.info='PlannedSupply2ProductManufacturedProduct' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolPlannedSupply2ProductManufacturedProduct constraints.validation.error='PlannedSupply2ProductManufacturedProductMedInfo2XorImmunMedInfo2' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='PolicyActivity2TemplateId PolicyActivityCodeP PolicyActivityStatusCode PolicyActivityStatusCodeP PolicyActivityPayer PolicyActivityCoverage PolicyActivity2PayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressUSRealmAddressStreet PolicyActivity2PayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequireStateElement PolicyActivity2PayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequirePostalCodeElement PolicyActivity2PayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressUse PolicyActivity2PayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressCity PolicyActivity2PayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressStreetAddressLine PolicyActivityPayerTemplateId PolicyActivityPayerPayerAssignedEntity PolicyActivity2GuarantorGuarantorAssignedEntityGeneralHeaderConstraintsUSRealmAddressUSRealmAddressStreet PolicyActivity2GuarantorGuarantorAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequireStateElement PolicyActivity2GuarantorGuarantorAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequirePostalCodeElement PolicyActivity2GuarantorGuarantorAssignedEntityGeneralHeaderConstraintsUSRealmAddressUse PolicyActivity2GuarantorGuarantorAssignedEntityGeneralHeaderConstraintsUSRealmAddressCity PolicyActivity2GuarantorGuarantorAssignedEntityGeneralHeaderConstraintsUSRealmAddressStreetAddressLine PolicyActivityGuarantorGuarantorAssignedEntityCodeP PolicyActivityGuarantorGuarantorAssignedEntityCode PolicyActivityGuarantorTemplateId PolicyActivityGuarantorTypeCode PolicyActivityGuarantorGuarantorAssignedEntity PolicyActivityCoverageCoverageRoleCoveragePlayingEntityName PolicyActivity2CoverageCoverageRoleCoveragePlayingEntitySDTCBirthTime PolicyActivityCoverageCoverageRoleId PolicyActivityCoverageTemplateId PolicyActivityCoverageCoverageRole PolicyActivity2CDTranslationP' templateId.root='2.16.840.1.113883.10.20.22.4.61' templateId.extension='2015-08-01' code.codeSystemName='' constraints.validation.warning='PolicyActivityCode PolicyActivityGuarantor PolicyActivity2PayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressUseP PolicyActivity2PayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressCountry PolicyActivity2PayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressState PolicyActivity2PayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressPostalCode PolicyActivity2GuarantorGuarantorAssignedEntityGeneralHeaderConstraintsUSRealmAddressUseP PolicyActivity2GuarantorGuarantorAssignedEntityGeneralHeaderConstraintsUSRealmAddressCountry PolicyActivity2GuarantorGuarantorAssignedEntityGeneralHeaderConstraintsUSRealmAddressState PolicyActivity2GuarantorGuarantorAssignedEntityGeneralHeaderConstraintsUSRealmAddressPostalCode PolicyActivityGuarantorGuarantorAssignedEntityAddr PolicyActivityGuarantorGuarantorAssignedEntityTelecom PolicyActivityCoverageCoverageRoleCoveragePlayingEntity PolicyActivity2CDTranslation' constraints.validation.dependOn.PolicyActivityCode='PolicyActivityCodeP' constraints.validation.dependOn.PolicyActivityStatusCode='PolicyActivityStatusCodeP' constraints.validation.query='PolicyActivity2PayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressUSRealmAddressStreet PolicyActivity2PayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequireStateElement PolicyActivity2PayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequirePostalCodeElement PolicyActivity2PayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressUse PolicyActivity2PayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressUseP PolicyActivity2PayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressCountry PolicyActivity2PayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressState PolicyActivity2PayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressCity PolicyActivity2PayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressPostalCode PolicyActivity2PayerPayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressStreetAddressLine PolicyActivityPayerPayerAssignedEntityAddr PolicyActivityPayerPayerAssignedEntityTelecom PolicyActivityPayerTemplateId PolicyActivityPayerPayerAssignedEntity PolicyActivity2GuarantorGuarantorAssignedEntityGeneralHeaderConstraintsUSRealmAddressUSRealmAddressStreet PolicyActivity2GuarantorGuarantorAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequireStateElement PolicyActivity2GuarantorGuarantorAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequirePostalCodeElement PolicyActivity2GuarantorGuarantorAssignedEntityGeneralHeaderConstraintsUSRealmAddressUse PolicyActivity2GuarantorGuarantorAssignedEntityGeneralHeaderConstraintsUSRealmAddressUseP PolicyActivity2GuarantorGuarantorAssignedEntityGeneralHeaderConstraintsUSRealmAddressCountry PolicyActivity2GuarantorGuarantorAssignedEntityGeneralHeaderConstraintsUSRealmAddressState PolicyActivity2GuarantorGuarantorAssignedEntityGeneralHeaderConstraintsUSRealmAddressCity PolicyActivity2GuarantorGuarantorAssignedEntityGeneralHeaderConstraintsUSRealmAddressPostalCode PolicyActivity2GuarantorGuarantorAssignedEntityGeneralHeaderConstraintsUSRealmAddressStreetAddressLine PolicyActivityGuarantorGuarantorAssignedEntityCodeP PolicyActivityGuarantorGuarantorAssignedEntityCode PolicyActivityGuarantorGuarantorAssignedEntityAddr PolicyActivityGuarantorGuarantorAssignedEntityTelecom PolicyActivityGuarantorTemplateId PolicyActivityGuarantorTypeCode PolicyActivityGuarantorGuarantorAssignedEntity PolicyActivityCoverageCoverageRoleCoveragePlayingEntityDateOfBirthInSDTCbirthTime PolicyActivityCoverageCoverageRoleCoveragePlayingEntityName PolicyActivity2CoverageCoverageRoleCoveragePlayingEntitySDTCBirthTime PolicyActivityCoverageCoverageRoleId PolicyActivityCoverageCoverageRoleCoveragePlayingEntity PolicyActivityCoverageTemplateId PolicyActivityCoverageCoverageRole PolicyActivity2CDTranslation PolicyActivity2CDTranslationP' constraints.validation.info='PolicyActivityPayerPayerAssignedEntityAddr PolicyActivityPayerPayerAssignedEntityTelecom PolicyActivityCoverageCoverageRoleCoveragePlayingEntityDateOfBirthInSDTCbirthTime' constraints.validation.dependOn.PolicyActivityGuarantorGuarantorAssignedEntityCode='PolicyActivityGuarantorGuarantorAssignedEntityCodeP' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolPolicyActivity2Payer constraints.validation.error='PolicyActivityPayerTemplateId PolicyActivityPayerPayerAssignedEntity' templateId.root='2.16.840.1.113883.10.20.22.4.87' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolPolicyActivity2PayerPayerAssignedEntity constraints.validation.info='PolicyActivityPayerPayerAssignedEntityAddr PolicyActivityPayerPayerAssignedEntityTelecom' constraints.validation.error='PayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressUSRealmAddressStreet PayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequireStateElement PayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequirePostalCodeElement PayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressUse PayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressCity PayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressStreetAddressLine' constraints.validation.query='PayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressUSRealmAddressStreet PayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequireStateElement PayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressIfCountryIsUsRequirePostalCodeElement PayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressUse PayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressUseP PayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressCountry PayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressState PayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressCity PayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressPostalCode PayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressStreetAddressLine' constraints.validation.warning='PayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressUseP PayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressCountry PayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressState PayerAssignedEntityGeneralHeaderConstraintsUSRealmAddressPostalCode' @@ -47455,57 +47455,57 @@ value.code = 'completed') http://www.openhealthtools.org/mdht/uml/cda/annotation/consolPolicyActivity2CoverageCoverageRoleCoveragePlayingEntity constraints.validation.info='PolicyActivityCoverageCoverageRoleCoveragePlayingEntityDateOfBirthInSDTCbirthTime' constraints.validation.error='PolicyActivityCoverageCoverageRoleCoveragePlayingEntityName PolicyActivity2CoverageCoverageRoleCoveragePlayingEntitySDTCBirthTime' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolPolicyActivity2CD translation.codeSystem='2.16.840.1.113883.3.221.5' translation.codeSystemName='Source of Payment Typology (PHDSC)' constraints.validation.warning='PolicyActivity2CDTranslation' constraints.validation.error='PolicyActivity2CDTranslationP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='PostprocedureDiagnosis2TemplateId PostprocedureDiagnosisCode PostprocedureDiagnosisCodeP PostprocedureDiagnosisProblemObservation' templateId.root='2.16.840.1.113883.10.20.22.4.51' templateId.extension='2015-08-01' constraints.validation.dependOn.PostprocedureDiagnosisCode='PostprocedureDiagnosisCodeP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='PreoperativeDiagnosis2TemplateId PreoperativeDiagnosisCode PreoperativeDiagnosisCodeP PreoperativeDiagnosisProblemObservation' templateId.root='2.16.840.1.113883.10.20.22.4.65' templateId.extension='2015-08-01' constraints.validation.dependOn.PreoperativeDiagnosisCode='PreoperativeDiagnosisCodeP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ProblemConcernAct2TemplateId ProblemConcernActEffectiveTimeLow ProblemConcernActStatusCode ProblemConcernActStatusCodeP ProblemConcernActEffectiveTime ProblemConcernActCode ProblemConcernActCodeP ProblemConcernActProblemObservation' templateId.root='2.16.840.1.113883.10.20.22.4.3' templateId.extension='2015-08-01' constraints.validation.info='ProblemConcernActEffectiveTimeHigh ProblemConcernAct2PriorityPreference' constraints.validation.dependOn.ProblemConcernActStatusCode='ProblemConcernActStatusCodeP' constraints.validation.dependOn.ProblemConcernActCode='ProblemConcernActCodeP' constraints.validation.warning='ProblemConcernAct2AuthorParticipation' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ProblemObservation2TemplateId ProblemObservationHasOnsetDate ProblemObservation2IfSnomedRequireTranslation ProblemObservationEffectiveTime ProblemObservationValueP ProblemObservationCodeP ProblemObservationText ProblemObservationStatusCode ProblemObservationStatusCodeP ProblemObservationHealthStatusObservation' templateId.root='2.16.840.1.113883.10.20.22.4.4' templateId.extension='2015-08-01' constraints.validation.info='ProblemObservationHasTextReference ProblemObservationTextReferenceValue ProblemObservationHasTextReferenceValue ProblemObservationHasResolutionDate ProblemObservationValueNullFlavor ProblemObservationValueNullFlavorUnknown ProblemObservationNegationInd ProblemObservation2PrognosisObservation ProblemObservation2PriorityPreference ProblemObservationProblemStatus ProblemObservation2CDQualifier ProblemObservation2CDCode ProblemObservation2CDCodeTranslation ProblemObservation2CDCodeTranslationP' constraints.validation.warning='ProblemObservation2IfSnomedRequireTranslationFromLoinc ProblemObservationValue ProblemObservationCode ProblemObservation2AuthorParticipation' value.codeSystem='2.16.840.1.113883.6.96' value.codeSystemName='SNOMEDCT' constraints.validation.dependOn.ProblemObservationValue='ProblemObservationValueP' code.codeSystem='2.16.840.1.113883.6.96' code.codeSystemName='SNOMEDCT' constraints.validation.dependOn.ProblemObservationCode='ProblemObservationCodeP' constraints.validation.dependOn.ProblemObservationStatusCode='ProblemObservationStatusCodeP' constraints.validation.query='ProblemObservation2CDQualifier ProblemObservation2CDCode ProblemObservation2CDCodeTranslation ProblemObservation2CDCodeTranslationP' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolProblemObservation2CD constraints.validation.info='ProblemObservation2CDQualifier ProblemObservation2CDCode' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolProblemObservation2CDCode constraints.validation.info='ProblemObservation2CDCodeTranslation ProblemObservation2CDCodeTranslationP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ProcedureActivityAct2TemplateId ProcedureActivityActInstructionsInversion ProcedureActivityActMoodCode ProcedureActivityActStatusCode ProcedureActivityActStatusCodeP ProcedureActivityActEffectiveTime ProcedureActivityActProcedureActPerformerProcedureActAssignedEntityProcedureActRepresentedOrganizationTelecom ProcedureActivityActProcedureActPerformerProcedureActAssignedEntityProcedureActRepresentedOrganizationAddr ProcedureActivityActProcedureActPerformerProcedureActAssignedEntityTelecom ProcedureActivityActProcedureActPerformerAssignedEntity' templateId.root='2.16.840.1.113883.10.20.22.4.12' templateId.extension='2014-06-09' constraints.validation.info='ProcedureActivityAct2CodeSuggestedCodeSystems ProcedureActivityActInstructions ProcedureActivityActIndication ProcedureActivityActMedicationActivity' moodCode='EVN' constraints.validation.dependOn.ProcedureActivityActStatusCode='ProcedureActivityActStatusCodeP' constraints.validation.warning='ProcedureActivityActPerformer ProcedureActivityAct2AuthorParticipation ProcedureActivityActProcedureActPerformerProcedureActAssignedEntityRepresentedOrganization' constraints.validation.query='ProcedureActivityActProcedureActPerformerProcedureActAssignedEntityProcedureActRepresentedOrganizationTelecom ProcedureActivityActProcedureActPerformerProcedureActAssignedEntityProcedureActRepresentedOrganizationAddr ProcedureActivityActProcedureActPerformerProcedureActAssignedEntityTelecom ProcedureActivityActProcedureActPerformerProcedureActAssignedEntityRepresentedOrganization ProcedureActivityActProcedureActPerformerAssignedEntity' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolProcedureActivityAct2ProcedureActPerformer constraints.validation.error='ProcedureActivityActProcedureActPerformerAssignedEntity' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolProcedureActivityAct2ProcedureActPerformerProcedureActAssignedEntity constraints.validation.error='ProcedureActivityActProcedureActPerformerProcedureActAssignedEntityTelecom' constraints.validation.warning='ProcedureActivityActProcedureActPerformerProcedureActAssignedEntityRepresentedOrganization' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolProcedureActivityAct2ProcedureActPerformerProcedureActAssignedEntityProcedureActRepresentedOrganization constraints.validation.error='ProcedureActivityActProcedureActPerformerProcedureActAssignedEntityProcedureActRepresentedOrganizationTelecom ProcedureActivityActProcedureActPerformerProcedureActAssignedEntityProcedureActRepresentedOrganizationAddr' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ProcedureActivityObservation2TemplateId ProcedureActivityObservationInstructionsInversion ProcedureActivityObservationTargetSiteCode ProcedureActivityObservationMoodCode ProcedureActivityObservationStatusCode ProcedureActivityObservationStatusCodeP ProcedureActivityObservationValue ProcedureActivityObservationProcedureObservationPerformerProcedureObservationAssignedEntityAddr ProcedureActivityObservationProcedureObservationPerformerProcedureObservationAssignedEntityTelecom ProcedureActivityObservationProcedureObservationPerformerAssignedEntity' templateId.root='2.16.840.1.113883.10.20.22.4.13' templateId.extension='2014-06-09' constraints.validation.warning='ProcedureActivityObservationCodeCodeSystems ProcedureActivityObservationTargetSiteCodeP ProcedureActivityObservationPerformer ProcedureActivityObservation2AuthorParticipation' constraints.validation.info='ProcedureActivityObservation2CodeSuggestedCodeSystems ProcedureActivityObservationIndication ProcedureActivityObservationMedicationActivity ProcedureActivityObservationInstructions ProcedureActivityObservation2ReactionObservation2 ProcedureActivityObservation2ANYNullFlavor' targetSiteCode.codeSystem='2.16.840.1.113883.6.96' targetSiteCode.codeSystemName='SNOMEDCT' constraints.validation.dependOn.ProcedureActivityObservationTargetSiteCode='ProcedureActivityObservationTargetSiteCodeP' moodCode='EVN' constraints.validation.dependOn.ProcedureActivityObservationStatusCode='ProcedureActivityObservationStatusCodeP' constraints.validation.query='ProcedureActivityObservation2ANYNullFlavor ProcedureActivityObservationProcedureObservationPerformerProcedureObservationAssignedEntityAddr ProcedureActivityObservationProcedureObservationPerformerProcedureObservationAssignedEntityTelecom ProcedureActivityObservationProcedureObservationPerformerAssignedEntity' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolProcedureActivityObservation2ANY constraints.validation.info='ProcedureActivityObservation2ANYNullFlavor' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolProcedureActivityObservation2ProcedureObservationPerformer constraints.validation.error='ProcedureActivityObservationProcedureObservationPerformerAssignedEntity' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolProcedureActivityObservation2ProcedureObservationPerformerProcedureObservationAssignedEntity constraints.validation.error='ProcedureActivityObservationProcedureObservationPerformerProcedureObservationAssignedEntityAddr ProcedureActivityObservationProcedureObservationPerformerProcedureObservationAssignedEntityTelecom' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ProcedureActivityProcedure2TemplateId ProcedureActivityProcedureInstructionsInversion ProcedureActivityProcedureServiceDeliveryLocationTypeCode ProcedureActivityProcedureTargetSiteCode ProcedureActivityProcedureMoodCode ProcedureActivityProcedureStatusCode ProcedureActivityProcedureStatusCodeP ProcedureActivityProcedureProcedureActivityPerformerProcedureActivityAssignedEntityAddr ProcedureActivityProcedureProcedureActivityPerformerProcedureActivityAssignedEntityTelecom ProcedureActivityProcedureProcedureActivityPerformerAssignedEntity' templateId.root='2.16.840.1.113883.10.20.22.4.14' templateId.extension='2014-06-09' constraints.validation.warning='ProcedureActivityProcedureCodeCodeSystems ProcedureActivityProcedureTargetSiteCodeP ProcedureActivityProcedurePerformer ProcedureActivityProcedure2AuthorParticipation' constraints.validation.info='ProcedureActivityProcedure2CodeSuggestedCodeSystems ProcedureActivityProcedureIndication ProcedureActivityProcedureMedicationActivity ProcedureActivityProcedurePatientInstruction ProcedureActivityProcedureSpecimen ProcedureActivityProcedure2ReactionObservation2' targetSiteCode.codeSystem='2.16.840.1.113883.6.96' targetSiteCode.codeSystemName='SNOMEDCT' constraints.validation.dependOn.ProcedureActivityProcedureTargetSiteCode='ProcedureActivityProcedureTargetSiteCodeP' moodCode='EVN' constraints.validation.dependOn.ProcedureActivityProcedureStatusCode='ProcedureActivityProcedureStatusCodeP' constraints.validation.query='ProcedureActivityProcedureProcedureActivityPerformerProcedureActivityAssignedEntityAddr ProcedureActivityProcedureProcedureActivityPerformerProcedureActivityAssignedEntityTelecom ProcedureActivityProcedureProcedureActivityPerformerAssignedEntity' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolProcedureActivityProcedure2ProcedureActivityPerformer constraints.validation.error='ProcedureActivityProcedureProcedureActivityPerformerAssignedEntity' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolProcedureActivityProcedure2ProcedureActivityPerformerProcedureActivityAssignedEntity constraints.validation.error='ProcedureActivityProcedureProcedureActivityPerformerProcedureActivityAssignedEntityAddr ProcedureActivityProcedureProcedureActivityPerformerProcedureActivityAssignedEntityTelecom' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ReactionObservation2TemplateId ReactionObservationProcedureActivityProcedureInversionInd ReactionObservationMedicationActivityInversionInd ReactionObservationSeverityObservationInversionInd ReactionObservationCode ReactionObservationCodeP ReactionObservationId ReactionObservationText ReactionObservationStatusCode ReactionObservationStatusCodeP ReactionObservationValue ReactionObservationValueP' templateId.root='2.16.840.1.113883.10.20.22.4.9' templateId.extension='2014-06-09' constraints.validation.info='ReactionObservationCodeValueSet ReactionObservationTextReference ReactionObservationTextReferenceValue ReactionObservationReferenceValue ReactionObservationProcedureActivityProcedure ReactionObservationMedicationActivity ReactionObservationSeverityObservation' code.code='ASSERTION' code.codeSystem='2.16.840.1.113883.5.4' code.codeSystemName='HL7ActCode' constraints.validation.dependOn.ReactionObservationCode='ReactionObservationCodeP' constraints.validation.dependOn.ReactionObservationStatusCode='ReactionObservationStatusCodeP' value.codeSystem='2.16.840.1.113883.6.96' value.codeSystemName='SNOMEDCT' constraints.validation.dependOn.ReactionObservationValue='ReactionObservationValueP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ResultObservation2TemplateId ResultObservationEffectiveTime ResultObservationText ResultObservationCodeP ResultObservationValue ResultObservationInterpretationCode ResultObservation2ReferenceRangeObservationRangeValue ResultObservation2ReferenceRangeObservationRangeCode ResultObservation2ReferenceRangeObservationRange' templateId.root='2.16.840.1.113883.10.20.22.4.2' templateId.extension='2015-08-01' constraints.validation.info='ResultObservationAuthorMultiplicity ResultObservationCodeValue ResultObservationTextReference ResultObservationReferenceValue ResultObservationTextReferenceValue ResultObservationNoObservationRangeCode' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' constraints.validation.warning='ResultObservationCode ResultObservationInterpretationCodeP ResultObservation2AuthorParticipation ResultObservation2ReferenceRange' constraints.validation.dependOn.ResultObservationCode='ResultObservationCodeP' interpretationCode.codeSystem='2.16.840.1.113883.5.83' interpretationCode.codeSystemName='ObservationInterpretation' constraints.validation.dependOn.ResultObservationInterpretationCode='ResultObservationInterpretationCodeP' constraints.validation.query='ResultObservation2ReferenceRangeObservationRangeValue ResultObservation2ReferenceRangeObservationRangeCode ResultObservation2ReferenceRangeObservationRange' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolResultObservation2ReferenceRange constraints.validation.error='ResultObservation2ReferenceRangeObservationRange' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolResultObservation2ReferenceRangeObservationRange constraints.validation.error='ResultObservation2ReferenceRangeObservationRangeValue ResultObservation2ReferenceRangeObservationRangeCode' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ResultOrganizer2TemplateId ResultOrganizerResultObservation ResultOrganizer2IVLTSLow ResultOrganizer2IVLTSHigh' templateId.root='2.16.840.1.113883.10.20.22.4.1' templateId.extension='2015-08-01' constraints.validation.warning='ResultOrganizerCodeValue ResultOrganizer2AuthorParticipation' constraints.validation.info='ResultOrganizerClassCodeValue ResultOrganizer2EffectiveTime' constraints.validation.query='ResultOrganizer2IVLTSLow ResultOrganizer2IVLTSHigh' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolResultOrganizer2IVLTS constraints.validation.error='ResultOrganizer2IVLTSLow ResultOrganizer2IVLTSHigh' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='SeverityObservation2TemplateId SeverityObservationCode SeverityObservationCodeP SeverityObservationText SeverityObservationStatusCode SeverityObservationStatusCodeP SeverityObservationValue SeverityObservationValueP' templateId.root='2.16.840.1.113883.10.20.22.4.8' templateId.extension='2014-06-09' constraints.validation.info='SeverityObservationTextReference SeverityObservationTextReferenceValue SeverityObservationReferenceValue' constraints.validation.dependOn.SeverityObservationCode='SeverityObservationCodeP' constraints.validation.dependOn.SeverityObservationStatusCode='SeverityObservationStatusCodeP' value.codeSystem='2.16.840.1.113883.6.96' value.codeSystemName='SNOMEDCT' constraints.validation.dependOn.SeverityObservationValue='SeverityObservationValueP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='SocialHistoryObservation2TemplateId SocialHistoryObservation2IfNotLoincRequireTranslation SocialHistoryObservationCodeP SocialHistoryObservationStatusCode SocialHistoryObservationStatusCodeP SocialHistoryObservation2EffectiveTime' templateId.root='2.16.840.1.113883.10.20.22.4.38' templateId.extension='2015-08-01' constraints.validation.warning='SocialHistoryObservation2ReferenceAttribute SocialHistoryObservation2IfNotLoincRequireTranslationFromLoinc SocialHistoryObservationCode SocialHistoryObservationValue SocialHistoryObservation2AuthorParticipation' code.codeSystem='2.16.840.1.113883.6.96' code.codeSystemName='SNOMEDCT' constraints.validation.dependOn.SocialHistoryObservationStatusCode='SocialHistoryObservationStatusCodeP' constraints.validation.info='SocialHistoryObservation2CDTranslation SocialHistoryObservation2CDTranslationP' constraints.validation.query='SocialHistoryObservation2CDTranslation SocialHistoryObservation2CDTranslationP' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolSocialHistoryObservation2CD constraints.validation.info='SocialHistoryObservation2CDTranslation SocialHistoryObservation2CDTranslationP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='SubstanceOrDeviceAllergyObservation2TemplateId SubstanceOrDeviceAllergyObservationReactionInversionIndicator SubstanceOrDeviceAllergyObservationAllergyStatusInversionIndicator SubstanceOrDeviceAllergyObservationEffectiveTime SubstanceOrDeviceAllergyObservationValue SubstanceOrDeviceAllergyObservationValueP SubstanceOrDeviceAllergyObservationCode SubstanceOrDeviceAllergyObservationCodeP SubstanceOrDeviceAllergyObservation2IVLTSLow SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityCEOriginalText SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityCETranslation SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityCode SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntity SubstanceOrDeviceAllergyObservationParticipantParticipantRole' templateId.root='2.16.840.1.113883.10.20.24.3.90' templateId.extension='2014-06-09' constraints.validation.warning='SubstanceOrDeviceAllergyObservationSeverityInversionIndicator SubstanceOrDeviceAllergyObservation2CriticalityInversionIndicator SubstanceOrDeviceAllergyObservationParticipant SubstanceOrDeviceAllergyObservationReactionObservation SubstanceOrDeviceAllergyObservationSeverityObservation SubstanceOrDeviceAllergyObservation2AuthorParticipation SubstanceOrDeviceAllergyObservation2CriticalityObservation' value.codeSystem='2.16.840.1.113883.6.96' value.codeSystemName='SNOMEDCT' constraints.validation.dependOn.SubstanceOrDeviceAllergyObservationValue='SubstanceOrDeviceAllergyObservationValueP' constraints.validation.dependOn.SubstanceOrDeviceAllergyObservationCode='SubstanceOrDeviceAllergyObservationCodeP' constraints.validation.info='SubstanceOrDeviceAllergyObservationAllergyStatusObservation SubstanceOrDeviceAllergyObservation2IVLTSHigh SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityAllergySpecificMedication SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityOriginalTextReference SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityReferenceValue SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityOriginalTextReferenceValue SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityAllergyClassMedication SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityAllergyFoodOtherSubstance' constraints.validation.query='SubstanceOrDeviceAllergyObservation2IVLTSLow SubstanceOrDeviceAllergyObservation2IVLTSHigh SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityCEOriginalText SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityCETranslation SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityAllergySpecificMedication SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityOriginalTextReference SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityReferenceValue SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityOriginalTextReferenceValue SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityAllergyClassMedication SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityAllergyFoodOtherSubstance SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityCode SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntity SubstanceOrDeviceAllergyObservationParticipantParticipantRole' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolSubstanceOrDeviceAllergyObservation2IVLTS constraints.validation.error='SubstanceOrDeviceAllergyObservation2IVLTSLow' constraints.validation.info='SubstanceOrDeviceAllergyObservation2IVLTSHigh' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolSubstanceOrDeviceAllergyObservation2Participant constraints.validation.error='SubstanceOrDeviceAllergyObservationParticipantParticipantRole' @@ -47513,159 +47513,159 @@ value.code = 'completed') http://www.openhealthtools.org/mdht/uml/cda/annotation/consolSubstanceOrDeviceAllergyObservation2ParticipantParticipantRolePlayingEntity constraints.validation.info='SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityAllergySpecificMedication SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityOriginalTextReference SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityReferenceValue SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityOriginalTextReferenceValue SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityAllergyClassMedication SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityAllergyFoodOtherSubstance' constraints.validation.error='SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityCode SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityCEOriginalText SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityCETranslation' constraints.validation.query='SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityCEOriginalText SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityCETranslation' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolSubstanceOrDeviceAllergyObservation2ParticipantParticipantRolePlayingEntityCE constraints.validation.error='SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityCEOriginalText SubstanceOrDeviceAllergyObservationParticipantParticipantRolePlayingEntityCETranslation' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='TobaccoUse2TemplateId TobaccoUse2Id TobaccoUseCode TobaccoUseCodeP TobaccoUseEffectiveTime' templateId.root='2.16.840.1.113883.10.20.22.4.85' templateId.extension='2014-06-09' code.code='11367-0' code.codeSystemName='' code.displayName='History of tobacco use' constraints.validation.dependOn.TobaccoUseCode='TobaccoUseCodeP' constraints.validation.warning='TobaccoUse2AuthorParticipation' constraints.validation.info='TobaccoUse2CDCodeTermAssertionOrLoinc TobaccoUse2IVLTSHigh' constraints.validation.query='TobaccoUse2CDCodeTermAssertionOrLoinc TobaccoUse2IVLTSHigh' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolTobaccoUse2IVLTS constraints.validation.info='TobaccoUse2IVLTSHigh' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolTobaccoUse2CD constraints.validation.info='TobaccoUse2CDCodeTermAssertionOrLoinc' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='VitalSignObservation2TemplateId VitalSignObservationEffectiveTime VitalSignObservationValue VitalSignObservationText VitalSignObservationInterpretationCode VitalSignObservationAuthor' templateId.root='2.16.840.1.113883.10.20.22.4.27' templateId.extension='2014-06-09' constraints.validation.info='VitalSignObservationTextReference VitalSignObservationReferenceValue VitalSignObservationTextReferenceValue VitalSignObservationInterpretationCodeP' interpretationCode.codeSystem='2.16.840.1.113883.5.83' interpretationCode.codeSystemName='ObservationInterpretation' constraints.validation.dependOn.VitalSignObservationInterpretationCode='VitalSignObservationInterpretationCodeP' constraints.validation.warning='VitalSignObservation2AuthorParticipation' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='VitalSignsOrganizer2TemplateId VitalSignsOrganizerCode VitalSignsOrganizerCodeP VitalSignsOrganizerEffectiveTime VitalSignsOrganizerVitalSignObservation VitalSignsOrganizer2CDTranslation VitalSignsOrganizer2CDTranslationP' templateId.root='2.16.840.1.113883.10.20.22.4.26' templateId.extension='2015-08-01' constraints.validation.dependOn.VitalSignsOrganizerCode='VitalSignsOrganizerCodeP' constraints.validation.warning='VitalSignsOrganizer2AuthorParticipation' constraints.validation.query='VitalSignsOrganizer2CDTranslation VitalSignsOrganizer2CDTranslationP' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolVitalSignsOrganizer2CD translation.code='74728-7' translation.codeSystem='2.16.840.1.113883.6.1' translation.codeSystemName='LOINC' translation.displayName='Vital signs, weight, height, head circumference, oximetry, BMI, and BSA panel - HL7.CCDAr1.1' constraints.validation.error='VitalSignsOrganizer2CDTranslation VitalSignsOrganizer2CDTranslationP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='MentalStatusObservation2TemplateId ResultObservationClassCode ResultObservationMoodCode ResultObservationId ResultObservationCode ResultObservationCodeP ResultObservationStatusCode ResultObservationStatusCodeP ResultObservationEffectiveTime ResultObservationValue ResultObservationText ResultObservationInterpretationCode ResultObservationMethodCode ResultObservationTargetSiteCode CognitiveStatusResultObservationAuthor CognitiveStatusResultObservationNonMedicinalSupplyActivity CognitiveStatusResultObservationCaregiverCharacteristics MentalStatusObservation2CDTranslation MentalStatusObservation2CDTranslationP CognitiveStatusResultObservationReferenceRangeObservationRange' templateId.root='2.16.840.1.113883.10.20.22.4.74' templateId.extension='2015-08-01' constraints.validation.warning='CognitiveStatusResultObservationValueDatatype MentalStatusObservation2AuthorParticipation' constraints.validation.info='ResultObservationTextReference ResultObservationTextReferenceValue ResultObservationReferenceValue ResultObservationCodeValue ResultObservationNoObservationRangeCode ResultObservationAuthorMultiplicity CognitiveStatusResultObservationAssessmentScaleObservation CognitiveStatusResultObservationReferenceRange CognitiveStatusResultObservationReferenceRangeObservationRangeNoCode' classCode='OBS' moodCode='EVN' constraints.validation.dependOn.ResultObservationCode='ResultObservationCodeP' constraints.validation.dependOn.ResultObservationStatusCode='ResultObservationStatusCodeP' constraints.validation.query='MentalStatusObservation2CDTranslation MentalStatusObservation2CDTranslationP CognitiveStatusResultObservationReferenceRangeObservationRangeNoCode CognitiveStatusResultObservationReferenceRangeObservationRange' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolMentalStatusObservation2CD translation.code='75275-8' translation.codeSystem='2.16.840.1.113883.6.1' translation.codeSystemName='LOINC' translation.displayName='Cognitive Function' constraints.validation.error='MentalStatusObservation2CDTranslation MentalStatusObservation2CDTranslationP' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolMentalStatusObservation2ReferenceRange constraints.validation.error='CognitiveStatusResultObservationReferenceRangeObservationRange' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolMentalStatusObservation2ReferenceRangeObservationRange constraints.validation.info='CognitiveStatusResultObservationReferenceRangeObservationRangeNoCode' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='AnesthesiaSection2TemplateId AnesthesiaSectionCode AnesthesiaSectionCodeP' templateId.root='2.16.840.1.113883.10.20.22.2.25' templateId.extension='2014-06-09' constraints.validation.dependOn.AnesthesiaSectionCode='AnesthesiaSectionCodeP' constraints.validation.info='AnesthesiaSectionProcedureActivityProcedure AnesthesiaSectionMedicationActivity' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='AssessmentAndPlanSection2TemplateId AssessmentAndPlanSectionCode AssessmentAndPlanSectionCodeP' templateId.root='2.16.840.1.113883.10.20.22.2.9' templateId.extension='2014-06-09' constraints.validation.dependOn.AssessmentAndPlanSectionCode='AssessmentAndPlanSectionCodeP' constraints.validation.info='AssessmentAndPlanSectionPlanOfCareActivityAct' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ComplicationsSection2TemplateId ComplicationsSectionCode ComplicationsSectionCodeP' templateId.root='2.16.840.1.113883.10.20.22.2.37' templateId.extension='2015-08-01' constraints.validation.info='ComplicationsSectionExplicitComplications ComplicationsSectionProblemObservation' constraints.validation.dependOn.ComplicationsSectionCode='ComplicationsSectionCodeP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='EncountersSectionEntriesOptionalTemplateId EncountersSectionEntriesOptionalCode EncountersSectionEntriesOptionalCodeP' templateId.root='2.16.840.1.113883.10.20.22.2.22' templateId.extension='2015-08-01' constraints.validation.dependOn.EncountersSectionEntriesOptionalCode='EncountersSectionEntriesOptionalCodeP' constraints.validation.warning='EncountersSectionEntriesOptionalEncounterActivities' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='FunctionalStatusSection2TemplateId FunctionalStatusSectionCode FunctionalStatusSectionCodeP FunctionalStatusSectionCognitiveStatusResultOrganizer FunctionalStatusSectionCognitiveStatusResultObservation FunctionalStatusSectionNumberOfPressureUlcersObservation FunctionalStatusSectionHighestPressureUlcerStage' templateId.root='2.16.840.1.113883.10.20.22.2.14' templateId.extension='2014-06-09' constraints.validation.dependOn.FunctionalStatusSectionCode='FunctionalStatusSectionCodeP' constraints.validation.info='FunctionalStatusSectionFunctionalStatusResultOrganizer FunctionalStatusSectionFunctionalStatusResultObservation FunctionalStatusSectionNonMedicinalSupplyActivity FunctionalStatusSection2SelfCareActivities FunctionalStatusSection2SensoryAndSpeechStatus' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='HistoryOfPastIllnessSection2TemplateId HistoryOfPastIllnessSectionCode HistoryOfPastIllnessSectionCodeP' templateId.root='2.16.840.1.113883.10.20.22.2.20' templateId.extension='2015-08-01' constraints.validation.dependOn.HistoryOfPastIllnessSectionCode='HistoryOfPastIllnessSectionCodeP' constraints.validation.info='HistoryOfPastIllnessSectionProblemObservation' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='AdmissionDiagnosisSection2TemplateId HospitalAdmissionDiagnosisSectionCode HospitalAdmissionDiagnosisSectionCodeP AdmissionDiagnosisSection2CETranslation AdmissionDiagnosisSection2CETranslationP' templateId.root='2.16.840.1.113883.10.20.22.2.43' templateId.extension='2015-08-01' constraints.validation.dependOn.HospitalAdmissionDiagnosisSectionCode='HospitalAdmissionDiagnosisSectionCodeP' constraints.validation.warning='HospitalAdmissionDiagnosisSectionHospitalAdmissionDiagnosis' constraints.validation.query='AdmissionDiagnosisSection2CETranslation AdmissionDiagnosisSection2CETranslationP' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolAdmissionDiagnosisSection2CE translation.code='42347-5' translation.codeSystem='2.16.840.1.113883.6.1' translation.codeSystemName='LOINC' translation.displayName='Admission Diagnosis' constraints.validation.error='AdmissionDiagnosisSection2CETranslation AdmissionDiagnosisSection2CETranslationP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='HospitalAdmissionMedicationsSectionEntriesOptionalTemplateId HospitalAdmissionMedicationsSectionEntriesOptionalCode HospitalAdmissionMedicationsSectionEntriesOptionalCodeP' templateId.root='2.16.840.1.113883.10.20.22.2.44' templateId.extension='2015-08-01' constraints.validation.dependOn.HospitalAdmissionMedicationsSectionEntriesOptionalCode='HospitalAdmissionMedicationsSectionEntriesOptionalCodeP' constraints.validation.warning='HospitalAdmissionMedicationsSectionEntriesOptionalAdmissionMedication' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='DischargeDiagnosisSection2TemplateId HospitalDischargeDiagnosisSectionCode HospitalDischargeDiagnosisSectionCodeP DischargeDiagnosisSection2CETranslation DischargeDiagnosisSection2CETranslationP' templateId.root='2.16.840.1.113883.10.20.22.2.24' templateId.extension='2015-08-01' constraints.validation.dependOn.HospitalDischargeDiagnosisSectionCode='HospitalDischargeDiagnosisSectionCodeP' constraints.validation.warning='HospitalDischargeDiagnosisSectionHospitalDischargeDiagnosis' constraints.validation.query='DischargeDiagnosisSection2CETranslation DischargeDiagnosisSection2CETranslationP' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolDischargeDiagnosisSection2CE translation.code='78375-3' translation.codeSystem='2.16.840.1.113883.6.1' translation.codeSystemName='LOINC' translation.displayName='Discharge Diagnosis' constraints.validation.error='DischargeDiagnosisSection2CETranslation DischargeDiagnosisSection2CETranslationP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='HospitalDischargeMedicationsSectionEntriesOptionalTemplateId HospitalDischargeMedicationsSectionEntriesOptionalCode HospitalDischargeMedicationsSectionEntriesOptionalCodeP DischargeMedicationsSectionEntriesOptional2CETranslation DischargeMedicationsSectionEntriesOptional2CETranslationP' templateId.root='2.16.840.1.113883.10.20.22.2.11' templateId.extension='2015-08-01' constraints.validation.dependOn.HospitalDischargeMedicationsSectionEntriesOptionalCode='HospitalDischargeMedicationsSectionEntriesOptionalCodeP' constraints.validation.warning='HospitalDischargeMedicationsSectionEntriesOptionalDischargeMedication' constraints.validation.query='DischargeMedicationsSectionEntriesOptional2CETranslation DischargeMedicationsSectionEntriesOptional2CETranslationP' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolDischargeMedicationsSectionEntriesOptional2CE translation.code='75311-1' translation.codeSystem='2.16.840.1.113883.6.1' translation.codeSystemName='LOINC' translation.displayName='Discharge Medications' constraints.validation.error='DischargeMedicationsSectionEntriesOptional2CETranslation DischargeMedicationsSectionEntriesOptional2CETranslationP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ImmunizationsSectionEntriesOptionalTemplateId ImmunizationsSectionEntriesOptionalCode ImmunizationsSectionEntriesOptionalCodeP' templateId.root='2.16.840.1.113883.10.20.22.2.2' templateId.extension='2015-08-01' constraints.validation.dependOn.ImmunizationsSectionEntriesOptionalCode='ImmunizationsSectionEntriesOptionalCodeP' constraints.validation.warning='ImmunizationsSectionEntriesOptionalImmunizationActivity' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='InstructionsSection2TemplateId InstructionsSectionCode InstructionsSectionCodeP InstructionsSectionInstructions' templateId.root='2.16.840.1.113883.10.20.22.2.45' templateId.extension='2014-06-09' nullFlavor='NI' constraints.validation.info='InstructionsSection2NullFlavor' constraints.validation.dependOn.InstructionsSectionCode='InstructionsSectionCodeP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='InterventionsSection2TemplateId InterventionsSectionCode InterventionsSectionCodeP' templateId.root='2.16.840.1.113883.10.20.21.2.3' templateId.extension='2015-08-01' constraints.validation.dependOn.InterventionsSectionCode='InterventionsSectionCodeP' constraints.validation.warning='InterventionsSection2InterventionAct InterventionsSection2PlannedInterventionAct' constraints.validation.info='InterventionsSection2HandoffCommunication' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='MedicalEquipmentSection2TemplateId MedicalEquipmentSectionCode MedicalEquipmentSectionCodeP' templateId.root='2.16.840.1.113883.10.20.22.2.23' templateId.extension='2014-06-09' constraints.validation.dependOn.MedicalEquipmentSectionCode='MedicalEquipmentSectionCodeP' constraints.validation.warning='MedicalEquipmentSectionNonMedicinalSupplyActivity MedicalEquipmentSection2ProcedureActivityProcedure2' constraints.validation.info='MedicalEquipmentSection2MedicalEquipmentOrganizer' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='MedicationsAdministeredSection2TemplateId MedicationsAdministeredSectionCode MedicationsAdministeredSectionCodeP' templateId.root='2.16.840.1.113883.10.20.22.2.38' templateId.extension='2014-06-09' constraints.validation.dependOn.MedicationsAdministeredSectionCode='MedicationsAdministeredSectionCodeP' constraints.validation.info='MedicationsAdministeredSectionMedicationActivity' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='PayersSection2TemplateId PayersSectionCode PayersSectionCodeP' templateId.root='2.16.840.1.113883.10.20.22.2.18' templateId.extension='2015-08-01' constraints.validation.dependOn.PayersSectionCode='PayersSectionCodeP' constraints.validation.warning='PayersSectionCoverageActivity' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='PhysicalExamSection2TemplateId PhysicalExamSectionCode PhysicalExamSectionCodeP PhysicalExamSectionPressureUlcerObservation PhysicalExamSectionHighestPressureUlcerStage PhysicalExamSectionNumberOfPressureUlcersObservation PhysicalExamSection2ComponentSectionCodeP PhysicalExamSection2ComponentSectionTitle PhysicalExamSection2ComponentSectionText PhysicalExamSection2ComponentSection' templateId.root='2.16.840.1.113883.10.20.2.10' templateId.extension='2015-08-01' constraints.validation.dependOn.PhysicalExamSectionCode='PhysicalExamSectionCodeP' constraints.validation.info='PhysicalExamSection2WoundObservation PhysicalExamSection2Component' constraints.validation.warning='PhysicalExamSection2ComponentSectionCode' constraints.validation.query='PhysicalExamSection2ComponentSectionCode PhysicalExamSection2ComponentSectionCodeP PhysicalExamSection2ComponentSectionTitle PhysicalExamSection2ComponentSectionText PhysicalExamSection2ComponentSection' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolPhysicalExamSection2Component constraints.validation.error='PhysicalExamSection2ComponentSection' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolPhysicalExamSection2ComponentSection code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' constraints.validation.warning='PhysicalExamSection2ComponentSectionCode' constraints.validation.error='PhysicalExamSection2ComponentSectionCodeP PhysicalExamSection2ComponentSectionTitle PhysicalExamSection2ComponentSectionText' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='PlanOfTreatmentSection2TemplateId PlanOfCareSectionCode PlanOfCareSectionCodeP' templateId.root='2.16.840.1.113883.10.20.22.2.10' templateId.extension='2014-06-09' constraints.validation.dependOn.PlanOfCareSectionCode='PlanOfCareSectionCodeP' constraints.validation.info='PlanOfCareSectionPlanOfCareActivityObservation PlanOfCareSectionPlanOfCareActivityEncounter PlanOfCareSectionPlanOfCareActivityAct PlanOfCareSectionPlanOfCareActivityProcedure PlanOfCareSectionPlanOfCareActivitySubstanceAdministration PlanOfCareSectionPlanOfCareActivitySupply PlanOfCareSectionInstructions PlanOfTreatmentSection2HandoffCommunication PlanOfTreatmentSection2NutritionRecommendation PlanOfTreatmentSection2PlannedImmunizationActivity PlanOfTreatmentSection2GoalObservation' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='PlannedProcedureSection2TemplateId PlannedProcedureSectionCode PlannedProcedureSectionCodeP' templateId.root='2.16.840.1.113883.10.20.22.2.30' templateId.extension='2014-06-09' constraints.validation.dependOn.PlannedProcedureSectionCode='PlannedProcedureSectionCodeP' constraints.validation.info='PlannedProcedureSectionPlanOfCareActivityProcedure' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='PostprocedureDiagnosisSection2TemplateId PostprocedureDiagnosisSectionCode PostprocedureDiagnosisSectionCodeP' templateId.root='2.16.840.1.113883.10.20.22.2.36' templateId.extension='2015-08-01' constraints.validation.dependOn.PostprocedureDiagnosisSectionCode='PostprocedureDiagnosisSectionCodeP' constraints.validation.warning='PostprocedureDiagnosisSectionPostprocedureDiagnosis' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='PreoperativeDiagnosisSection2TemplateId PreoperativeDiagnosisSectionCode PreoperativeDiagnosisSectionCodeP' templateId.root='2.16.840.1.113883.10.20.22.2.34' templateId.extension='2015-08-01' constraints.validation.dependOn.PreoperativeDiagnosisSectionCode='PreoperativeDiagnosisSectionCodeP' constraints.validation.warning='PreoperativeDiagnosisSectionPreoperativeDiagnosis' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ProcedureFindingsSection2TemplateId ProcedureFindingsSectionCode ProcedureFindingsSectionCodeP' templateId.root='2.16.840.1.113883.10.20.22.2.28' templateId.extension='2015-08-01' constraints.validation.dependOn.ProcedureFindingsSectionCode='ProcedureFindingsSectionCodeP' constraints.validation.info='ProcedureFindingsSectionProblemObservation' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ProcedureIndicationsSection2TemplateId ProcedureIndicationsSectionCode ProcedureIndicationsSectionCodeP' templateId.root='2.16.840.1.113883.10.20.22.2.29' templateId.extension='2014-06-09' constraints.validation.dependOn.ProcedureIndicationsSectionCode='ProcedureIndicationsSectionCodeP' constraints.validation.info='ProcedureIndicationsSectionIndication' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ProceduresSectionEntriesOptionalTemplateId ProceduresSectionEntriesOptionalCode ProceduresSectionEntriesOptionalCodeP' templateId.root='2.16.840.1.113883.10.20.22.2.7' templateId.extension='2014-06-09' constraints.validation.dependOn.ProceduresSectionEntriesOptionalCode='ProceduresSectionEntriesOptionalCodeP' constraints.validation.info='ProceduresSectionEntriesOptionalProcedureActivityProcedure ProceduresSectionEntriesOptionalProcedureActivityObservation ProceduresSectionEntriesOptionalProcedureActivityAct' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ReasonForReferralSection2TemplateId ReasonForReferralSectionCode ReasonForReferralSectionCodeP' templateId.root='1.3.6.1.4.1.19376.1.5.3.1.3.1' templateId.extension='2014-06-09' constraints.validation.dependOn.ReasonForReferralSectionCode='ReasonForReferralSectionCodeP' constraints.validation.info='ReasonForReferralSection2PatientReferralAct' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ResultsSectionEntriesOptionalTemplateId ResultsSectionEntriesOptionalCode ResultsSectionEntriesOptionalCodeP' templateId.root='2.16.840.1.113883.10.20.22.2.3' templateId.extension='2015-08-01' constraints.validation.dependOn.ResultsSectionEntriesOptionalCode='ResultsSectionEntriesOptionalCodeP' constraints.validation.warning='ResultsSectionEntriesOptionalResultOrganizer' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='SocialHistorySection2TemplateId SocialHistorySectionCode SocialHistorySectionCodeP' templateId.root='2.16.840.1.113883.10.20.22.2.17' templateId.extension='2015-08-01' constraints.validation.dependOn.SocialHistorySectionCode='SocialHistorySectionCodeP' constraints.validation.info='SocialHistorySectionSocialHistoryObservation SocialHistorySectionTobaccoUse SocialHistorySection2CaregiverCharacteristics SocialHistorySection2CulturalAndReligiousObservation SocialHistorySection2CharacteristicsOfHomeEnvironment SocialHistorySection2BirthSexObservation' constraints.validation.warning='SocialHistorySectionSmokingStatusObservation' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='VitalSignsSectionEntriesOptionalTemplateId VitalSignsSectionEntriesOptionalCode VitalSignsSectionEntriesOptionalCodeP' templateId.root='2.16.840.1.113883.10.20.22.2.4' templateId.extension='2015-08-01' constraints.validation.dependOn.VitalSignsSectionEntriesOptionalCode='VitalSignsSectionEntriesOptionalCodeP' constraints.validation.warning='VitalSignsSectionEntriesOptionalVitalSignsOrganizer' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='AdvanceDirectivesSectionEntriesOptionalTemplateId AdvanceDirectivesSectionEntriesOptionalCode AdvanceDirectivesSectionEntriesOptionalCodeP' templateId.root='2.16.840.1.113883.10.20.22.2.21' templateId.extension='2015-08-01' constraints.validation.dependOn.AdvanceDirectivesSectionEntriesOptionalCode='AdvanceDirectivesSectionEntriesOptionalCodeP' constraints.validation.info='AdvanceDirectivesSectionEntriesOptional2AdvanceDirectiveOrganizer AdvanceDirectivesSectionEntriesOptionalAdvanceDirectiveObservation' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='MedicationsSectionEntriesOptionalTemplateId MedicationsSectionEntriesOptionalCode MedicationsSectionEntriesOptionalCodeP' templateId.root='2.16.840.1.113883.10.20.22.2.1' templateId.extension='2014-06-09' constraints.validation.info='MedicationsSectionEntriesOptionalAbsenceOfMedications' constraints.validation.dependOn.MedicationsSectionEntriesOptionalCode='MedicationsSectionEntriesOptionalCodeP' constraints.validation.warning='MedicationsSectionEntriesOptionalMedicationActivity' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ProblemSectionEntriesOptionalTemplateId ProblemSectionEntriesOptionalCode ProblemSectionEntriesOptionalCodeP' templateId.root='2.16.840.1.113883.10.20.22.2.5' templateId.extension='2015-08-01' constraints.validation.dependOn.ProblemSectionEntriesOptionalCode='ProblemSectionEntriesOptionalCodeP' constraints.validation.warning='ProblemSectionEntriesOptionalProblemConcern' constraints.validation.info='ProblemSectionEntriesOptional2HealthStatusObservation2' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='AdvanceDirectivesSectionEntriesOptionalTemplateId AdvanceDirectivesSection2HasAdvanceDirectiveObservation2XorAdvanceDirectiveOrganizer AdvanceDirectivesSectionEntriesOptionalCode AdvanceDirectivesSectionEntriesOptionalCodeP AdvanceDirectivesSection2Title AdvanceDirectivesSection2Text AdvanceDirectivesSectionEntriesOptional2AdvanceDirectiveOrganizer AdvanceDirectivesSectionEntriesOptionalAdvanceDirectiveObservation AdvanceDirectivesSection2Entry AdvanceDirectivesSection2EntryHasAdvanceDirectiveObservation2XorAdvanceDirectiveOrganizer' templateId.root='2.16.840.1.113883.10.20.22.2.21.1' templateId.extension='2015-08-01' constraints.validation.dependOn.AdvanceDirectivesSectionEntriesOptionalCode='AdvanceDirectivesSectionEntriesOptionalCodeP' constraints.validation.query='AdvanceDirectivesSection2EntryHasAdvanceDirectiveObservation2XorAdvanceDirectiveOrganizer AdvanceDirectivesSection2EntryAdvanceDirectiveOrganizer AdvanceDirectivesSection2EntryAdvanceDirectiveObservation2' constraints.validation.info='AdvanceDirectivesSection2EntryAdvanceDirectiveOrganizer AdvanceDirectivesSection2EntryAdvanceDirectiveObservation2' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolAdvanceDirectivesSection2Entry constraints.validation.error='AdvanceDirectivesSection2EntryHasAdvanceDirectiveObservation2XorAdvanceDirectiveOrganizer' constraints.validation.info='AdvanceDirectivesSection2EntryAdvanceDirectiveOrganizer AdvanceDirectivesSection2EntryAdvanceDirectiveObservation2' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='AllergiesSectionEntriesOptionalTemplateId AllergiesSectionEntriesOptionalCode AllergiesSectionEntriesOptionalCodeP' templateId.root='2.16.840.1.113883.10.20.22.2.6' templateId.extension='2015-08-01' constraints.validation.dependOn.AllergiesSectionEntriesOptionalCode='AllergiesSectionEntriesOptionalCodeP' constraints.validation.warning='AllergiesSectionEntriesOptionalAllergyProblemAct' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='AllergiesSectionEntriesOptionalTemplateId AllergiesSectionEntriesOptionalCode AllergiesSectionEntriesOptionalCodeP AllergiesSection2Title AllergiesSection2Text AllergiesSectionEntriesOptionalAllergyProblemAct' templateId.root='2.16.840.1.113883.10.20.22.2.6.1' templateId.extension='2015-08-01' nullFlavor='NI' constraints.validation.info='AllergiesSection2NullFlavor' constraints.validation.dependOn.AllergiesSectionEntriesOptionalCode='AllergiesSectionEntriesOptionalCodeP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='EncountersSectionEntriesOptionalTemplateId EncountersSectionEntriesOptionalCode EncountersSectionEntriesOptionalCodeP EncountersSection2Text EncountersSection2Title EncountersSectionEntriesOptionalEncounterActivities' templateId.root='2.16.840.1.113883.10.20.22.2.22.1' templateId.extension='2015-08-01' nullFlavor='NI' constraints.validation.info='EncountersSection2NullFlavor' constraints.validation.dependOn.EncountersSectionEntriesOptionalCode='EncountersSectionEntriesOptionalCodeP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='HospitalDischargeMedicationsSectionEntriesOptionalTemplateId DischargeMedicationsSection2Code DischargeMedicationsSection2CodeP DischargeMedicationsSection2Title DischargeMedicationsSection2Text HospitalDischargeMedicationsSectionEntriesOptionalDischargeMedication DischargeMedicationsSection2CETranslation DischargeMedicationsSection2CETranslationP' templateId.root='2.16.840.1.113883.10.20.22.2.11.1' templateId.extension='2015-08-01' nullFlavor='NI' constraints.validation.info='DischargeMedicationsSection2NullFlavor' code.code='10183-2' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Hospital Discharge Medications' constraints.validation.dependOn.DischargeMedicationsSection2Code='DischargeMedicationsSection2CodeP' constraints.validation.query='DischargeMedicationsSection2CETranslation DischargeMedicationsSection2CETranslationP' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolDischargeMedicationsSection2CE translation.code='75311-1' translation.codeSystem='2.16.840.1.113883.6.1' translation.codeSystemName='LOINC' translation.displayName='Discharge Medications' constraints.validation.error='DischargeMedicationsSection2CETranslation DischargeMedicationsSection2CETranslationP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ImmunizationsSectionEntriesOptionalTemplateId ImmunizationsSectionEntriesOptionalCode ImmunizationsSectionEntriesOptionalCodeP ImmunizationsSection2Title ImmunizationsSection2Text ImmunizationsSectionEntriesOptionalImmunizationActivity' templateId.root='2.16.840.1.113883.10.20.22.2.2.1' templateId.extension='2015-08-01' nullFlavor='NI' constraints.validation.info='ImmunizationsSection2NullFlavor' constraints.validation.dependOn.ImmunizationsSectionEntriesOptionalCode='ImmunizationsSectionEntriesOptionalCodeP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='MedicationsSectionEntriesOptionalTemplateId MedicationsSectionEntriesOptionalCode MedicationsSectionEntriesOptionalCodeP MedicationsSection2Title MedicationsSection2Text MedicationsSectionEntriesOptionalMedicationActivity' templateId.root='2.16.840.1.113883.10.20.22.2.1.1' templateId.extension='2014-06-09' nullFlavor='NI' constraints.validation.info='MedicationsSection2NullFlavor' constraints.validation.dependOn.MedicationsSectionEntriesOptionalCode='MedicationsSectionEntriesOptionalCodeP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ProblemSectionEntriesOptionalTemplateId ProblemSectionEntriesOptionalCode ProblemSectionEntriesOptionalCodeP ProblemSection2Title ProblemSection2Text ProblemSectionEntriesOptionalProblemConcern' templateId.root='2.16.840.1.113883.10.20.22.2.5.1' templateId.extension='2015-08-01' nullFlavor='NI' constraints.validation.info='ProblemSection2NullFlavor ProblemSectionEntriesOptional2HealthStatusObservation2' constraints.validation.dependOn.ProblemSectionEntriesOptionalCode='ProblemSectionEntriesOptionalCodeP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ProceduresSectionEntriesOptionalTemplateId ProceduresSection2HasProcedureActivity ProceduresSectionEntriesOptionalCode ProceduresSectionEntriesOptionalCodeP ProceduresSection2Title ProceduresSection2Text ProceduresSectionEntriesOptionalProcedureActivityProcedure ProceduresSectionEntriesOptionalProcedureActivityObservation ProceduresSectionEntriesOptionalProcedureActivityAct ProceduresSection2Entry' templateId.root='2.16.840.1.113883.10.20.22.2.7.1' templateId.extension='2014-06-09' nullFlavor='NI' constraints.validation.info='ProceduresSection2NullFlavor ProceduresSection2EntryProcedureActivityAct2 ProceduresSection2EntryProcedureActivityObservation2 ProceduresSection2EntryProcedureActivityProcedure2' constraints.validation.dependOn.ProceduresSectionEntriesOptionalCode='ProceduresSectionEntriesOptionalCodeP' constraints.validation.query='ProceduresSection2EntryProcedureActivityAct2 ProceduresSection2EntryProcedureActivityObservation2 ProceduresSection2EntryProcedureActivityProcedure2' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolProceduresSection2Entry constraints.validation.info='ProceduresSection2EntryProcedureActivityAct2 ProceduresSection2EntryProcedureActivityObservation2 ProceduresSection2EntryProcedureActivityProcedure2' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ResultsSectionEntriesOptionalTemplateId ResultsSectionEntriesOptionalCode ResultsSectionEntriesOptionalCodeP ResultsSection2Title ResultsSection2Text ResultsSectionEntriesOptionalResultOrganizer' templateId.root='2.16.840.1.113883.10.20.22.2.3.1' templateId.extension='2015-08-01' nullFlavor='NI' constraints.validation.info='ResultsSection2NullFlavor' constraints.validation.dependOn.ResultsSectionEntriesOptionalCode='ResultsSectionEntriesOptionalCodeP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='VitalSignsSectionEntriesOptionalTemplateId VitalSignsSectionEntriesOptionalCode VitalSignsSectionEntriesOptionalCodeP VitalSignsSection2Title VitalSignsSection2Text VitalSignsSectionEntriesOptionalVitalSignsOrganizer' templateId.root='2.16.840.1.113883.10.20.22.2.4.1' templateId.extension='2015-08-01' nullFlavor='NI' constraints.validation.info='VitalSignsSection2NullFlavor' constraints.validation.dependOn.VitalSignsSectionEntriesOptionalCode='VitalSignsSectionEntriesOptionalCodeP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='USRealmHeader2TemplateId ConsultationNote2DoesNotHaveAssementAndPlanSection2WhenAssementOrPlanOfTreatment2ArePresent ConsultationNote2DoesNotHaveChiefComplaintWithChiefComplaintOrReasonForVisitSection ConsultationNote2HasAnAssementAndPlanSectionOrIndividualAssementAndPlanSections ConsultationNote2Code ConsultationNote2CodeP ConsultationNote2InFulfillmentOf ConsultationNote2ComponentOf ConsultationNote2HistoryOfPresentIllnessSection ConsultationNote2AllergiesSection2 ConsultationNote2ProblemSection2 ConsultationNote2ParticipantAssociatedEntityAssociatedPersonName ConsultationNote2ParticipantAssociatedEntityClassCode ConsultationNote2ParticipantAssociatedEntityId ConsultationNote2ParticipantAssociatedEntityTelecom ConsultationNote2ParticipantAssociatedEntityAssociatedPerson ConsultationNote2ParticipantTypeCode ConsultationNote2ParticipantAssociatedEntity ConsultationNote2InFulfillmentOfOrderId ConsultationNote2InFulfillmentOfOrder ConsultationNote2ComponentOfEncompassingEncounterGeneralHeaderConstraintsUSRealmDateAndTimeDTPreciseToTheDayIVLTS ConsultationNote2ComponentOfEncompassingEncounterResponsiblePartyAssignedEntityHasPersonOrganizationOrBoth ConsultationNote2ComponentOfEncompassingEncounterResponsiblePartyAssignedEntity ConsultationNote2ComponentOfEncompassingEncounterEncounterParticipantAssignedEntityHasPersonOrganizationOrBoth ConsultationNote2ComponentOfEncompassingEncounterEncounterParticipantAssignedEntity ConsultationNote2ComponentOfEncompassingEncounterId ConsultationNote2ComponentOfEncompassingEncounterEffectiveTime ConsultationNote2ComponentOfEncompassingEncounter' templateId.root='2.16.840.1.113883.10.20.22.1.4' templateId.extension='2015-08-01' constraints.validation.info='ConsultationNote2HasAnAssementAndPlanSection2OrBothAssementSectionAndPlanOfTreatmentSection2 ConsultationNote2AssessmentSection ConsultationNote2AssessmentAndPlanSection2 ConsultationNote2PlanOfTreatmentSection2 ConsultationNote2ReasonForVisitSection ConsultationNote2ChiefComplaintSection ConsultationNote2ChiefComplaintAndReasonForVisitSection ConsultationNote2GeneralStatusSection ConsultationNote2HistoryOfPastIllnessSection2 ConsultationNote2ImmunizationsSectionEntriesOptional2 ConsultationNote2ProceduresSectionEntriesOptional2 ConsultationNote2SocialHistorySection2 ConsultationNote2VitalSignsSection2 ConsultationNote2AdvanceDirectivesSectionEntriesOptional2 ConsultationNote2FunctionalStatusSection2 ConsultationNote2ReviewOfSystemsSection ConsultationNote2MedicalEquipmentSection2 ConsultationNote2MentalStatusSection ConsultationNote2NutritionSection ConsultationNote2FamilyHistorySection2 ConsultationNote2ParticipantAssociatedEntityScopingOrganization ConsultationNote2ComponentOfEncompassingEncounterGeneralHeaderConstraintsUSRealmDateAndTimeDTPreciseToTheSecondIVLTS ConsultationNote2ComponentOfEncompassingEncounterResponsibleParty ConsultationNote2ComponentOfEncompassingEncounterEncounterParticipant' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' constraints.validation.dependOn.ConsultationNote2Code='ConsultationNote2CodeP' constraints.validation.warning='ConsultationNote2Participant ConsultationNote2PhysicalExamSection2 ConsultationNote2MedicationsSection2 ConsultationNote2ResultsSection2 ConsultationNote2ParticipantAssociatedEntityAddr ConsultationNote2ComponentOfEncompassingEncounterGeneralHeaderConstraintsUSRealmDateAndTimeDTPreciseToTheMinuteIVLTS ConsultationNote2ComponentOfEncompassingEncounterGeneralHeaderConstraintsUSRealmDateAndTimeDTIfMorePreciseThanDayIncludeTimeZoneOffsetIVLTS' constraints.validation.query='ConsultationNote2ParticipantAssociatedEntityAssociatedPersonName ConsultationNote2ParticipantAssociatedEntityClassCode ConsultationNote2ParticipantAssociatedEntityId ConsultationNote2ParticipantAssociatedEntityAddr ConsultationNote2ParticipantAssociatedEntityTelecom ConsultationNote2ParticipantAssociatedEntityAssociatedPerson ConsultationNote2ParticipantAssociatedEntityScopingOrganization ConsultationNote2ParticipantTypeCode ConsultationNote2ParticipantAssociatedEntity ConsultationNote2InFulfillmentOfOrderId ConsultationNote2InFulfillmentOfOrder ConsultationNote2ComponentOfEncompassingEncounterGeneralHeaderConstraintsUSRealmDateAndTimeDTPreciseToTheDayIVLTS ConsultationNote2ComponentOfEncompassingEncounterGeneralHeaderConstraintsUSRealmDateAndTimeDTPreciseToTheMinuteIVLTS ConsultationNote2ComponentOfEncompassingEncounterGeneralHeaderConstraintsUSRealmDateAndTimeDTPreciseToTheSecondIVLTS ConsultationNote2ComponentOfEncompassingEncounterGeneralHeaderConstraintsUSRealmDateAndTimeDTIfMorePreciseThanDayIncludeTimeZoneOffsetIVLTS ConsultationNote2ComponentOfEncompassingEncounterResponsiblePartyAssignedEntityHasPersonOrganizationOrBoth ConsultationNote2ComponentOfEncompassingEncounterResponsiblePartyAssignedEntity ConsultationNote2ComponentOfEncompassingEncounterEncounterParticipantAssignedEntityHasPersonOrganizationOrBoth ConsultationNote2ComponentOfEncompassingEncounterEncounterParticipantAssignedEntity ConsultationNote2ComponentOfEncompassingEncounterId ConsultationNote2ComponentOfEncompassingEncounterEffectiveTime ConsultationNote2ComponentOfEncompassingEncounterResponsibleParty ConsultationNote2ComponentOfEncompassingEncounterEncounterParticipant ConsultationNote2ComponentOfEncompassingEncounter' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolConsultationNote2Participant typeCode='CALLBCK' constraints.validation.error='ConsultationNote2ParticipantTypeCode ConsultationNote2ParticipantAssociatedEntity' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolConsultationNote2ParticipantAssociatedEntity classCode='ASSIGNED' constraints.validation.error='ConsultationNote2ParticipantAssociatedEntityClassCode ConsultationNote2ParticipantAssociatedEntityId ConsultationNote2ParticipantAssociatedEntityTelecom ConsultationNote2ParticipantAssociatedEntityAssociatedPerson' constraints.validation.warning='ConsultationNote2ParticipantAssociatedEntityAddr' constraints.validation.info='ConsultationNote2ParticipantAssociatedEntityScopingOrganization' @@ -47677,7 +47677,7 @@ value.code = 'completed') http://www.openhealthtools.org/mdht/uml/cda/annotation/consolConsultationNote2ComponentOfEncompassingEncounterResponsibleParty constraints.validation.error='ConsultationNote2ComponentOfEncompassingEncounterResponsiblePartyAssignedEntityHasPersonOrganizationOrBoth ConsultationNote2ComponentOfEncompassingEncounterResponsiblePartyAssignedEntity' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolConsultationNote2ComponentOfEncompassingEncounterEncounterParticipant constraints.validation.error='ConsultationNote2ComponentOfEncompassingEncounterEncounterParticipantAssignedEntityHasPersonOrganizationOrBoth ConsultationNote2ComponentOfEncompassingEncounterEncounterParticipantAssignedEntity' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='USRealmHeader2TemplateId ContinuityOfCareDocument2Code ContinuityOfCareDocument2CodeP ContinuityOfCareDocument2Author ContinuityOfCareDocument2DocumentationOf ContinuityOfCareDocument2AllergiesSection2 ContinuityOfCareDocument2MedicationsSection2 ContinuityOfCareDocument2ProblemSection2 ContinuityOfCareDocument2ResultsSection2 ContinuityOfCareDocument2SocialHistorySection2 ContinuityOfCareDocument2VitalSignsSection2 ContinuityOfCareDocument2AuthorAssignedAuthorHasAssignedPersonOrRepresentedOrganization ContinuityOfCareDocument2AuthorAssignedAuthorHasRepresentOrganization ContinuityOfCareDocument2AuthorAssignedAuthor ContinuityOfCareDocument2DocumentationOfServiceEventIVLTSLow ContinuityOfCareDocument2DocumentationOfServiceEventIVLTSHigh ContinuityOfCareDocument2DocumentationOfServiceEventPerformerAssignedEntityId ContinuityOfCareDocument2DocumentationOfServiceEventPerformerTypeCode ContinuityOfCareDocument2DocumentationOfServiceEventClassCode ContinuityOfCareDocument2DocumentationOfServiceEventEffectiveTime ContinuityOfCareDocument2DocumentationOfServiceEvent' templateId.root='2.16.840.1.113883.10.20.22.1.2' templateId.extension='2015-08-01' code.code='34133-9' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Summarization of Episode Note' constraints.validation.dependOn.ContinuityOfCareDocument2Code='ContinuityOfCareDocument2CodeP' constraints.validation.warning='ContinuityOfCareDocument2ProceduresSection2 ContinuityOfCareDocument2PlanOfTreatmentSection2 ContinuityOfCareDocument2DocumentationOfServiceEventPerformerAssignedEntityHasNationalProviderIdentifier ContinuityOfCareDocument2DocumentationOfServiceEventPerformer' constraints.validation.info='ContinuityOfCareDocument2AdvanceDirectivesSectionEntriesOptional2 ContinuityOfCareDocument2EncountersSectionEntriesOptional2 ContinuityOfCareDocument2FunctionalStatusSection2 ContinuityOfCareDocument2ImmunizationsSection2 ContinuityOfCareDocument2MedicalEquipmentSection2 ContinuityOfCareDocument2PayersSection2 ContinuityOfCareDocument2MentalStatusSection ContinuityOfCareDocument2NutritionSection ContinuityOfCareDocument2FamilyHistorySection2 ContinuityOfCareDocument2DocumentationOfServiceEventPerformerAssignedEntityAssignedPerson ContinuityOfCareDocument2DocumentationOfServiceEventPerformerAssignedEntity' constraints.validation.query='ContinuityOfCareDocument2AuthorAssignedAuthorHasAssignedPersonOrRepresentedOrganization ContinuityOfCareDocument2AuthorAssignedAuthorHasRepresentOrganization ContinuityOfCareDocument2AuthorAssignedAuthor ContinuityOfCareDocument2DocumentationOfServiceEventIVLTSLow ContinuityOfCareDocument2DocumentationOfServiceEventIVLTSHigh ContinuityOfCareDocument2DocumentationOfServiceEventPerformerAssignedEntityHasNationalProviderIdentifier ContinuityOfCareDocument2DocumentationOfServiceEventPerformerAssignedEntityId ContinuityOfCareDocument2DocumentationOfServiceEventPerformerAssignedEntityAssignedPerson ContinuityOfCareDocument2DocumentationOfServiceEventPerformerTypeCode ContinuityOfCareDocument2DocumentationOfServiceEventPerformerAssignedEntity ContinuityOfCareDocument2DocumentationOfServiceEventClassCode ContinuityOfCareDocument2DocumentationOfServiceEventEffectiveTime ContinuityOfCareDocument2DocumentationOfServiceEventPerformer ContinuityOfCareDocument2DocumentationOfServiceEvent' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolContinuityOfCareDocument2Author constraints.validation.error='ContinuityOfCareDocument2AuthorAssignedAuthor' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolContinuityOfCareDocument2AuthorAssignedAuthor constraints.validation.error='ContinuityOfCareDocument2AuthorAssignedAuthorHasAssignedPersonOrRepresentedOrganization ContinuityOfCareDocument2AuthorAssignedAuthorHasRepresentOrganization' @@ -47687,7 +47687,7 @@ value.code = 'completed') http://www.openhealthtools.org/mdht/uml/cda/annotation/consolContinuityOfCareDocument2DocumentationOfServiceEventPerformer typeCode='PRF' constraints.validation.error='ContinuityOfCareDocument2DocumentationOfServiceEventPerformerTypeCode' constraints.validation.info='ContinuityOfCareDocument2DocumentationOfServiceEventPerformerAssignedEntity' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolContinuityOfCareDocument2DocumentationOfServiceEventPerformerAssignedEntity constraints.validation.warning='ContinuityOfCareDocument2DocumentationOfServiceEventPerformerAssignedEntityHasNationalProviderIdentifier' constraints.validation.error='ContinuityOfCareDocument2DocumentationOfServiceEventPerformerAssignedEntityId' constraints.validation.info='ContinuityOfCareDocument2DocumentationOfServiceEventPerformerAssignedEntityAssignedPerson' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='USRealmHeader2TemplateId DiagnosticImagingReport2Id DiagnosticImagingReport2CodeP DiagnosticImagingReport2DocumentationOf DiagnosticImagingReport2FindingsSection DiagnosticImagingReport2Component2 DiagnosticImagingReport2Informant DiagnosticImagingReport2IIRootOIDsMustBeNoMoreThan64Characters DiagnosticImagingReport2IIRoot DiagnosticImagingReport2ParticipantAssociatedEntityPersonName DiagnosticImagingReport2ParticipantAssociatedEntityAssociatedPerson DiagnosticImagingReport2ParticipantAssociatedEntity DiagnosticImagingReport2InFulfillmentOfOrderId DiagnosticImagingReport2InFulfillmentOfOrder DiagnosticImagingReport2DocumentationOfServiceEventClassCode DiagnosticImagingReport2DocumentationOfServiceEventCode DiagnosticImagingReport2DocumentationOfServiceEvent DiagnosticImagingReport2RelatedDocumentParentDocumentIIOidsLength DiagnosticImagingReport2RelatedDocumentParentDocumentId DiagnosticImagingReport2RelatedDocumentParentDocument DiagnosticImagingReport2ComponentOfEncompassingEncounterGeneralHeaderConstraintsUSRealmDateAndTimeDTPreciseToTheDayIVLTS DiagnosticImagingReport2ComponentOfEncompassingEncounterResponsiblePartyAssignedEntity DiagnosticImagingReport2ComponentOfEncompassingEncounterId DiagnosticImagingReport2ComponentOfEncompassingEncounterEffectiveTime DiagnosticImagingReport2ComponentOfEncompassingEncounter DiagnosticImagingReport2ComponentStructuredBodyComponent3SectionSubjectFetusSubjectContext DiagnosticImagingReport2ComponentStructuredBodyComponent3SectionSectionsHaveText DiagnosticImagingReport2ComponentStructuredBodyComponent3SectionCodeP DiagnosticImagingReport2ComponentStructuredBodyComponent3Section DiagnosticImagingReport2ComponentStructuredBody' templateId.root='2.16.840.1.113883.10.20.22.1.5' templateId.extension='2015-08-01' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' constraints.validation.warning='DiagnosticImagingReport2Code DiagnosticImagingReport2DICOMObjectCatalogSection DiagnosticImagingReport2DocumentationOfServiceEventId DiagnosticImagingReport2DocumentationOfServiceEventPhysicianReadingStudyPerformer2 DiagnosticImagingReport2ComponentOfEncompassingEncounterGeneralHeaderConstraintsUSRealmDateAndTimeDTPreciseToTheMinuteIVLTS DiagnosticImagingReport2ComponentOfEncompassingEncounterGeneralHeaderConstraintsUSRealmDateAndTimeDTIfMorePreciseThanDayIncludeTimeZoneOffsetIVLTS DiagnosticImagingReport2ComponentOfEncompassingEncounterResponsiblePartyAssignedEntityHasAssignPersonOrRepresentedOrganization DiagnosticImagingReport2ComponentOfEncompassingEncounterPhysicianofRecordParticipant2 DiagnosticImagingReport2ComponentStructuredBodyComponent3SectionCode DiagnosticImagingReport2ComponentStructuredBodyComponent3SectionTitle DiagnosticImagingReport2ComponentStructuredBodyComponent3SectionText' constraints.validation.dependOn.DiagnosticImagingReport2Code='DiagnosticImagingReport2CodeP' constraints.validation.info='DiagnosticImagingReport2InformationRecipient DiagnosticImagingReport2Participant DiagnosticImagingReport2InFulfillmentOf DiagnosticImagingReport2RelatedDocument DiagnosticImagingReport2ComponentOf DiagnosticImagingReport2ComponentOfEncompassingEncounterGeneralHeaderConstraintsUSRealmDateAndTimeDTPreciseToTheSecondIVLTS DiagnosticImagingReport2ComponentOfEncompassingEncounterResponsibleParty DiagnosticImagingReport2ComponentStructuredBodyComponent3SectionSubject DiagnosticImagingReport2ComponentStructuredBodyComponent3SectionAuthor DiagnosticImagingReport2ComponentStructuredBodyComponent3SectionProcedureContext DiagnosticImagingReport2ComponentStructuredBodyComponent3SectionTextObservation DiagnosticImagingReport2ComponentStructuredBodyComponent3SectionCodeObservations DiagnosticImagingReport2ComponentStructuredBodyComponent3SectionQuantityMeasurementObservation DiagnosticImagingReport2ComponentStructuredBodyComponent3SectionSOPInstanceObservation DiagnosticImagingReport2ComponentStructuredBodyComponent3' constraints.validation.query='DiagnosticImagingReport2IIRootOIDsMustBeNoMoreThan64Characters DiagnosticImagingReport2IIRoot DiagnosticImagingReport2ParticipantAssociatedEntityPersonName DiagnosticImagingReport2ParticipantAssociatedEntityAssociatedPerson DiagnosticImagingReport2ParticipantAssociatedEntity DiagnosticImagingReport2InFulfillmentOfOrderId DiagnosticImagingReport2InFulfillmentOfOrder DiagnosticImagingReport2DocumentationOfServiceEventClassCode DiagnosticImagingReport2DocumentationOfServiceEventId DiagnosticImagingReport2DocumentationOfServiceEventCode DiagnosticImagingReport2DocumentationOfServiceEventPhysicianReadingStudyPerformer2 DiagnosticImagingReport2DocumentationOfServiceEvent DiagnosticImagingReport2RelatedDocumentParentDocumentIIOidsLength DiagnosticImagingReport2RelatedDocumentParentDocumentId DiagnosticImagingReport2RelatedDocumentParentDocument DiagnosticImagingReport2ComponentOfEncompassingEncounterGeneralHeaderConstraintsUSRealmDateAndTimeDTPreciseToTheDayIVLTS DiagnosticImagingReport2ComponentOfEncompassingEncounterGeneralHeaderConstraintsUSRealmDateAndTimeDTPreciseToTheMinuteIVLTS DiagnosticImagingReport2ComponentOfEncompassingEncounterGeneralHeaderConstraintsUSRealmDateAndTimeDTPreciseToTheSecondIVLTS DiagnosticImagingReport2ComponentOfEncompassingEncounterGeneralHeaderConstraintsUSRealmDateAndTimeDTIfMorePreciseThanDayIncludeTimeZoneOffsetIVLTS DiagnosticImagingReport2ComponentOfEncompassingEncounterResponsiblePartyAssignedEntityHasAssignPersonOrRepresentedOrganization DiagnosticImagingReport2ComponentOfEncompassingEncounterResponsiblePartyAssignedEntity DiagnosticImagingReport2ComponentOfEncompassingEncounterId DiagnosticImagingReport2ComponentOfEncompassingEncounterEffectiveTime DiagnosticImagingReport2ComponentOfEncompassingEncounterResponsibleParty DiagnosticImagingReport2ComponentOfEncompassingEncounterPhysicianofRecordParticipant2 DiagnosticImagingReport2ComponentOfEncompassingEncounter DiagnosticImagingReport2ComponentStructuredBodyComponent3SectionSubjectFetusSubjectContext DiagnosticImagingReport2ComponentStructuredBodyComponent3SectionSectionsHaveText DiagnosticImagingReport2ComponentStructuredBodyComponent3SectionCode DiagnosticImagingReport2ComponentStructuredBodyComponent3SectionCodeP DiagnosticImagingReport2ComponentStructuredBodyComponent3SectionTitle DiagnosticImagingReport2ComponentStructuredBodyComponent3SectionText DiagnosticImagingReport2ComponentStructuredBodyComponent3SectionSubject DiagnosticImagingReport2ComponentStructuredBodyComponent3SectionAuthor DiagnosticImagingReport2ComponentStructuredBodyComponent3SectionProcedureContext DiagnosticImagingReport2ComponentStructuredBodyComponent3SectionTextObservation DiagnosticImagingReport2ComponentStructuredBodyComponent3SectionCodeObservations DiagnosticImagingReport2ComponentStructuredBodyComponent3SectionQuantityMeasurementObservation DiagnosticImagingReport2ComponentStructuredBodyComponent3SectionSOPInstanceObservation DiagnosticImagingReport2ComponentStructuredBodyComponent3Section DiagnosticImagingReport2ComponentStructuredBodyComponent3 DiagnosticImagingReport2ComponentStructuredBody' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolDiagnosticImagingReport2II constraints.validation.error='DiagnosticImagingReport2IIRootOIDsMustBeNoMoreThan64Characters DiagnosticImagingReport2IIRoot' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolDiagnosticImagingReport2Participant constraints.validation.error='DiagnosticImagingReport2ParticipantAssociatedEntity' @@ -47710,7 +47710,7 @@ value.code = 'completed') http://www.openhealthtools.org/mdht/uml/cda/annotation/consolDiagnosticImagingReport2ComponentStructuredBodyComponent3Section constraints.validation.error='DiagnosticImagingReport2ComponentStructuredBodyComponent3SectionSectionsHaveText DiagnosticImagingReport2ComponentStructuredBodyComponent3SectionCodeP' code.codeSystem='1.2.840.10008.2.16.4' code.codeSystemName='DCM' constraints.validation.warning='DiagnosticImagingReport2ComponentStructuredBodyComponent3SectionCode DiagnosticImagingReport2ComponentStructuredBodyComponent3SectionTitle DiagnosticImagingReport2ComponentStructuredBodyComponent3SectionText' constraints.validation.info='DiagnosticImagingReport2ComponentStructuredBodyComponent3SectionSubject DiagnosticImagingReport2ComponentStructuredBodyComponent3SectionAuthor DiagnosticImagingReport2ComponentStructuredBodyComponent3SectionProcedureContext DiagnosticImagingReport2ComponentStructuredBodyComponent3SectionTextObservation DiagnosticImagingReport2ComponentStructuredBodyComponent3SectionCodeObservations DiagnosticImagingReport2ComponentStructuredBodyComponent3SectionQuantityMeasurementObservation DiagnosticImagingReport2ComponentStructuredBodyComponent3SectionSOPInstanceObservation' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolDiagnosticImagingReport2ComponentStructuredBodyComponent3SectionSubject constraints.validation.error='DiagnosticImagingReport2ComponentStructuredBodyComponent3SectionSubjectFetusSubjectContext' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='USRealmHeader2TemplateId DischargeSummary2DoesNotHaveChiefComplaintAndReasonForVisitWithChiefComplaintSectionOrReasonSection DischargeSummary2Code DischargeSummary2CodeP DischargeSummary2ComponentOf DischargeSummary2AllergiesSectionEntriesOptional2 DischargeSummary2HospitalCourseSection DischargeSummary2PlanOfTreatmentSection2 DischargeSummary2DischargeDiagnosisSection2 DischargeSummary2ParticipantIfParTypeCodeINDThenAEClassCodeIND DischargeSummary2ComponentOfEncompassingEncounterIVLTSLow DischargeSummary2ComponentOfEncompassingEncounterIVLTSHigh DischargeSummary2ComponentOfEncompassingEncounterEncounterParticipantAssignedEntityHasPersonOrOrganization DischargeSummary2ComponentOfEncompassingEncounterEncounterParticipantAssignedEntity DischargeSummary2ComponentOfEncompassingEncounterResponsiblePartyAssignedEntityHasPersonOrOrganization DischargeSummary2ComponentOfEncompassingEncounterResponsiblePartyAssignedEntity DischargeSummary2ComponentOfEncompassingEncounterEffectiveTime DischargeSummary2ComponentOfEncompassingEncounterDischargeDispositionCodeP DischargeSummary2ComponentOfEncompassingEncounter' templateId.root='2.16.840.1.113883.10.20.22.1.8' templateId.extension='2015-08-01' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' constraints.validation.dependOn.DischargeSummary2Code='DischargeSummary2CodeP' constraints.validation.info='DischargeSummary2Participant DischargeSummary2ChiefComplaintSection DischargeSummary2ChiefComplaintAndReasonForVisitSection DischargeSummary2NutritionSection DischargeSummary2FunctionalStatusSection2 DischargeSummary2HistoryOfPastIllnessSection2 DischargeSummary2HistoryOfPresentIllnessSection DischargeSummary2HospitalConsultationsSection DischargeSummary2HospitalDischargeInstructionsSection DischargeSummary2HospitalDischargePhysicalSection DischargeSummary2HospitalDischargeStudiesSummarySection DischargeSummary2ImmunizationsSectionEntriesOptional2 DischargeSummary2ProblemSectionEntriesOptional2 DischargeSummary2ProceduresSectionEntriesOptional2 DischargeSummary2ReasonForVisitSection DischargeSummary2ReviewOfSystemsSection DischargeSummary2SocialHistorySection2 DischargeSummary2VitalSignsSectionEntriesOptional2 DischargeSummary2FamilyHistorySection2 DischargeSummary2AdmissionDiagnosisSection2 DischargeSummary2AdmissionMedicationsSectionEntriesOptional2 DischargeSummary2DischargeMedicationsSection2 DischargeSummary2DischargeDietSection DischargeSummary2ComponentOfEncompassingEncounterEncounterParticipant DischargeSummary2ComponentOfEncompassingEncounterResponsibleParty' constraints.validation.warning='DischargeSummary2DischargeMedicationsSectionEntriesOptional2 DischargeSummary2ComponentOfEncompassingEncounterEncounterParticipantAssignedEntityAssignedPerson DischargeSummary2ComponentOfEncompassingEncounterEncounterParticipantAssignedEntityRepresentedOrganization DischargeSummary2ComponentOfEncompassingEncounterResponsiblePartyAssignedEntityAssignedPerson DischargeSummary2ComponentOfEncompassingEncounterResponsiblePartyAssignedEntityRepresentedOrganization DischargeSummary2ComponentOfEncompassingEncounterDischargeDispositionCode' constraints.validation.query='DischargeSummary2ParticipantIfParTypeCodeINDThenAEClassCodeIND DischargeSummary2ComponentOfEncompassingEncounterIVLTSLow DischargeSummary2ComponentOfEncompassingEncounterIVLTSHigh DischargeSummary2ComponentOfEncompassingEncounterEncounterParticipantAssignedEntityAssignedPerson DischargeSummary2ComponentOfEncompassingEncounterEncounterParticipantAssignedEntityRepresentedOrganization DischargeSummary2ComponentOfEncompassingEncounterEncounterParticipantAssignedEntityHasPersonOrOrganization DischargeSummary2ComponentOfEncompassingEncounterEncounterParticipantAssignedEntity DischargeSummary2ComponentOfEncompassingEncounterResponsiblePartyAssignedEntityAssignedPerson DischargeSummary2ComponentOfEncompassingEncounterResponsiblePartyAssignedEntityRepresentedOrganization DischargeSummary2ComponentOfEncompassingEncounterResponsiblePartyAssignedEntityHasPersonOrOrganization DischargeSummary2ComponentOfEncompassingEncounterResponsiblePartyAssignedEntity DischargeSummary2ComponentOfEncompassingEncounterEffectiveTime DischargeSummary2ComponentOfEncompassingEncounterDischargeDispositionCode DischargeSummary2ComponentOfEncompassingEncounterDischargeDispositionCodeP DischargeSummary2ComponentOfEncompassingEncounterEncounterParticipant DischargeSummary2ComponentOfEncompassingEncounterResponsibleParty DischargeSummary2ComponentOfEncompassingEncounter' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolDischargeSummary2Participant constraints.validation.error='DischargeSummary2ParticipantIfParTypeCodeINDThenAEClassCodeIND' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolDischargeSummary2ComponentOf constraints.validation.error='DischargeSummary2ComponentOfEncompassingEncounter' @@ -47721,7 +47721,7 @@ value.code = 'completed') http://www.openhealthtools.org/mdht/uml/cda/annotation/consolDischargeSummary2ComponentOfEncompassingEncounterResponsibleParty constraints.validation.error='DischargeSummary2ComponentOfEncompassingEncounterResponsiblePartyAssignedEntityHasPersonOrOrganization DischargeSummary2ComponentOfEncompassingEncounterResponsiblePartyAssignedEntity' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolDischargeSummary2ComponentOfEncompassingEncounterResponsiblePartyAssignedEntity constraints.validation.warning='DischargeSummary2ComponentOfEncompassingEncounterResponsiblePartyAssignedEntityAssignedPerson DischargeSummary2ComponentOfEncompassingEncounterResponsiblePartyAssignedEntityRepresentedOrganization' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='USRealmHeader2TemplateId HistoryAndPhysicalNote2HasChiefComplaintAndReasonForVisitChiefComplaintOrReasonForVisit HistoryAndPhysicalNote2HasAnAssementAndPlanSection2OrBothAssementSectionAndPlanOfTreatmentSection2 HistoryAndPhysicalNote2DoesNotHaveAssementAndPlanSection2WhenAssementAndPlanOfTreatment2ArePresent HistoryAndPhysicalNote2DoesNotHaveChiefComplaintAndReasonForVisitWithChiefComplaintSectionOrReasonSection HistoryAndPhysicalNote2Code HistoryAndPhysicalNote2CodeP HistoryAndPhysicalNote2ComponentOf HistoryAndPhysicalNote2AllergiesSectionEntriesOptional2 HistoryAndPhysicalNote2GeneralStatusSection HistoryAndPhysicalNote2HistoryOfPastIllnessSection2 HistoryAndPhysicalNote2MedicationsSectionEntriesOptional2 HistoryAndPhysicalNote2PhysicalExamSection2 HistoryAndPhysicalNote2ResultsSectionEntriesOptional2 HistoryAndPhysicalNote2ReviewOfSystemsSection HistoryAndPhysicalNote2SocialHistorySection2 HistoryAndPhysicalNote2VitalSignsSectionEntriesOptional2 HistoryAndPhysicalNote2FamilyHistorySection2 HistoryAndPhysicalNote2InformationRecipientIntendedRecipient HistoryAndPhysicalNote2ParticipantIfParTypeCodeINDThenAEClassCodeIND HistoryAndPhysicalNote2ComponentOfEncompassingEncounterGeneralHeaderConstraintsUSRealmDateAndTimeDTPreciseToTheDayIVLTS HistoryAndPhysicalNote2ComponentOfEncompassingEncounterResponsiblePartyAssignedEntityHasPersonOrOrganization HistoryAndPhysicalNote2ComponentOfEncompassingEncounterResponsiblePartyAssignedEntity HistoryAndPhysicalNote2ComponentOfEncompassingEncounterEncounterParticipantAssignedEntityHasPersonOrOrganization HistoryAndPhysicalNote2ComponentOfEncompassingEncounterEncounterParticipantAssignedEntity HistoryAndPhysicalNote2ComponentOfEncompassingEncounterId HistoryAndPhysicalNote2ComponentOfEncompassingEncounterEffectiveTime HistoryAndPhysicalNote2ComponentOfEncompassingEncounter' templateId.root='2.16.840.1.113883.10.20.22.1.3' templateId.extension='2015-08-01' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' constraints.validation.dependOn.HistoryAndPhysicalNote2Code='HistoryAndPhysicalNote2CodeP' constraints.validation.info='HistoryAndPhysicalNote2InformationRecipient HistoryAndPhysicalNote2Participant HistoryAndPhysicalNote2InFulfillmentOf HistoryAndPhysicalNote2AssessmentSection HistoryAndPhysicalNote2PlanOfTreatmentSection2 HistoryAndPhysicalNote2AssessmentAndPlanSection2 HistoryAndPhysicalNote2ChiefComplaintSection HistoryAndPhysicalNote2ChiefComplaintAndReasonForVisitSection HistoryAndPhysicalNote2ImmunizationsSectionEntriesOptional2 HistoryAndPhysicalNote2InstructionsSection2 HistoryAndPhysicalNote2ProblemSectionEntriesOptional2 HistoryAndPhysicalNote2ProceduresSectionEntriesOptional2 HistoryAndPhysicalNote2ReasonForVisitSection HistoryAndPhysicalNote2ComponentOfEncompassingEncounterGeneralHeaderConstraintsUSRealmDateAndTimeDTPreciseToTheSecondIVLTS HistoryAndPhysicalNote2ComponentOfEncompassingEncounterResponsibleParty HistoryAndPhysicalNote2ComponentOfEncompassingEncounterEncounterParticipant HistoryAndPhysicalNote2ComponentOfEncompassingEncounterLocation' constraints.validation.warning='HistoryAndPhysicalNote2HistoryOfPresentIllnessSection HistoryAndPhysicalNote2ComponentOfEncompassingEncounterGeneralHeaderConstraintsUSRealmDateAndTimeDTPreciseToTheMinuteIVLTS HistoryAndPhysicalNote2ComponentOfEncompassingEncounterGeneralHeaderConstraintsUSRealmDateAndTimeDTIfMorePreciseThanDayIncludeTimeZoneOffsetIVLTS' constraints.validation.query='HistoryAndPhysicalNote2InformationRecipientIntendedRecipient HistoryAndPhysicalNote2ParticipantIfParTypeCodeINDThenAEClassCodeIND HistoryAndPhysicalNote2ComponentOfEncompassingEncounterGeneralHeaderConstraintsUSRealmDateAndTimeDTPreciseToTheDayIVLTS HistoryAndPhysicalNote2ComponentOfEncompassingEncounterGeneralHeaderConstraintsUSRealmDateAndTimeDTPreciseToTheMinuteIVLTS HistoryAndPhysicalNote2ComponentOfEncompassingEncounterGeneralHeaderConstraintsUSRealmDateAndTimeDTPreciseToTheSecondIVLTS HistoryAndPhysicalNote2ComponentOfEncompassingEncounterGeneralHeaderConstraintsUSRealmDateAndTimeDTIfMorePreciseThanDayIncludeTimeZoneOffsetIVLTS HistoryAndPhysicalNote2ComponentOfEncompassingEncounterResponsiblePartyAssignedEntityHasPersonOrOrganization HistoryAndPhysicalNote2ComponentOfEncompassingEncounterResponsiblePartyAssignedEntity HistoryAndPhysicalNote2ComponentOfEncompassingEncounterEncounterParticipantAssignedEntityHasPersonOrOrganization HistoryAndPhysicalNote2ComponentOfEncompassingEncounterEncounterParticipantAssignedEntity HistoryAndPhysicalNote2ComponentOfEncompassingEncounterId HistoryAndPhysicalNote2ComponentOfEncompassingEncounterEffectiveTime HistoryAndPhysicalNote2ComponentOfEncompassingEncounterResponsibleParty HistoryAndPhysicalNote2ComponentOfEncompassingEncounterEncounterParticipant HistoryAndPhysicalNote2ComponentOfEncompassingEncounterLocation HistoryAndPhysicalNote2ComponentOfEncompassingEncounter' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolHistoryAndPhysicalNote2InformationRecipient constraints.validation.error='HistoryAndPhysicalNote2InformationRecipientIntendedRecipient' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolHistoryAndPhysicalNote2Participant constraints.validation.error='HistoryAndPhysicalNote2ParticipantIfParTypeCodeINDThenAEClassCodeIND' @@ -47730,7 +47730,7 @@ value.code = 'completed') http://www.openhealthtools.org/mdht/uml/cda/annotation/consolHistoryAndPhysicalNote2ComponentOfEncompassingEncounterResponsibleParty constraints.validation.error='HistoryAndPhysicalNote2ComponentOfEncompassingEncounterResponsiblePartyAssignedEntityHasPersonOrOrganization HistoryAndPhysicalNote2ComponentOfEncompassingEncounterResponsiblePartyAssignedEntity' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolHistoryAndPhysicalNote2ComponentOfEncompassingEncounterEncounterParticipant constraints.validation.error='HistoryAndPhysicalNote2ComponentOfEncompassingEncounterEncounterParticipantAssignedEntityHasPersonOrOrganization HistoryAndPhysicalNote2ComponentOfEncompassingEncounterEncounterParticipantAssignedEntity' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='USRealmHeader2TemplateId OperativeNote2Code OperativeNote2CodeP OperativeNote2DocumentationOf OperativeNote2AnesthesiaSection2 OperativeNote2ComplicationsSection2 OperativeNote2PreoperativeDiagnosisSection2 OperativeNote2ProcedureEstimatedBloodLossSection OperativeNote2ProcedureFindingsSection2 OperativeNote2ProcedureSpecimensTakenSection OperativeNote2ProcedureDescriptionSection OperativeNote2PostoperativeDiagnosisSection OperativeNote2DocumentationOfServiceEventUSRealmDateAndTimeDTLow OperativeNote2DocumentationOfServiceEventPerformerAssignedEntityCode OperativeNote2DocumentationOfServiceEventPerformerTypeCode OperativeNote2DocumentationOfServiceEventPerformerAssignedEntity OperativeNote2DocumentationOfServiceEventPerformerAssistantsAssignedEntityCode OperativeNote2DocumentationOfServiceEventPerformerAssistantsTypeCode OperativeNote2DocumentationOfServiceEventPerformerAssistantsAssignedEntity OperativeNote2DocumentationOfServiceEventEffectiveTimeHasHighWhenNoWidth OperativeNote2DocumentationOfServiceEventEffectiveTimeNoHighIfWidth OperativeNote2DocumentationOfServiceEventProcedureCodes OperativeNote2DocumentationOfServiceEventEffectiveTime OperativeNote2DocumentationOfServiceEventCode OperativeNote2DocumentationOfServiceEventPerformer OperativeNote2DocumentationOfServiceEvent OperativeNote2AuthorizationConsentClassCode OperativeNote2AuthorizationConsentMoodCode OperativeNote2AuthorizationConsentStatusCode OperativeNote2AuthorizationTypeCode OperativeNote2AuthorizationConsent' templateId.root='2.16.840.1.113883.10.20.22.1.7' templateId.extension='2015-08-01' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' constraints.validation.dependOn.OperativeNote2Code='OperativeNote2CodeP' constraints.validation.info='OperativeNote2Authorization OperativeNote2ProcedureImplantsSection OperativeNote2OperativeNoteFluidSection OperativeNote2OperativeNoteSurgicalProcedureSection OperativeNote2PlanOfTreatmentSection2 OperativeNote2PlannedProcedureSection2 OperativeNote2ProcedureDispositionSection OperativeNote2ProcedureIndicationsSection2 OperativeNote2SurgicalDrainsSection OperativeNote2DocumentationOfServiceEventPerformerAssistants' constraints.validation.query='OperativeNote2DocumentationOfServiceEventUSRealmDateAndTimeDTLow OperativeNote2DocumentationOfServiceEventPerformerAssignedEntityCodeP OperativeNote2DocumentationOfServiceEventPerformerAssignedEntityCode OperativeNote2DocumentationOfServiceEventPerformerTypeCode OperativeNote2DocumentationOfServiceEventPerformerAssignedEntity OperativeNote2DocumentationOfServiceEventPerformerAssistantsAssignedEntityCodeP OperativeNote2DocumentationOfServiceEventPerformerAssistantsAssignedEntityCode OperativeNote2DocumentationOfServiceEventPerformerAssistantsTypeCode OperativeNote2DocumentationOfServiceEventPerformerAssistantsAssignedEntity OperativeNote2DocumentationOfServiceEventEffectiveTimeHasHighWhenNoWidth OperativeNote2DocumentationOfServiceEventEffectiveTimeNoHighIfWidth OperativeNote2DocumentationOfServiceEventProcedureCodes OperativeNote2DocumentationOfServiceEventEffectiveTime OperativeNote2DocumentationOfServiceEventCode OperativeNote2DocumentationOfServiceEventPerformer OperativeNote2DocumentationOfServiceEventPerformerAssistants OperativeNote2DocumentationOfServiceEvent OperativeNote2AuthorizationConsentClassCode OperativeNote2AuthorizationConsentMoodCode OperativeNote2AuthorizationConsentStatusCode OperativeNote2AuthorizationTypeCode OperativeNote2AuthorizationConsent' constraints.validation.warning='OperativeNote2DocumentationOfServiceEventPerformerAssignedEntityCodeP OperativeNote2DocumentationOfServiceEventPerformerAssistantsAssignedEntityCodeP' constraints.validation.dependOn.OperativeNote2DocumentationOfServiceEventPerformerAssignedEntityCode='OperativeNote2DocumentationOfServiceEventPerformerAssignedEntityCodeP' constraints.validation.dependOn.OperativeNote2DocumentationOfServiceEventPerformerAssistantsAssignedEntityCode='OperativeNote2DocumentationOfServiceEventPerformerAssistantsAssignedEntityCodeP' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolOperativeNote2DocumentationOf constraints.validation.error='OperativeNote2DocumentationOfServiceEvent' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolOperativeNote2DocumentationOfServiceEvent constraints.validation.error='OperativeNote2DocumentationOfServiceEventEffectiveTimeHasHighWhenNoWidth OperativeNote2DocumentationOfServiceEventEffectiveTimeNoHighIfWidth OperativeNote2DocumentationOfServiceEventProcedureCodes OperativeNote2DocumentationOfServiceEventEffectiveTime OperativeNote2DocumentationOfServiceEventCode OperativeNote2DocumentationOfServiceEventPerformer ServiceEventOperativeNote2DocumentationOfServiceEventUSRealmDateAndTimeDTLow OperativeNote2DocumentationOfServiceEventPerformerAssignedEntityCode OperativeNote2DocumentationOfServiceEventPerformerTypeCode ServiceEventOperativeNote2DocumentationOfServiceEventPerformerAssignedEntity OperativeNote2DocumentationOfServiceEventPerformerAssistantsAssignedEntityCode OperativeNote2DocumentationOfServiceEventPerformerAssistantsTypeCode ServiceEventOperativeNote2DocumentationOfServiceEventPerformerAssistantsAssignedEntity' constraints.validation.info='OperativeNote2DocumentationOfServiceEventPerformerAssistants' constraints.validation.query='ServiceEventOperativeNote2DocumentationOfServiceEventUSRealmDateAndTimeDTLow OperativeNote2DocumentationOfServiceEventPerformerAssignedEntityCodeP OperativeNote2DocumentationOfServiceEventPerformerAssignedEntityCode OperativeNote2DocumentationOfServiceEventPerformerTypeCode ServiceEventOperativeNote2DocumentationOfServiceEventPerformerAssignedEntity OperativeNote2DocumentationOfServiceEventPerformerAssistantsAssignedEntityCodeP OperativeNote2DocumentationOfServiceEventPerformerAssistantsAssignedEntityCode OperativeNote2DocumentationOfServiceEventPerformerAssistantsTypeCode ServiceEventOperativeNote2DocumentationOfServiceEventPerformerAssistantsAssignedEntity' constraints.validation.warning='OperativeNote2DocumentationOfServiceEventPerformerAssignedEntityCodeP OperativeNote2DocumentationOfServiceEventPerformerAssistantsAssignedEntityCodeP' constraints.validation.dependOn.OperativeNote2DocumentationOfServiceEventPerformerAssignedEntityCode='OperativeNote2DocumentationOfServiceEventPerformerAssignedEntityCodeP' constraints.validation.dependOn.OperativeNote2DocumentationOfServiceEventPerformerAssistantsAssignedEntityCode='OperativeNote2DocumentationOfServiceEventPerformerAssistantsAssignedEntityCodeP' @@ -47742,7 +47742,7 @@ value.code = 'completed') http://www.openhealthtools.org/mdht/uml/cda/annotation/consolOperativeNote2Authorization typeCode='AUTH' constraints.validation.error='OperativeNote2AuthorizationTypeCode OperativeNote2AuthorizationConsent' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolOperativeNote2AuthorizationConsent classCode='CONS' constraints.validation.error='OperativeNote2AuthorizationConsentClassCode OperativeNote2AuthorizationConsentMoodCode OperativeNote2AuthorizationConsentStatusCode' moodCode='EVN' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='USRealmHeader2TemplateId ProcedureNote2HasAnAssementAndPlanSection2OrBothAssementSectionAndPlanOfTreatmentSection2 ProcedureNote2DoesNotHaveAssementAndPlanSection2WhenAssementOrPlanOfTreatment2ArePresent ProcedureNote2DoesNotHaveChiefComplaintWithChiefComplaintOrReasonForVisitSection ProcedureNote2Code ProcedureNote2CodeP ProcedureNote2DocumentationOf ProcedureNote2ComplicationsSection2 ProcedureNote2ProcedureDescriptionSection ProcedureNote2ProcedureIndicationsSection2 ProcedureNote2PostprocedureDiagnosisSection2 ProcedureNote2ParticipantAssociatedEntityClassCode ProcedureNote2ParticipantAssociatedEntityAssociatedPerson ProcedureNote2ParticipantTypeCode ProcedureNote2ParticipantFunctionCode ProcedureNote2ParticipantFunctionCodeP ProcedureNote2ParticipantAssociatedEntity ProcedureNote2DocumentationOfServiceEventUSRealmDateAndTimeDTLow ProcedureNote2DocumentationOfServiceEventPerformerAssignedEntityCode ProcedureNote2DocumentationOfServiceEventPerformerTypeCode ProcedureNote2DocumentationOfServiceEventPerformerAssignedEntity ProcedureNote2DocumentationOfServiceEventPerformerAssistantsAssignedEntityCode ProcedureNote2DocumentationOfServiceEventPerformerAssistantsTypeCode ProcedureNote2DocumentationOfServiceEventPerformerAssistantsAssignedEntity ProcedureNote2DocumentationOfServiceEventEffectiveTimeHasHighWhenNoWidth ProcedureNote2DocumentationOfServiceEventEffectiveTimeNoHighIfWidth ProcedureNote2DocumentationOfServiceEventProcedureCodes ProcedureNote2DocumentationOfServiceEventEffectiveTime ProcedureNote2DocumentationOfServiceEventCode ProcedureNote2DocumentationOfServiceEventPerformer ProcedureNote2DocumentationOfServiceEvent ProcedureNote2AuthorizationConsentClassCode ProcedureNote2AuthorizationConsentMoodCode ProcedureNote2AuthorizationConsentStatusCode ProcedureNote2AuthorizationTypeCode ProcedureNote2AuthorizationConsent ProcedureNote2ComponentOfEncompassingEncounterEncounterParticipantTypeCode ProcedureNote2ComponentOfEncompassingEncounterLocationHealthCareFacilityId ProcedureNote2ComponentOfEncompassingEncounterLocationHealthCareFacility ProcedureNote2ComponentOfEncompassingEncounterCode ProcedureNote2ComponentOfEncompassingEncounterLocation ProcedureNote2ComponentOfEncompassingEncounter' templateId.root='2.16.840.1.113883.10.20.22.1.6' templateId.extension='2015-08-01' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' constraints.validation.dependOn.ProcedureNote2Code='ProcedureNote2CodeP' constraints.validation.info='ProcedureNote2Participant ProcedureNote2Authorization ProcedureNote2AssessmentSection ProcedureNote2AssessmentAndPlanSection2 ProcedureNote2PlanOfTreatmentSection2 ProcedureNote2AllergiesSectionEntriesOptional2 ProcedureNote2AnesthesiaSection2 ProcedureNote2ChiefComplaintSection ProcedureNote2ChiefComplaintAndReasonForVisitSection ProcedureNote2FamilyHistorySection2 ProcedureNote2HistoryOfPastIllnessSection2 ProcedureNote2HistoryOfPresentIllnessSection ProcedureNote2MedicalHistorySection ProcedureNote2MedicationsSectionEntriesOptional2 ProcedureNote2MedicationsAdministeredSection2 ProcedureNote2PhysicalExamSection2 ProcedureNote2PlannedProcedureSection2 ProcedureNote2ProcedureDispositionSection ProcedureNote2ProcedureEstimatedBloodLossSection ProcedureNote2ProcedureFindingsSection2 ProcedureNote2ProcedureImplantsSection ProcedureNote2ProcedureSpecimensTakenSection ProcedureNote2ProceduresSectionEntriesOptional2 ProcedureNote2ReasonForVisitSection ProcedureNote2ReviewOfSystemsSection ProcedureNote2SocialHistorySection2 ProcedureNote2DocumentationOfServiceEventPerformerAssistants ProcedureNote2ComponentOfEncompassingEncounterEncounterParticipant' constraints.validation.warning='ProcedureNote2ComponentOf ProcedureNote2DocumentationOfServiceEventPerformerAssignedEntityCodeP ProcedureNote2DocumentationOfServiceEventPerformerAssistantsAssignedEntityCodeP ProcedureNote2ComponentOfEncompassingEncounterId' constraints.validation.query='ProcedureNote2ParticipantAssociatedEntityClassCode ProcedureNote2ParticipantAssociatedEntityAssociatedPerson ProcedureNote2ParticipantTypeCode ProcedureNote2ParticipantFunctionCode ProcedureNote2ParticipantFunctionCodeP ProcedureNote2ParticipantAssociatedEntity ProcedureNote2DocumentationOfServiceEventUSRealmDateAndTimeDTLow ProcedureNote2DocumentationOfServiceEventPerformerAssignedEntityCodeP ProcedureNote2DocumentationOfServiceEventPerformerAssignedEntityCode ProcedureNote2DocumentationOfServiceEventPerformerTypeCode ProcedureNote2DocumentationOfServiceEventPerformerAssignedEntity ProcedureNote2DocumentationOfServiceEventPerformerAssistantsAssignedEntityCodeP ProcedureNote2DocumentationOfServiceEventPerformerAssistantsAssignedEntityCode ProcedureNote2DocumentationOfServiceEventPerformerAssistantsTypeCode ProcedureNote2DocumentationOfServiceEventPerformerAssistantsAssignedEntity ProcedureNote2DocumentationOfServiceEventEffectiveTimeHasHighWhenNoWidth ProcedureNote2DocumentationOfServiceEventEffectiveTimeNoHighIfWidth ProcedureNote2DocumentationOfServiceEventProcedureCodes ProcedureNote2DocumentationOfServiceEventEffectiveTime ProcedureNote2DocumentationOfServiceEventCode ProcedureNote2DocumentationOfServiceEventPerformer ProcedureNote2DocumentationOfServiceEventPerformerAssistants ProcedureNote2DocumentationOfServiceEvent ProcedureNote2AuthorizationConsentClassCode ProcedureNote2AuthorizationConsentMoodCode ProcedureNote2AuthorizationConsentStatusCode ProcedureNote2AuthorizationTypeCode ProcedureNote2AuthorizationConsent ProcedureNote2ComponentOfEncompassingEncounterEncounterParticipantTypeCode ProcedureNote2ComponentOfEncompassingEncounterLocationHealthCareFacilityId ProcedureNote2ComponentOfEncompassingEncounterLocationHealthCareFacility ProcedureNote2ComponentOfEncompassingEncounterId ProcedureNote2ComponentOfEncompassingEncounterCode ProcedureNote2ComponentOfEncompassingEncounterEncounterParticipant ProcedureNote2ComponentOfEncompassingEncounterLocation ProcedureNote2ComponentOfEncompassingEncounter' constraints.validation.dependOn.ProcedureNote2DocumentationOfServiceEventPerformerAssignedEntityCode='ProcedureNote2DocumentationOfServiceEventPerformerAssignedEntityCodeP' constraints.validation.dependOn.ProcedureNote2DocumentationOfServiceEventPerformerAssistantsAssignedEntityCode='ProcedureNote2DocumentationOfServiceEventPerformerAssistantsAssignedEntityCodeP' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolProcedureNote2Participant typeCode='IND' constraints.validation.error='ProcedureNote2ParticipantTypeCode ProcedureNote2ParticipantFunctionCode ProcedureNote2ParticipantFunctionCodeP ProcedureNote2ParticipantAssociatedEntity' functionCode.code='PCP' functionCode.codeSystem='2.16.840.1.113883.5.88' functionCode.codeSystemName='ParticipationFunction' functionCode.displayName='Primary Care Physician' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolProcedureNote2ParticipantAssociatedEntity classCode='PROV' constraints.validation.error='ProcedureNote2ParticipantAssociatedEntityClassCode ProcedureNote2ParticipantAssociatedEntityAssociatedPerson' @@ -47761,7 +47761,7 @@ value.code = 'completed') http://www.openhealthtools.org/mdht/uml/cda/annotation/consolProcedureNote2ComponentOfEncompassingEncounterLocation constraints.validation.error='ProcedureNote2ComponentOfEncompassingEncounterLocationHealthCareFacility' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolProcedureNote2ComponentOfEncompassingEncounterLocationHealthCareFacility constraints.validation.error='ProcedureNote2ComponentOfEncompassingEncounterLocationHealthCareFacilityId' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='USRealmHeader2TemplateId ProgressNote2HasAnAssementAndPlanSection2OrBothAssementSectionAndPlanOfTreatmentSection2 ProgressNote2DoesNotHaveAssementAndPlanSection2WhenAssementOrPlanOfTreatment2ArePresent ProgressNote2Code ProgressNote2CodeP ProgressNote2ComponentOf ProgressNote2DocumentationOfServiceEventEffectiveTimeHasHighWhenNoWidth ProgressNote2DocumentationOfServiceEventTemplateId ProgressNote2DocumentationOfServiceEventClassCode ProgressNote2DocumentationOfServiceEvent ProgressNote2ComponentOfEncompassingEncounterUSRealmDateAndTimeDTLow ProgressNote2ComponentOfEncompassingEncounterLocationHealthCareFacilityId ProgressNote2ComponentOfEncompassingEncounterLocationHealthCareFacility ProgressNote2ComponentOfEncompassingEncounterId ProgressNote2ComponentOfEncompassingEncounterEffectiveTime ProgressNote2ComponentOfEncompassingEncounterLocation ProgressNote2ComponentOfEncompassingEncounter' templateId.root='2.16.840.1.113883.10.20.22.1.9' templateId.extension='2015-08-01' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' constraints.validation.dependOn.ProgressNote2Code='ProgressNote2CodeP' constraints.validation.warning='ProgressNote2DocumentationOf ProgressNote2DocumentationOfServiceEventUSRealmDateAndTimeDTLow ProgressNote2DocumentationOfServiceEventEffectiveTime' constraints.validation.info='ProgressNote2AssessmentSection ProgressNote2PlanOfTreatmentSection2 ProgressNote2AssessmentAndPlanSection2 ProgressNote2AllergiesSectionEntriesOptional2 ProgressNote2ChiefComplaintSection ProgressNote2InterventionsSection2 ProgressNote2InstructionsSection2 ProgressNote2MedicationsSectionEntriesOptional2 ProgressNote2ObjectiveSection ProgressNote2PhysicalExamSection2 ProgressNote2ProblemSectionEntriesOptional2 ProgressNote2ResultsSectionEntriesOptional2 ProgressNote2ReviewOfSystemsSection ProgressNote2SubjectiveSection ProgressNote2VitalSignsSectionEntriesOptional2 ProgressNote2NutritionSection' constraints.validation.query='ProgressNote2DocumentationOfServiceEventUSRealmDateAndTimeDTLow ProgressNote2DocumentationOfServiceEventEffectiveTimeHasHighWhenNoWidth ProgressNote2DocumentationOfServiceEventTemplateId ProgressNote2DocumentationOfServiceEventClassCode ProgressNote2DocumentationOfServiceEventEffectiveTime ProgressNote2DocumentationOfServiceEvent ProgressNote2ComponentOfEncompassingEncounterUSRealmDateAndTimeDTLow ProgressNote2ComponentOfEncompassingEncounterLocationHealthCareFacilityId ProgressNote2ComponentOfEncompassingEncounterLocationHealthCareFacility ProgressNote2ComponentOfEncompassingEncounterId ProgressNote2ComponentOfEncompassingEncounterEffectiveTime ProgressNote2ComponentOfEncompassingEncounterLocation ProgressNote2ComponentOfEncompassingEncounter' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolProgressNote2DocumentationOf constraints.validation.error='ProgressNote2DocumentationOfServiceEvent' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolProgressNote2DocumentationOfServiceEvent constraints.validation.error='ProgressNote2DocumentationOfServiceEventTemplateId ProgressNote2DocumentationOfServiceEventEffectiveTimeHasHighWhenNoWidth ProgressNote2DocumentationOfServiceEventClassCode' templateId.root='2.16.840.1.113883.10.20.21.3.1' classCode='PCPR' constraints.validation.warning='ProgressNote2DocumentationOfServiceEventEffectiveTime ServiceEventProgressNote2DocumentationOfServiceEventUSRealmDateAndTimeDTLow' constraints.validation.query='ServiceEventProgressNote2DocumentationOfServiceEventUSRealmDateAndTimeDTLow' @@ -47772,7 +47772,7 @@ value.code = 'completed') http://www.openhealthtools.org/mdht/uml/cda/annotation/consolProgressNote2ComponentOfEncompassingEncounterLocationHealthCareFacility constraints.validation.error='ProgressNote2ComponentOfEncompassingEncounterLocationHealthCareFacilityId' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolProgressNote2ComponentOfEncompassingEncounterUSRealmDateAndTimeDT constraints.validation.error='ProgressNote2ComponentOfEncompassingEncounterUSRealmDateAndTimeDTLow' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='USRealmHeader2TemplateId UnstructuredDocument2RecordTarget UnstructuredDocument2Custodian UnstructuredDocument2Component UnstructuredDocument2RecordTargetPatientRoleId UnstructuredDocument2RecordTargetPatientRole UnstructuredDocument2CustodianAssignedCustodianRepresentedCustodianOrganization UnstructuredDocument2CustodianAssignedCustodian UnstructuredDocument2ComponentNonXMLBodyHasReferenceOrRepresentation UnstructuredDocument2ComponentNonXMLBodyMediaTypeFileFormats UnstructuredDocument2ComponentNonXMLBodyText UnstructuredDocument2ComponentNonXMLBody' templateId.root='2.16.840.1.113883.10.20.22.1.10' templateId.extension='2015-08-01' constraints.validation.query='UnstructuredDocument2RecordTargetPatientRoleId UnstructuredDocument2RecordTargetPatientRole UnstructuredDocument2CustodianAssignedCustodianRepresentedCustodianOrganization UnstructuredDocument2CustodianAssignedCustodian UnstructuredDocument2ComponentNonXMLBodyEDMediaType UnstructuredDocument2ComponentNonXMLBodyHasReferenceOrRepresentation UnstructuredDocument2ComponentNonXMLBodyMediaTypeFileFormats UnstructuredDocument2ComponentNonXMLBodyText UnstructuredDocument2ComponentNonXMLBody' constraints.validation.info='UnstructuredDocument2ComponentNonXMLBodyEDMediaType' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolUnstructuredDocument2RecordTarget constraints.validation.error='UnstructuredDocument2RecordTargetPatientRole' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolUnstructuredDocument2RecordTargetPatientRole constraints.validation.error='UnstructuredDocument2RecordTargetPatientRoleId' @@ -47782,40 +47782,40 @@ value.code = 'completed') http://www.openhealthtools.org/mdht/uml/cda/annotation/consolUnstructuredDocument2ComponentNonXMLBody constraints.validation.error='UnstructuredDocument2ComponentNonXMLBodyHasReferenceOrRepresentation UnstructuredDocument2ComponentNonXMLBodyMediaTypeFileFormats UnstructuredDocument2ComponentNonXMLBodyText' constraints.validation.info='UnstructuredDocument2ComponentNonXMLBodyEDMediaType' constraints.validation.query='UnstructuredDocument2ComponentNonXMLBodyEDMediaType' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolUnstructuredDocument2ComponentNonXMLBodyED mediaType='text/plain' constraints.validation.info='UnstructuredDocument2ComponentNonXMLBodyEDMediaType' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='PreconditionForSubstanceAdministration2TemplateId PreconditionForSubstanceAdministrationCode PreconditionForSubstanceAdministrationCodeP PreconditionForSubstanceAdministrationText PreconditionForSubstanceAdministrationValue PreconditionForSubstanceAdministrationValueP' templateId.root='2.16.840.1.113883.10.20.22.4.25' templateId.extension='2014-06-09' code.code='ASSERTION' code.codeSystem='2.16.840.1.113883.5.4' code.codeSystemName='HL7ActCode' code.displayName='Assertion' value.codeSystem='2.16.840.1.113883.6.96' value.codeSystemName='SNOMEDCT' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='NumberOfPressureUlcersObservation2TemplateId NumberOfPressureUlcersObservationCode NumberOfPressureUlcersObservationCodeP NumberOfPressureUlcersObservationEntryRelationship NumberOfPressureUlcersObservation2CDTranslation NumberOfPressureUlcersObservation2CDTranslationP NumberOfPressureUlcersObservationEntryRelationshipObservationClassCode NumberOfPressureUlcersObservationEntryRelationshipObservationMoodCode NumberOfPressureUlcersObservation2EntryRelationshipObservationCodeP NumberOfPressureUlcersObservation2EntryRelationshipObservationCode NumberOfPressureUlcersObservationEntryRelationshipObservationValueP NumberOfPressureUlcersObservationEntryRelationshipTypeCode NumberOfPressureUlcersObservationEntryRelationshipObservation' templateId.root='2.16.840.1.113883.10.20.22.4.76' templateId.extension='2015-08-01' constraints.validation.dependOn.NumberOfPressureUlcersObservationCode='NumberOfPressureUlcersObservationCodeP' constraints.validation.query='NumberOfPressureUlcersObservation2CDTranslation NumberOfPressureUlcersObservation2CDTranslationP NumberOfPressureUlcersObservationEntryRelationshipObservationClassCode NumberOfPressureUlcersObservationEntryRelationshipObservationMoodCode NumberOfPressureUlcersObservation2EntryRelationshipObservationCodeP NumberOfPressureUlcersObservation2EntryRelationshipObservationCode NumberOfPressureUlcersObservationEntryRelationshipObservationValueP NumberOfPressureUlcersObservationEntryRelationshipObservationValue NumberOfPressureUlcersObservationEntryRelationshipTypeCode NumberOfPressureUlcersObservationEntryRelationshipObservation' constraints.validation.dependOn.NumberOfPressureUlcersObservation2EntryRelationshipObservationCode='NumberOfPressureUlcersObservation2EntryRelationshipObservationCodeP' constraints.validation.warning='NumberOfPressureUlcersObservationEntryRelationshipObservationValue' constraints.validation.dependOn.NumberOfPressureUlcersObservationEntryRelationshipObservationValue='NumberOfPressureUlcersObservationEntryRelationshipObservationValueP' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolNumberOfPressureUlcersObservation2EntryRelationship typeCode='SUBJ' constraints.validation.error='NumberOfPressureUlcersObservationEntryRelationshipTypeCode NumberOfPressureUlcersObservationEntryRelationshipObservation' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolNumberOfPressureUlcersObservation2EntryRelationshipObservation classCode='OBS' constraints.validation.error='NumberOfPressureUlcersObservationEntryRelationshipObservationClassCode NumberOfPressureUlcersObservationEntryRelationshipObservationMoodCode NumberOfPressureUlcersObservation2EntryRelationshipObservationCode NumberOfPressureUlcersObservation2EntryRelationshipObservationCodeP NumberOfPressureUlcersObservationEntryRelationshipObservationValueP' moodCode='EVN' code.code='ASSERTION' code.codeSystem='2.16.840.1.113883.5.4' code.codeSystemName='HL7ActCode' code.displayName='Assertion' constraints.validation.dependOn.NumberOfPressureUlcersObservation2EntryRelationshipObservationCode='NumberOfPressureUlcersObservation2EntryRelationshipObservationCodeP' value.codeSystem='2.16.840.1.113883.6.96' value.codeSystemName='SNOMEDCT' constraints.validation.warning='NumberOfPressureUlcersObservationEntryRelationshipObservationValue' constraints.validation.dependOn.NumberOfPressureUlcersObservationEntryRelationshipObservationValue='NumberOfPressureUlcersObservationEntryRelationshipObservationValueP' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolNumberOfPressureUlcersObservation2CD translation.code='75277-4' translation.codeSystem='2.16.840.1.113883.6.1' translation.codeSystemName='LOINC' translation.displayName='Number of pressure ulcers' constraints.validation.error='NumberOfPressureUlcersObservation2CDTranslation NumberOfPressureUlcersObservation2CDTranslationP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='FamilyHistoryObservation2TemplateId FamilyHistoryObservationCodeP FamilyHistoryObservation2CDTranslationP' templateId.root='2.16.840.1.113883.10.20.22.4.46' templateId.extension='2015-08-01' code.codeSystem='2.16.840.1.113883.6.96' code.codeSystemName='SNOMEDCT' constraints.validation.warning='FamilyHistoryObservationCode FamilyHistoryObservation2CDTranslation' constraints.validation.dependOn.FamilyHistoryObservationCode='FamilyHistoryObservationCodeP' constraints.validation.query='FamilyHistoryObservation2CDTranslation FamilyHistoryObservation2CDTranslationP' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolFamilyHistoryObservation2CD translation.codeSystem='2.16.840.1.113883.6.1' translation.codeSystemName='LOINC' constraints.validation.warning='FamilyHistoryObservation2CDTranslation' constraints.validation.error='FamilyHistoryObservation2CDTranslationP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='FamilyHistoryOrganizer2TemplateId FamilyHistoryOrganizer2Id FamilyHistoryOrganizerFamilyHistoryObservation' templateId.root='2.16.840.1.113883.10.20.22.4.45' templateId.extension='2015-08-01' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='FamilyHistorySection2TemplateId' templateId.root='2.16.840.1.113883.10.20.22.2.15' templateId.extension='2015-08-01' constraints.validation.info='FamilyHistorySectionFamilyHistory' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='PhysicianReadingStudyPerformer2TemplateId' templateId.root='2.16.840.1.113883.10.20.6.2.1' templateId.extension='2014-06-09' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='CourseOfCareSectionTemplateId CourseOfCareSectionCode CourseOfCareSectionCodeP CourseOfCareSectionTitle CourseOfCareSectionText' templateId.root='2.16.840.1.113883.10.20.22.2.64' code.code='8648-8' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Hospital Course Narrative' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='PlannedInterventionActTemplateId PlannedInterventionActClassCode PlannedInterventionActMoodCode PlannedInterventionActMoodCodeP PlannedInterventionActId PlannedInterventionActCode PlannedInterventionActCodeP PlannedInterventionActStatusCode PlannedInterventionActStatusCodeP PlannedInterventionActEntryReferenceGoalObs PlannedInterventionActReferenceTypeCode PlannedInterventionActReferenceExternalDocumentReference' templateId.root='2.16.840.1.113883.10.20.22.4.146' templateId.extension='2015-08-01' classCode='ACT' constraints.validation.dependOn.PlannedInterventionActMoodCode='PlannedInterventionActMoodCodeP' code.code='362956003' code.codeSystem='2.16.840.1.113883.6.96' code.codeSystemName='SNOMEDCT' code.displayName='procedure / intervention (navigational concept)' constraints.validation.dependOn.PlannedInterventionActCode='PlannedInterventionActCodeP' statusCode.code='active' constraints.validation.warning='PlannedInterventionActEffectiveTime PlannedInterventionActAuthorParticipation' constraints.validation.info='PlannedInterventionActAdvanceDirectiveObservation2 PlannedInterventionActImmunizationActivity2 PlannedInterventionActMedicationActivity2 PlannedInterventionActProcedureActivityAct2 PlannedInterventionActInterventionAct PlannedInterventionActProcedureActivityObservation2 PlannedInterventionActProcedureActivityProcedure2 PlannedInterventionActEncounterActivity2 PlannedInterventionActInstruction2 PlannedInterventionActNonMedicinalSupplyActivity2 PlannedInterventionActPlannedAct2 PlannedInterventionActPlannedEncounter2 PlannedInterventionActPlannedObservation2 PlannedInterventionActPlannedProcedure2 PlannedInterventionActPlannedMedicationActivity2 PlannedInterventionActPlannedSupply2 PlannedInterventionActNutritionRecommendation PlannedInterventionActEntryReferenceDocInstance PlannedInterventionActHandoffCommunicationParticipants PlannedInterventionActPlannedImmunizationActivity PlannedInterventionActReference' constraints.validation.query='PlannedInterventionActReferenceTypeCode PlannedInterventionActReferenceExternalDocumentReference' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolPlannedInterventionActReference typeCode='REFR' constraints.validation.error='PlannedInterventionActReferenceTypeCode PlannedInterventionActReferenceExternalDocumentReference' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='RiskConcernActTemplateId RiskConcernActClassCode RiskConcernActMoodCode RiskConcernActId RiskConcernActCode RiskConcernActCodeP RiskConcernActStatusCode RiskConcernActStatusCodeP RiskConcernActReferenceTypeCode RiskConcernActReferenceExternalDocumentReference' templateId.root='2.16.840.1.113883.10.20.22.4.136' templateId.extension='2015-08-01' classCode='ACT' moodCode='EVN' code.code='281694009' code.codeSystem='2.16.840.1.113883.6.96' code.codeSystemName='SNOMEDCT' code.displayName='At risk for' constraints.validation.dependOn.RiskConcernActCode='RiskConcernActCodeP' constraints.validation.info='RiskConcernActEffectiveTime RiskConcernActProblemObservation2 RiskConcernActAllergyObservation2 RiskConcernActEntryReferenceRelatesTo RiskConcernActEntryReferenceHasComponent RiskConcernActAssessmentScaleObservation RiskConcernActMentalStatusObservation2 RiskConcernActSelfCareActivities RiskConcernActMentalStatusObservation2B RiskConcernActSmokingStatusMeaningfulUse2 RiskConcernActEncounterDiagnosis2 RiskConcernActFamilyHistoryOrganizer2 RiskConcernActFunctionalStatusObservation2 RiskConcernActHospitalAdmissionDiagnosis2 RiskConcernActMentalStatusObservation2C RiskConcernActNutritionAssessment RiskConcernActNutritionAssessmentB RiskConcernActPostprocedureDiagnosis2 RiskConcernActPregnancyObservation RiskConcernActPreoperativeDiagnosis2 RiskConcernActReactionObservation2 RiskConcernActResultObservation2 RiskConcernActSensoryStatus RiskConcernActSocialHistoryObservation2 RiskConcernActSubstanceOrDeviceAllergyObservation2 RiskConcernActTobaccoUse2 RiskConcernActVitalSignObservation2 RiskConcernActWoundObservation RiskConcernActProblemObservation2HasSupport RiskConcernActCaregiverCharacteristics RiskConcernActCulturalAndReligiousObservation RiskConcernActCharacteristicsOfHomeEnvironment RiskConcernActNutritionalStatusObservation RiskConcernActResultOrganizer2 RiskConcernActPriorityPreferencePatient RiskConcernActPriorityPreferenceProvider RiskConcernActProblemConcernAct2 RiskConcernActEntryReferenceHealthConcern RiskConcernActReference' constraints.validation.warning='RiskConcernActAuthorParticipation' constraints.validation.query='RiskConcernActReferenceTypeCode RiskConcernActReferenceExternalDocumentReference' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolRiskConcernActReference typeCode='REFR' constraints.validation.error='RiskConcernActReferenceTypeCode RiskConcernActReferenceExternalDocumentReference' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='MedicationFreeTextSigTemplateId MedicationFreeTextSigTextReferenceValue MedicationFreeTextSigClassCode MedicationFreeTextSigMoodCode MedicationFreeTextSigCode MedicationFreeTextSigCodeP MedicationFreeTextSigText MedicationFreeTextSigConsumable MedicationFreeTextSigEDReference MedicationFreeTextSigConsumableManufacturedProductManufacturedLabeledDrugNullFlavor MedicationFreeTextSigConsumableManufacturedProductManufacturedLabeledDrug MedicationFreeTextSigConsumableManufacturedProduct' templateId.root='2.16.840.1.113883.10.20.22.4.147' classCode='SBADM' code.code='76662-6' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Instructions Medication' constraints.validation.warning='MedicationFreeTextSigEDTELValue' constraints.validation.query='MedicationFreeTextSigEDTELValue MedicationFreeTextSigEDReference MedicationFreeTextSigConsumableManufacturedProductManufacturedLabeledDrugNullFlavor MedicationFreeTextSigConsumableManufacturedProductManufacturedLabeledDrug MedicationFreeTextSigConsumableManufacturedProduct' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolMedicationFreeTextSigED constraints.validation.error='MedicationFreeTextSigEDReference' constraints.validation.warning='EDMedicationFreeTextSigEDTELValue' constraints.validation.query='EDMedicationFreeTextSigEDTELValue' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolMedicationFreeTextSigEDTEL constraints.validation.warning='MedicationFreeTextSigEDTELValue' @@ -47823,22 +47823,22 @@ value.code = 'completed') http://www.openhealthtools.org/mdht/uml/cda/annotation/consolMedicationFreeTextSigConsumableManufacturedProduct constraints.validation.error='MedicationFreeTextSigConsumableManufacturedProductManufacturedLabeledDrug' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolMedicationFreeTextSigConsumableManufacturedProductManufacturedLabeledDrug nullFlavor='NA' constraints.validation.error='MedicationFreeTextSigConsumableManufacturedProductManufacturedLabeledDrugNullFlavor' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='BirthSexObservationTemplateId BirthSexObservationClassCode BirthSexObservationMoodCode BirthSexObservationCode BirthSexObservationCodeP BirthSexObservationStatusCode BirthSexObservationStatusCodeP BirthSexObservationValue BirthSexObservationValueP' templateId.root='2.16.840.1.113883.10.20.22.4.200' templateId.extension='2016-06-01' classCode='OBS' moodCode='EVN' code.code='76689-9' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Sex Assigned At Birth' constraints.validation.dependOn.BirthSexObservationCode='BirthSexObservationCodeP' statusCode.code='completed' value.codeSystem='2.16.840.1.113883.5.1' value.codeSystemName='AdministrativeGender' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='CriticalityObservationTemplateId CriticalityObservationClassCode CriticalityObservationMoodCode CriticalityObservationCode CriticalityObservationCodeP CriticalityObservationStatusCode CriticalityObservationStatusCodeP CriticalityObservationValue CriticalityObservationValueP' templateId.root='2.16.840.1.113883.10.20.22.4.145' classCode='OBS' moodCode='EVN' code.code='82606-5' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Allergy or intolerance criticality' constraints.validation.dependOn.CriticalityObservationCode='CriticalityObservationCodeP' statusCode.code='completed' value.codeSystem='2.16.840.1.113883.5.1063' value.codeSystemName='ObservationValue' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='AllergyStatusObservation2TemplateId AllergyStatusObservationCode AllergyStatusObservationValue' templateId.root='2.16.840.1.113883.10.20.22.4.28' templateId.extension='2014-06-09' value.codeSystem='2.16.840.1.113883.6.96' value.codeSystemName='SNOMEDCT' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ProblemStatus2TemplateId ProblemStatusText ProblemStatusValue' templateId.root='2.16.840.1.113883.10.20.22.4.6' templateId.extension='2014-06-09' constraints.validation.info='ProblemStatusTextReference ProblemStatusReferenceValue ProblemStatusTextReferenceValue' value.codeSystem='2.16.840.1.113883.6.96' value.codeSystemName='SNOMEDCT' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='CareTeamsTemplateId CareTeamsCode CareTeamsCodeP CareTeamsTitle CareTeamsText' templateId.root='2.16.840.1.113883.10.20.22.2.500' templateId.extension='2019-07-01' code.code='85847-2' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Patient Care team information' constraints.validation.warning='CareTeamsCareTeamOrganizer' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='CareTeamOrganizerTemplateId CareTeamOrganizerId CareTeamOrganizerCode CareTeamOrganizerCodeP CareTeamOrganizerStatusCode CareTeamOrganizerStatusCodeP CareTeamOrganizerEffectiveTime CareTeamOrganizerClassCode CareTeamOrganizerMoodCode CareTeamOrganizerCareTeamMemberAct CareTeamOrganizerIVLTSLow' templateId.root='2.16.840.1.113883.10.20.22.4.500' templateId.extension='2019-07-01' code.code='86744-0' code.displayName='Care Team' constraints.validation.dependOn.CareTeamOrganizerStatusCode='CareTeamOrganizerStatusCodeP' classCode='CLUSTER' moodCode='EVN' constraints.validation.warning='CareTeamOrganizerCareTeamMember CareTeamOrganizerAuthor' constraints.validation.info='CareTeamOrganizerCareLocation CareTeamOrganizerNoteActivity CareTeamOrganizerCareTeamTypeObservation CareTeamOrganizerIVLTSHigh' constraints.validation.query='CareTeamOrganizerIVLTSLow CareTeamOrganizerIVLTSHigh' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolCareTeamOrganizerIVLTS constraints.validation.error='CareTeamOrganizerIVLTSLow' constraints.validation.info='CareTeamOrganizerIVLTSHigh' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolCareTeamOrganizerCareTeamMember typeCode='PPRF' constraints.validation.error='CareTeamOrganizerCareTeamMemberTypeCode CareTeamOrganizerCareTeamMemberSDTCFunctionCode CareTeamOrganizerCareTeamMemberParticipantRole' @@ -47847,10 +47847,10 @@ value.code = 'completed') http://www.openhealthtools.org/mdht/uml/cda/annotation/consolCareTeamOrganizerCareLocationParticipantRole constraints.validation.error='CareTeamOrganizerCareLocationParticipantRoleId CareTeamOrganizerCareLocationParticipantRolePlayingEntity' constraints.validation.warning='CareTeamOrganizerCareLocationParticipantRoleAddr CareTeamOrganizerCareLocationParticipantRoleTelecom' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolCareTeamOrganizerCareLocationParticipantRolePlayingEntity constraints.validation.error='CareTeamOrganizerCareLocationParticipantRolePlayingEntityName CareTeamOrganizerCareLocationParticipantRolePlayingEntityClassCode' classCode='ENT' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='CareTeamTypeObservationTemplateId CareTeamTypeObservationCode CareTeamTypeObservationCodeP CareTeamTypeObservationStatusCode CareTeamTypeObservationStatusCodeP CareTeamTypeObservationValue CareTeamTypeObservationValueP CareTeamTypeObservationClassCode CareTeamTypeObservationMoodCode' templateId.root='2.16.840.1.113883.10.20.22.4.500.2' templateId.extension='2019-07-01' code.code='86744-0' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Care Team' constraints.validation.dependOn.CareTeamTypeObservationCode='CareTeamTypeObservationCodeP' statusCode.code='completed' value.codeSystem='2.16.840.1.113883.6.1' value.codeSystemName='LOINC' classCode='OBS' moodCode='EVN' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='NoteActivityTemplateId NoteActivityCode NoteActivityCodeP NoteActivityText NoteActivityStatusCode NoteActivityEffectiveTime NoteActivityClassCode NoteActivityMoodCode NoteActivityAuthor' templateId.root='2.16.840.1.113883.10.20.22.4.202' templateId.extension='2016-11-01' code.code='34109-9' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Note' constraints.validation.dependOn.NoteActivityCode='NoteActivityCodeP' classCode='ACT' moodCode='EVN' constraints.validation.info='NoteActivityParticipant NoteActivityReference' constraints.validation.warning='NoteActivityCDTranslation1P NoteActivityCDTranslation1 NoteActivityIVLTSValue' constraints.validation.query='NoteActivityCDTranslation1P NoteActivityCDTranslation1 NoteActivityIVLTSValue' constraints.validation.dependOn.NoteActivityCDTranslation1='NoteActivityCDTranslation1P' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolNoteActivityCD translation1.codeSystem='2.16.840.1.113883.6.1' translation1.codeSystemName='LOINC' constraints.validation.warning='NoteActivityCDTranslation1 NoteActivityCDTranslation1P' constraints.validation.dependOn.NoteActivityCDTranslation1='NoteActivityCDTranslation1P' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolNoteActivityIVLTS constraints.validation.warning='NoteActivityIVLTSValue' @@ -47860,7 +47860,7 @@ value.code = 'completed') http://www.openhealthtools.org/mdht/uml/cda/annotation/consolNoteActivityReference constraints.validation.error='NoteActivityReferenceExternalDocument' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolNoteActivityReferenceExternalDocument constraints.validation.error='NoteActivityReferenceExternalDocumentId' constraints.validation.warning='NoteActivityReferenceExternalDocumentCode' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='CareTeamMemberActTemplateId CareTeamMemberActId CareTeamMemberActStatusCode CareTeamMemberActStatusCodeP CareTeamMemberActEffectiveTime CareTeamMemberActClassCode CareTeamMemberActMoodCode CareTeamMemberActPerformer CareTeamMemberActIVLTSLow' templateId.root='2.16.840.1.113883.10.20.22.4.500.1' templateId.extension='2019-07-01' classCode='PCPR' moodCode='EVN' constraints.validation.info='CareTeamMemberActParticipant CareTeamMemberActCareTeamMemberScheduleObservation CareTeamMemberActNoteActivity CareTeamMemberActParticipant2 CareTeamMemberActIVLTSHigh' constraints.validation.query='CareTeamMemberActIVLTSLow CareTeamMemberActIVLTSHigh' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolCareTeamMemberActIVLTS constraints.validation.error='CareTeamMemberActIVLTSLow' constraints.validation.info='CareTeamMemberActIVLTSHigh' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolCareTeamMemberActPerformer2 sDTCFunctionCode.codeSystem='2.16.840.1.113883.6.96' sDTCFunctionCode.codeSystemName='SNOMEDCT' constraints.validation.error='CareTeamMemberActPerformer2SDTCFunctionCode CareTeamMemberActPerformer2SDTCFunctionCodeP' @@ -47868,61 +47868,61 @@ value.code = 'completed') http://www.openhealthtools.org/mdht/uml/cda/annotation/consolCareTeamMemberActIndividualParticipantParticipantRole constraints.validation.error='CareTeamMemberActIndividualParticipantParticipantRoleNullFlavor' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolCareTeamMemberActLocationParticipant constraints.validation.error='CareTeamMemberActLocationParticipantTemplateId CareTeamMemberActLocationParticipantTypeCode CareTeamMemberActLocationParticipantParticipantRole' templateId.root='null' typeCode='LOC' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='CareTeamMemberScheduleObservationTemplateId CareTeamMemberScheduleObservationCode CareTeamMemberScheduleObservationCodeP CareTeamMemberScheduleObservationText CareTeamMemberScheduleObservationValue CareTeamMemberScheduleObservationClassCode CareTeamMemberScheduleObservationMoodCode CareTeamMemberScheduleObservationStatusCode CareTeamMemberScheduleObservationStatusCodeP CareTeamMemberScheduleObservationEDTELValue CareTeamMemberScheduleObservationEDReference' templateId.root='2.16.840.1.113883.10.20.22.4.500.3' templateId.extension='2019-07-01' code.code='57203-2' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Episode Timing [CMS Assessment]' constraints.validation.dependOn.CareTeamMemberScheduleObservationCode='CareTeamMemberScheduleObservationCodeP' classCode='OBS' moodCode='EVN' statusCode.code='completed' constraints.validation.query='CareTeamMemberScheduleObservationEDTELValue CareTeamMemberScheduleObservationEDReference' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolCareTeamMemberScheduleObservationED constraints.validation.error='CareTeamMemberScheduleObservationEDReference EDCareTeamMemberScheduleObservationEDTELValue' constraints.validation.query='EDCareTeamMemberScheduleObservationEDTELValue' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolCareTeamMemberScheduleObservationEDTEL constraints.validation.error='CareTeamMemberScheduleObservationEDTELValue' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ProvenanceAuthorParticipationTemplateId ProvenanceAuthorParticipationTime ProvenanceAuthorParticipationAssignedAuthor ProvenanceAuthorParticipationProvenanceAssignedAuthorAssignedPersonPNFamily ProvenanceAuthorParticipationProvenanceAssignedAuthorAssignedPersonPNGiven ProvenanceAuthorParticipationProvenanceAssignedAuthorAssignedPersonName ProvenanceAuthorParticipationProvenanceAssignedAuthorRepresentedOrganizationName ProvenanceAuthorParticipationProvenanceAssignedAuthorId ProvenanceAuthorParticipationProvenanceAssignedAuthorCode ProvenanceAuthorParticipationProvenanceAssignedAuthorRepresentedOrganization' templateId.root='2.16.840.1.113883.10.20.22.5 .6' templateId.extension='2019-10-01' constraints.validation.query='ProvenanceAuthorParticipationProvenanceAssignedAuthorAssignedPersonPNFamily ProvenanceAuthorParticipationProvenanceAssignedAuthorAssignedPersonPNGiven ProvenanceAuthorParticipationProvenanceAssignedAuthorAssignedPersonName ProvenanceAuthorParticipationProvenanceAssignedAuthorRepresentedOrganizationId ProvenanceAuthorParticipationProvenanceAssignedAuthorRepresentedOrganizationName ProvenanceAuthorParticipationProvenanceAssignedAuthorRepresentedOrganizationTelecom ProvenanceAuthorParticipationProvenanceAssignedAuthorId ProvenanceAuthorParticipationProvenanceAssignedAuthorCode ProvenanceAuthorParticipationProvenanceAssignedAuthorAssignedPerson ProvenanceAuthorParticipationProvenanceAssignedAuthorRepresentedOrganization ProvenanceAuthorParticipationProvenanceAssignedAuthorAssignedAuthoringDevice' constraints.validation.warning='ProvenanceAuthorParticipationProvenanceAssignedAuthorRepresentedOrganizationId ProvenanceAuthorParticipationProvenanceAssignedAuthorRepresentedOrganizationTelecom ProvenanceAuthorParticipationProvenanceAssignedAuthorAssignedPerson' constraints.validation.info='ProvenanceAuthorParticipationProvenanceAssignedAuthorAssignedAuthoringDevice' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolProvenanceAuthorParticipationProvenanceAssignedAuthor constraints.validation.error='ProvenanceAuthorParticipationProvenanceAssignedAuthorId ProvenanceAuthorParticipationProvenanceAssignedAuthorCode ProvenanceAuthorParticipationProvenanceAssignedAuthorRepresentedOrganization' code.codeSystem='2.16.840.1.113883.5.111' code.codeSystemName='RoleCode' constraints.validation.warning='ProvenanceAuthorParticipationProvenanceAssignedAuthorAssignedPerson' constraints.validation.info='ProvenanceAuthorParticipationProvenanceAssignedAuthorAssignedAuthoringDevice' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolProvenanceAuthorParticipationProvenanceAssignedAuthorAssignedPerson constraints.validation.error='ProvenanceAuthorParticipationProvenanceAssignedAuthorAssignedPersonName AssignedPersonProvenanceAuthorParticipationProvenanceAssignedAuthorAssignedPersonPNFamily AssignedPersonProvenanceAuthorParticipationProvenanceAssignedAuthorAssignedPersonPNGiven' constraints.validation.query='AssignedPersonProvenanceAuthorParticipationProvenanceAssignedAuthorAssignedPersonPNFamily AssignedPersonProvenanceAuthorParticipationProvenanceAssignedAuthorAssignedPersonPNGiven' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolProvenanceAuthorParticipationProvenanceAssignedAuthorAssignedPersonPN constraints.validation.error='ProvenanceAuthorParticipationProvenanceAssignedAuthorAssignedPersonPNFamily ProvenanceAuthorParticipationProvenanceAssignedAuthorAssignedPersonPNGiven' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolProvenanceAuthorParticipationProvenanceAssignedAuthorRepresentedOrganization constraints.validation.warning='ProvenanceAuthorParticipationProvenanceAssignedAuthorRepresentedOrganizationId ProvenanceAuthorParticipationProvenanceAssignedAuthorRepresentedOrganizationTelecom' constraints.validation.error='ProvenanceAuthorParticipationProvenanceAssignedAuthorRepresentedOrganizationName' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='SerialNumberObservationTemplateId SerialNumberObservationCode SerialNumberObservationCodeP SerialNumberObservationValue' templateId.root='2.16.840.1.113883.10.20.22.4.319' templateId.extension='2019-06-21' code.code='C101671' code.codeSystem='2.16.840.1.113883.3.26.1.1' code.codeSystemName='NCI Thesaurus' code.displayName='Serial Number' constraints.validation.dependOn.SerialNumberObservationCode='SerialNumberObservationCodeP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='MRISafetyObservationTemplateId MRISafetyObservationCode MRISafetyObservationValue MRISafetyObservationValueP' templateId.root='2.16.840.1.113883.10.20.22.4.318' templateId.extension='2019-06-21' code.code='C106044' code.codeSystem='2.16.840.1.113883.3.26.1.1' code.codeSystemName='NCI Thesaurus' code.displayName='MRI Safety' value.codeSystem='2.16.840.1.113883.3.26.1.1' value.codeSystemName='NCI Thesaurus' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ModelNumberObservationTemplateId ModelNumberObservationCode ModelNumberObservationCodeP ModelNumberObservationValue' templateId.root='2.16.840.1.113883.10.20.22.4.317' templateId.extension='2019-06-21' code.code='C99285' code.codeSystem='2.16.840.1.113883.3.26.1.1' code.codeSystemName='NCI Thesaurus' code.displayName='Model Number' constraints.validation.dependOn.ModelNumberObservationCode='ModelNumberObservationCodeP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ManufacturingDateObservationTemplateId ManufacturingDateObservationCode ManufacturingDateObservationCodeP ManufacturingDateObservationValue ManufacturingDateObservationTSValue' templateId.root='2.16.840.1.113883.10.20.22.4.316' templateId.extension='2019-06' code.code='C101669' code.codeSystem='2.16.840.1.113883.3.26.1.1' code.codeSystemName='NCI Thesaurus' code.displayName='Manufacturing Date' constraints.validation.dependOn.ManufacturingDateObservationCode='ManufacturingDateObservationCodeP' constraints.validation.query='ManufacturingDateObservationTSValue' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolManufacturingDateObservationTS constraints.validation.error='ManufacturingDateObservationTSValue' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='LotOrBatchNumberObservationTemplateId LotOrBatchNumberObservationCode LotOrBatchNumberObservationCodeP LotOrBatchNumberObservationValue' templateId.root='2.16.840.1.113883.10.20.22.4.315' templateId.extension='2019-06-21' code.code='C101672' code.codeSystem='2.16.840.1.113883.3.26.1.1' code.codeSystemName='NCI Thesaurus' code.displayName='Lot or Batch Number' constraints.validation.dependOn.LotOrBatchNumberObservationCode='LotOrBatchNumberObservationCodeP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='LatexSafetyObservationTemplateId LatexSafetyObservationCode LatexSafetyObservationCodeP LatexSafetyObservationValue LatexSafetyObservationValueP' templateId.root='2.16.840.1.113883.10.20.22.4.314' templateId.extension='2019-06-21' code.code='C160938' code.codeSystem='2.16.840.1.113883.3.26.1.1' code.codeSystemName='NCI Thesaurus' code.displayName='Latex Safety Status' constraints.validation.dependOn.LatexSafetyObservationCode='LatexSafetyObservationCodeP' value.codeSystem='2.16.840.1.113883.3.26.1.1' value.codeSystemName='NCI Thesaurus' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ImplantableDeviceStatusObservationTemplateId ImplantableDeviceStatusObservationCode ImplantableDeviceStatusObservationCodeP ImplantableDeviceStatusObservationValue ImplantableDeviceStatusObservationValueP' templateId.root='2.16.840.1.113883.10.20.22.4.305' templateId.extension='2019-06-21' code.code='C160939' code.codeSystem='2.16.840.1.113883.3.26.1.1' code.codeSystemName='NCI Thesaurus' code.displayName='Implantable Device Status' constraints.validation.dependOn.ImplantableDeviceStatusObservationCode='ImplantableDeviceStatusObservationCodeP' value.codeSystem='2.16.840.1.113883.3.26.1.1' value.codeSystemName='NCI Thesaurus' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ExpirationDateObservationTemplateId ExpirationDateObservationCode ExpirationDateObservationCodeP ExpirationDateObservationValue ExpirationDateObservationTSValue' templateId.root='2.16.840.1.113883.10.20.22.4.309' templateId.extension='2019-06-21' code.code='C101670' code.codeSystem='2.16.840.1.113883.3.26.1.1' code.codeSystemName='NCI Thesaurus' code.displayName='Expiration Date' constraints.validation.dependOn.ExpirationDateObservationCode='ExpirationDateObservationCodeP' constraints.validation.query='ExpirationDateObservationTSValue' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolExpirationDateObservationTS constraints.validation.error='ExpirationDateObservationTSValue' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='DistinctIdentificationCodeObservationTemplateId DistinctIdentificationCodeObservationCode DistinctIdentificationCodeObservationCodeP DistinctIdentificationCodeObservationValue' templateId.root='2.16.840.1.113883.10.20.22.4.308' templateId.extension='2019-06-21' code.code='C113843' code.codeSystem='2.16.840.1.113883.3.26.1.1' code.codeSystemName='NCI Thesaurus' code.displayName='Distinct Identification Code' constraints.validation.dependOn.DistinctIdentificationCodeObservationCode='DistinctIdentificationCodeObservationCodeP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='DeviceIdentifierObservationTemplateId DeviceIdentifierObservationCode DeviceIdentifierObservationCodeP DeviceIdentifierObservationValue DeviceIdentifierObservationIIUDI issuing agency DeviceIdentifierObservationIIRoot DeviceIdentifierObservationIIExtension DeviceIdentifierObservationIIDisplayable' templateId.root='2.16.840.1.113883.10.20.22.4.304' templateId.extension='2019-06-21' code.code='C101722' code.codeSystem='2.16.840.1.113883.3.26.1.1' code.codeSystemName='NCI Thesaurus' code.displayName='Primary DI Number' constraints.validation.dependOn.DeviceIdentifierObservationCode='DeviceIdentifierObservationCodeP' constraints.validation.query='DeviceIdentifierObservationIIUDI issuing agency DeviceIdentifierObservationIIRoot DeviceIdentifierObservationIIExtension DeviceIdentifierObservationIIDisplayable' http://www.openhealthtools.org/mdht/uml/cda/annotation/consolDeviceIdentifierObservationII constraints.validation.error='DeviceIdentifierObservationIIUDI issuing agency DeviceIdentifierObservationIIRoot DeviceIdentifierObservationIIExtension DeviceIdentifierObservationIIDisplayable' displayable='true' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='CompanyNameObservationTemplateId CompanyNameObservationCode CompanyNameObservationCodeP CompanyNameObservationValue' templateId.root='2.16.840.1.113883.10.20.22.4.303' templateId.extension='2019-06-21' code.code='C54131' code.codeSystem='2.16.840.1.113883.3.26.1.1' code.codeSystemName='NCI Thesaurus' code.displayName='Company Name' constraints.validation.dependOn.CompanyNameObservationCode='CompanyNameObservationCodeP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='CatalogNumberObservationTemplateId CatalogNumberObservationCode CatalogNumberObservationCodeP CatalogNumberObservationValue' templateId.root='2.16.840.1.113883.10.20.22.4.302' templateId.extension='2019-06-21' code.code='C99286' code.codeSystem='2.16.840.1.113883.3.26.1.1' code.codeSystemName='NCI Thesaurus' code.displayName='Catalog Number' constraints.validation.dependOn.CatalogNumberObservationCode='CatalogNumberObservationCodeP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='BrandNameObservationTemplateId BrandNameObservationCode BrandNameObservationCodeP BrandNameObservationValue' templateId.root='2.16.840.1.113883.10.20.22.4.301' templateId.extension='2019-06-21' code.code='C71898' code.codeSystem='2.16.840.1.113883.3.26.1.1' code.codeSystemName='NCI Thesaurus' code.displayName='Brand Name' constraints.validation.dependOn.BrandNameObservationCode='BrandNameObservationCodeP' - + http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='UDIOrganizerTemplateId UDIOrganizerId UDIOrganizerStatusCode UDIOrganizerStatusCodeP UDIOrganizerClassCode UDIOrganizerMoodCode UDIOrganizerDeviceIdentifierObservation' templateId.root='2.16.840.1.113883.10.20.22.4.311' templateId.extension='2019-06-21' constraints.validation.info='UDIOrganizerCode UDIOrganizerCodeP UDIOrganizerBrandNameObservation UDIOrganizerModelNumberObservation UDIOrganizerCompanyNameObservation UDIOrganizerCatalogNumberObservation UDIOrganizerLatexSafetyObservation UDIOrganizerMRISafetyObservation UDIOrganizerImplantableDeviceStatusObservation' constraints.validation.dependOn.UDIOrganizerCode='UDIOrganizerCodeP' statusCode.code='completed' constraints.validation.dependOn.UDIOrganizerStatusCode='UDIOrganizerStatusCodeP' classCode='CLUSTER' moodCode='EVN' constraints.validation.warning='UDIOrganizerLotOrBatchNumberObservation UDIOrganizerSerialNumberObservation UDIOrganizerManufacturingDateObservation UDIOrganizerExpirationDateObservation UDIOrganizerDistinctIdentificationCodeObservation' diff --git a/generated/org.openhealthtools.mdht.uml.cda.consol2/plugin.properties b/generated/org.openhealthtools.mdht.uml.cda.consol2/plugin.properties index 44dc847ac..5e450c728 100644 --- a/generated/org.openhealthtools.mdht.uml.cda.consol2/plugin.properties +++ b/generated/org.openhealthtools.mdht.uml.cda.consol2/plugin.properties @@ -168,6 +168,8 @@ AdvanceDirectivesSection2EntryAdvanceDirectivesSection2EntryHasAdvanceDirectiveO AdvanceDirectivesSectionAdvanceDirectivesSectionAdvanceDirectiveObservation = Consol Advance Directives Section If section/@nullFlavor is not present, SHALL contain [1..*] entry such that it (CONF:8647, CONF:8801) Conforms to Advance Directive Observation (templateId: 2.16.840.1.113883.10.20.22.4.48) AdvanceDirectivesSectionAdvanceDirectivesSectionCode = 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) AdvanceDirectivesSectionAdvanceDirectivesSectionCodeP = 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) +AdvanceDirectivesSectionAdvanceDirectivesSectionEntriesOptionalCode = 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) +AdvanceDirectivesSectionAdvanceDirectivesSectionEntriesOptionalCodeP = 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) AdvanceDirectivesSectionAdvanceDirectivesSectionEntriesOptionalTemplateId = SHALL contain exactly one [1..1] templateId ( CONF:8643, CONF:10377 ) such that it SHALL contain exactly one [1..1] @root="2.16.840.1.113883.10.20.22.2.21.1" AdvanceDirectivesSectionAdvanceDirectivesSectionText = Consol Advance Directives Section SHALL contain exactly one [1..1] text (CONF:8646) AdvanceDirectivesSectionAdvanceDirectivesSectionTitle = Consol Advance Directives Section SHALL contain exactly one [1..1] title (CONF:8645) @@ -491,12 +493,12 @@ CarePlanCarePlanDocumentationOfServiceEventIVLTSLow = Consol Care Plan (V2) SHAL CarePlanCarePlanDocumentationOfServiceEventPerformer1 = Consol Care Plan (V2) SHALL contain exactly one [1..1] documentationOf, where its type is Documentation Of (CONF:1198-31901) each SHALL contain exactly one [1..1] serviceEvent, where (CONF:1198-31902) serviceEvent SHALL contain at least one [1..*] performer, where its type is Performer (CONF:1198-31905) CarePlanCarePlanDocumentationOfServiceEventPerformerAssignedEntity = Consol Care Plan (V2) SHALL contain exactly one [1..1] documentationOf, where its type is Documentation Of (CONF:1198-31901) each SHALL contain exactly one [1..1] serviceEvent, where (CONF:1198-31902) each SHALL contain at least one [1..*] performer, where (CONF:1198-31905) performer1 SHALL contain exactly one [1..1] assignedEntity, where its type is Assigned Entity (CONF:1198-31907) CarePlanCarePlanDocumentationOfServiceEventPerformerAssignedEntityAssignedPerson = Consol Care Plan (V2) SHALL contain exactly one [1..1] documentationOf, where its type is Documentation Of (CONF:1198-31901) each SHALL contain exactly one [1..1] serviceEvent, where (CONF:1198-31902) each SHALL contain at least one [1..*] performer, where (CONF:1198-31905) each SHALL contain exactly one [1..1] assignedEntity, where (CONF:1198-31907) assignedEntity SHALL contain exactly one [1..1] assignedPerson, where its type is Assigned Person (CONF:1198-32328) -CarePlanCarePlanDocumentationOfServiceEventPerformerAssignedEntityAssignedPersonGeneralHeaderConstraintsUSRealmPersonNameFamily = Consol Care Plan (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) SHALL contain exactly one [1..1] documentationOf, where its type is Documentation Of (CONF:1198-31901) each SHALL contain exactly one [1..1] serviceEvent, where (CONF:1198-31902) each SHALL contain at least one [1..*] performer, where (CONF:1198-31905) each SHALL contain exactly one [1..1] assignedEntity, where (CONF:1198-31907) each SHALL contain exactly one [1..1] assignedPerson, where (CONF:1198-32328) each SHALL contain exactly one [1..1] name (CONF:1198-32329) name SHALL NOT contain [0..0] family (CONF:81-9372) -CarePlanCarePlanDocumentationOfServiceEventPerformerAssignedEntityAssignedPersonGeneralHeaderConstraintsUSRealmPersonNameGiven = Consol Care Plan (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) SHALL contain exactly one [1..1] documentationOf, where its type is Documentation Of (CONF:1198-31901) each SHALL contain exactly one [1..1] serviceEvent, where (CONF:1198-31902) each SHALL contain at least one [1..*] performer, where (CONF:1198-31905) each SHALL contain exactly one [1..1] assignedEntity, where (CONF:1198-31907) each SHALL contain exactly one [1..1] assignedPerson, where (CONF:1198-32328) each SHALL contain exactly one [1..1] name (CONF:1198-32329) name SHALL NOT contain [0..0] given (CONF:81-9372) -CarePlanCarePlanDocumentationOfServiceEventPerformerAssignedEntityAssignedPersonGeneralHeaderConstraintsUSRealmPersonNamePrefix = Consol Care Plan (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) SHALL contain exactly one [1..1] documentationOf, where its type is Documentation Of (CONF:1198-31901) each SHALL contain exactly one [1..1] serviceEvent, where (CONF:1198-31902) each SHALL contain at least one [1..*] performer, where (CONF:1198-31905) each SHALL contain exactly one [1..1] assignedEntity, where (CONF:1198-31907) each SHALL contain exactly one [1..1] assignedPerson, where (CONF:1198-32328) each SHALL contain exactly one [1..1] name (CONF:1198-32329) name SHALL NOT contain [0..0] prefix (CONF:81-9372) -CarePlanCarePlanDocumentationOfServiceEventPerformerAssignedEntityAssignedPersonGeneralHeaderConstraintsUSRealmPersonNameSuffix = Consol Care Plan (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) SHALL contain exactly one [1..1] documentationOf, where its type is Documentation Of (CONF:1198-31901) each SHALL contain exactly one [1..1] serviceEvent, where (CONF:1198-31902) each SHALL contain at least one [1..*] performer, where (CONF:1198-31905) each SHALL contain exactly one [1..1] assignedEntity, where (CONF:1198-31907) each SHALL contain exactly one [1..1] assignedPerson, where (CONF:1198-32328) each SHALL contain exactly one [1..1] name (CONF:1198-32329) name SHALL NOT contain [0..0] suffix (CONF:81-9372) +CarePlanCarePlanDocumentationOfServiceEventPerformerAssignedEntityAssignedPersonGeneralHeaderConstraintsUSRealmPersonNameFamily = Consol Care Plan (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) SHALL contain exactly one [1..1] documentationOf, where its type is Documentation Of (CONF:1198-31901) each SHALL contain exactly one [1..1] serviceEvent, where (CONF:1198-31902) each SHALL contain at least one [1..*] performer, where (CONF:1198-31905) each SHALL contain exactly one [1..1] assignedEntity, where (CONF:1198-31907) each SHALL contain exactly one [1..1] assignedPerson, where (CONF:1198-32328) each SHALL contain exactly one [1..1] name (CONF:1198-32329) name SHALL NOT contain [0..0] family (CONF:81-9372) +CarePlanCarePlanDocumentationOfServiceEventPerformerAssignedEntityAssignedPersonGeneralHeaderConstraintsUSRealmPersonNameGiven = Consol Care Plan (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) SHALL contain exactly one [1..1] documentationOf, where its type is Documentation Of (CONF:1198-31901) each SHALL contain exactly one [1..1] serviceEvent, where (CONF:1198-31902) each SHALL contain at least one [1..*] performer, where (CONF:1198-31905) each SHALL contain exactly one [1..1] assignedEntity, where (CONF:1198-31907) each SHALL contain exactly one [1..1] assignedPerson, where (CONF:1198-32328) each SHALL contain exactly one [1..1] name (CONF:1198-32329) name SHALL NOT contain [0..0] given (CONF:81-9372) +CarePlanCarePlanDocumentationOfServiceEventPerformerAssignedEntityAssignedPersonGeneralHeaderConstraintsUSRealmPersonNamePrefix = Consol Care Plan (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) SHALL contain exactly one [1..1] documentationOf, where its type is Documentation Of (CONF:1198-31901) each SHALL contain exactly one [1..1] serviceEvent, where (CONF:1198-31902) each SHALL contain at least one [1..*] performer, where (CONF:1198-31905) each SHALL contain exactly one [1..1] assignedEntity, where (CONF:1198-31907) each SHALL contain exactly one [1..1] assignedPerson, where (CONF:1198-32328) each SHALL contain exactly one [1..1] name (CONF:1198-32329) name SHALL NOT contain [0..0] prefix (CONF:81-9372) +CarePlanCarePlanDocumentationOfServiceEventPerformerAssignedEntityAssignedPersonGeneralHeaderConstraintsUSRealmPersonNameSuffix = Consol Care Plan (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) SHALL contain exactly one [1..1] documentationOf, where its type is Documentation Of (CONF:1198-31901) each SHALL contain exactly one [1..1] serviceEvent, where (CONF:1198-31902) each SHALL contain at least one [1..*] performer, where (CONF:1198-31905) each SHALL contain exactly one [1..1] assignedEntity, where (CONF:1198-31907) each SHALL contain exactly one [1..1] assignedPerson, where (CONF:1198-32328) each SHALL contain exactly one [1..1] name (CONF:1198-32329) name SHALL NOT contain [0..0] suffix (CONF:81-9372) CarePlanCarePlanDocumentationOfServiceEventPerformerAssignedEntityAssignedPersonGeneralHeaderConstraintsUSRealmPersonNameUSRealmPersonNameMixedContent = Consol Care Plan (V2) SHALL contain exactly one [1..1] documentationOf, where its type is Documentation Of (CONF:1198-31901) each SHALL contain exactly one [1..1] serviceEvent, where (CONF:1198-31902) each SHALL contain at least one [1..*] performer, where (CONF:1198-31905) each SHALL contain exactly one [1..1] assignedEntity, where (CONF:1198-31907) each SHALL contain exactly one [1..1] assignedPerson, where (CONF:1198-32328) each SHALL contain exactly one [1..1] name (CONF:1198-32329) null -CarePlanCarePlanDocumentationOfServiceEventPerformerAssignedEntityAssignedPersonGeneralHeaderConstraintsUSRealmPersonNameUse = Consol Care Plan (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) SHALL contain exactly one [1..1] documentationOf, where its type is Documentation Of (CONF:1198-31901) each SHALL contain exactly one [1..1] serviceEvent, where (CONF:1198-31902) each SHALL contain at least one [1..*] performer, where (CONF:1198-31905) each SHALL contain exactly one [1..1] assignedEntity, where (CONF:1198-31907) each SHALL contain exactly one [1..1] assignedPerson, where (CONF:1198-32328) each SHALL contain exactly one [1..1] name (CONF:1198-32329) name SHALL contain zero or one [0..1] @use, which SHALL be selected from ValueSet EntityNameUse 2.16.840.1.113883.1.11.15913 STATIC +CarePlanCarePlanDocumentationOfServiceEventPerformerAssignedEntityAssignedPersonGeneralHeaderConstraintsUSRealmPersonNameUse = Consol Care Plan (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) SHALL contain exactly one [1..1] documentationOf, where its type is Documentation Of (CONF:1198-31901) each SHALL contain exactly one [1..1] serviceEvent, where (CONF:1198-31902) each SHALL contain at least one [1..*] performer, where (CONF:1198-31905) each SHALL contain exactly one [1..1] assignedEntity, where (CONF:1198-31907) each SHALL contain exactly one [1..1] assignedPerson, where (CONF:1198-32328) each SHALL contain exactly one [1..1] name (CONF:1198-32329) name SHALL contain zero or one [0..1] @use, which SHALL be selected from ValueSet EntityNameUse 2.16.840.1.113883.1.11.15913 STATIC CarePlanCarePlanDocumentationOfServiceEventPerformerAssignedEntityAssignedPersonName = Consol Care Plan (V2) SHALL contain exactly one [1..1] documentationOf, where its type is Documentation Of (CONF:1198-31901) each SHALL contain exactly one [1..1] serviceEvent, where (CONF:1198-31902) each SHALL contain at least one [1..*] performer, where (CONF:1198-31905) each SHALL contain exactly one [1..1] assignedEntity, where (CONF:1198-31907) each SHALL contain exactly one [1..1] assignedPerson, where (CONF:1198-32328) assignedPerson SHALL contain exactly one [1..1] name (CONF:1198-32329) CarePlanCarePlanDocumentationOfServiceEventPerformerAssignedEntityCode = Consol Care Plan (V2) SHALL contain exactly one [1..1] documentationOf, where its type is Documentation Of (CONF:1198-31901) each SHALL contain exactly one [1..1] serviceEvent, where (CONF:1198-31902) each SHALL contain at least one [1..*] performer, where (CONF:1198-31905) each SHALL contain exactly one [1..1] assignedEntity, where (CONF:1198-31907) assignedEntity MAY contain zero or one [0..1] code (CONF:1198-31909) CarePlanCarePlanDocumentationOfServiceEventPerformerAssignedEntityId = Consol Care Plan (V2) SHALL contain exactly one [1..1] documentationOf, where its type is Documentation Of (CONF:1198-31901) each SHALL contain exactly one [1..1] serviceEvent, where (CONF:1198-31902) each SHALL contain at least one [1..*] performer, where (CONF:1198-31905) each SHALL contain exactly one [1..1] assignedEntity, where (CONF:1198-31907) assignedEntity SHALL contain at least one [1..*] id (CONF:1198-31908) @@ -509,12 +511,12 @@ CarePlanCarePlanInformationRecipientIntendedRecipient = Consol Care Plan (V2) SH CarePlanCarePlanInformationRecipientIntendedRecipientAddr = Consol Care Plan (V2) SHOULD contain zero or more [0..*] informationRecipient, where its type is Information Recipient (CONF:1198-31993) each SHALL contain exactly one [1..1] intendedRecipient, where (CONF:1198-31994) intendedRecipient SHOULD contain zero or more [0..*] addr (CONF:1198-31997) CarePlanCarePlanInformationRecipientIntendedRecipientId = Consol Care Plan (V2) SHOULD contain zero or more [0..*] informationRecipient, where its type is Information Recipient (CONF:1198-31993) each SHALL contain exactly one [1..1] intendedRecipient, where (CONF:1198-31994) intendedRecipient SHALL contain at least one [1..*] id (CONF:1198-31996) CarePlanCarePlanInformationRecipientIntendedRecipientInformationRecipient = Consol Care Plan (V2) SHOULD contain zero or more [0..*] informationRecipient, where its type is Information Recipient (CONF:1198-31993) each SHALL contain exactly one [1..1] intendedRecipient, where (CONF:1198-31994) intendedRecipient SHOULD contain zero or one [0..1] informationRecipient, where its type is Information Recipient (CONF:1198-31999) -CarePlanCarePlanInformationRecipientIntendedRecipientInformationRecipientGeneralHeaderConstraintsUSRealmPersonNameFamily = Consol Care Plan (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) SHOULD contain zero or more [0..*] informationRecipient, where its type is Information Recipient (CONF:1198-31993) each SHALL contain exactly one [1..1] intendedRecipient, where (CONF:1198-31994) each SHOULD contain zero or one [0..1] informationRecipient, where (CONF:1198-31999) each SHALL contain exactly one [1..1] name (CONF:1198-32320) such that it Note: The name should use pn (PN.US.FIELDED). name SHALL NOT contain [0..0] family (CONF:81-9372) -CarePlanCarePlanInformationRecipientIntendedRecipientInformationRecipientGeneralHeaderConstraintsUSRealmPersonNameGiven = Consol Care Plan (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) SHOULD contain zero or more [0..*] informationRecipient, where its type is Information Recipient (CONF:1198-31993) each SHALL contain exactly one [1..1] intendedRecipient, where (CONF:1198-31994) each SHOULD contain zero or one [0..1] informationRecipient, where (CONF:1198-31999) each SHALL contain exactly one [1..1] name (CONF:1198-32320) such that it Note: The name should use pn (PN.US.FIELDED). name SHALL NOT contain [0..0] given (CONF:81-9372) -CarePlanCarePlanInformationRecipientIntendedRecipientInformationRecipientGeneralHeaderConstraintsUSRealmPersonNamePrefix = Consol Care Plan (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) SHOULD contain zero or more [0..*] informationRecipient, where its type is Information Recipient (CONF:1198-31993) each SHALL contain exactly one [1..1] intendedRecipient, where (CONF:1198-31994) each SHOULD contain zero or one [0..1] informationRecipient, where (CONF:1198-31999) each SHALL contain exactly one [1..1] name (CONF:1198-32320) such that it Note: The name should use pn (PN.US.FIELDED). name SHALL NOT contain [0..0] prefix (CONF:81-9372) -CarePlanCarePlanInformationRecipientIntendedRecipientInformationRecipientGeneralHeaderConstraintsUSRealmPersonNameSuffix = Consol Care Plan (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) SHOULD contain zero or more [0..*] informationRecipient, where its type is Information Recipient (CONF:1198-31993) each SHALL contain exactly one [1..1] intendedRecipient, where (CONF:1198-31994) each SHOULD contain zero or one [0..1] informationRecipient, where (CONF:1198-31999) each SHALL contain exactly one [1..1] name (CONF:1198-32320) such that it Note: The name should use pn (PN.US.FIELDED). name SHALL NOT contain [0..0] suffix (CONF:81-9372) +CarePlanCarePlanInformationRecipientIntendedRecipientInformationRecipientGeneralHeaderConstraintsUSRealmPersonNameFamily = Consol Care Plan (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) SHOULD contain zero or more [0..*] informationRecipient, where its type is Information Recipient (CONF:1198-31993) each SHALL contain exactly one [1..1] intendedRecipient, where (CONF:1198-31994) each SHOULD contain zero or one [0..1] informationRecipient, where (CONF:1198-31999) each SHALL contain exactly one [1..1] name (CONF:1198-32320) such that it Note: The name should use pn (PN.US.FIELDED). name SHALL NOT contain [0..0] family (CONF:81-9372) +CarePlanCarePlanInformationRecipientIntendedRecipientInformationRecipientGeneralHeaderConstraintsUSRealmPersonNameGiven = Consol Care Plan (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) SHOULD contain zero or more [0..*] informationRecipient, where its type is Information Recipient (CONF:1198-31993) each SHALL contain exactly one [1..1] intendedRecipient, where (CONF:1198-31994) each SHOULD contain zero or one [0..1] informationRecipient, where (CONF:1198-31999) each SHALL contain exactly one [1..1] name (CONF:1198-32320) such that it Note: The name should use pn (PN.US.FIELDED). name SHALL NOT contain [0..0] given (CONF:81-9372) +CarePlanCarePlanInformationRecipientIntendedRecipientInformationRecipientGeneralHeaderConstraintsUSRealmPersonNamePrefix = Consol Care Plan (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) SHOULD contain zero or more [0..*] informationRecipient, where its type is Information Recipient (CONF:1198-31993) each SHALL contain exactly one [1..1] intendedRecipient, where (CONF:1198-31994) each SHOULD contain zero or one [0..1] informationRecipient, where (CONF:1198-31999) each SHALL contain exactly one [1..1] name (CONF:1198-32320) such that it Note: The name should use pn (PN.US.FIELDED). name SHALL NOT contain [0..0] prefix (CONF:81-9372) +CarePlanCarePlanInformationRecipientIntendedRecipientInformationRecipientGeneralHeaderConstraintsUSRealmPersonNameSuffix = Consol Care Plan (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) SHOULD contain zero or more [0..*] informationRecipient, where its type is Information Recipient (CONF:1198-31993) each SHALL contain exactly one [1..1] intendedRecipient, where (CONF:1198-31994) each SHOULD contain zero or one [0..1] informationRecipient, where (CONF:1198-31999) each SHALL contain exactly one [1..1] name (CONF:1198-32320) such that it Note: The name should use pn (PN.US.FIELDED). name SHALL NOT contain [0..0] suffix (CONF:81-9372) CarePlanCarePlanInformationRecipientIntendedRecipientInformationRecipientGeneralHeaderConstraintsUSRealmPersonNameUSRealmPersonNameMixedContent = Consol Care Plan (V2) SHOULD contain zero or more [0..*] informationRecipient, where its type is Information Recipient (CONF:1198-31993) each SHALL contain exactly one [1..1] intendedRecipient, where (CONF:1198-31994) each SHOULD contain zero or one [0..1] informationRecipient, where (CONF:1198-31999) each SHALL contain exactly one [1..1] name (CONF:1198-32320) such that it Note: The name should use pn (PN.US.FIELDED). null -CarePlanCarePlanInformationRecipientIntendedRecipientInformationRecipientGeneralHeaderConstraintsUSRealmPersonNameUse = Consol Care Plan (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) SHOULD contain zero or more [0..*] informationRecipient, where its type is Information Recipient (CONF:1198-31993) each SHALL contain exactly one [1..1] intendedRecipient, where (CONF:1198-31994) each SHOULD contain zero or one [0..1] informationRecipient, where (CONF:1198-31999) each SHALL contain exactly one [1..1] name (CONF:1198-32320) such that it Note: The name should use pn (PN.US.FIELDED). name SHALL contain zero or one [0..1] @use, which SHALL be selected from ValueSet EntityNameUse 2.16.840.1.113883.1.11.15913 STATIC +CarePlanCarePlanInformationRecipientIntendedRecipientInformationRecipientGeneralHeaderConstraintsUSRealmPersonNameUse = Consol Care Plan (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) SHOULD contain zero or more [0..*] informationRecipient, where its type is Information Recipient (CONF:1198-31993) each SHALL contain exactly one [1..1] intendedRecipient, where (CONF:1198-31994) each SHOULD contain zero or one [0..1] informationRecipient, where (CONF:1198-31999) each SHALL contain exactly one [1..1] name (CONF:1198-32320) such that it Note: The name should use pn (PN.US.FIELDED). name SHALL contain zero or one [0..1] @use, which SHALL be selected from ValueSet EntityNameUse 2.16.840.1.113883.1.11.15913 STATIC CarePlanCarePlanInformationRecipientIntendedRecipientInformationRecipientName = Consol Care Plan (V2) SHOULD contain zero or more [0..*] informationRecipient, where its type is Information Recipient (CONF:1198-31993) each SHALL contain exactly one [1..1] intendedRecipient, where (CONF:1198-31994) each SHOULD contain zero or one [0..1] informationRecipient, where (CONF:1198-31999) informationRecipient SHALL contain exactly one [1..1] name (CONF:1198-32320) such that it Note: The name should use US Realm Person Name (PN.US.FIELDED). CarePlanCarePlanInformationRecipientIntendedRecipientReceivedOrganization = Consol Care Plan (V2) SHOULD contain zero or more [0..*] informationRecipient, where its type is Information Recipient (CONF:1198-31993) each SHALL contain exactly one [1..1] intendedRecipient, where (CONF:1198-31994) intendedRecipient SHOULD contain zero or one [0..1] receivedOrganization, where its type is Received Organization (CONF:1198-32000) CarePlanCarePlanInformationRecipientIntendedRecipientReceivedOrganizationId = Consol Care Plan (V2) SHOULD contain zero or more [0..*] informationRecipient, where its type is Information Recipient (CONF:1198-31993) each SHALL contain exactly one [1..1] intendedRecipient, where (CONF:1198-31994) each SHOULD contain zero or one [0..1] receivedOrganization, where (CONF:1198-32000) receivedOrganization SHOULD contain zero or more [0..*] id (CONF:1198-32001) @@ -3047,6 +3049,8 @@ ImmunizationsSectionEntriesOptionalImmunizationsSectionEntriesOptionalText = Con ImmunizationsSectionEntriesOptionalImmunizationsSectionEntriesOptionalTitle = Consol Immunizations Section Entries Optional SHALL contain exactly one [1..1] title (CONF:7967., R2.1=CONF:1198-7967) ImmunizationsSectionImmunizationsSectionCode = Consol Immunizations Section SHALL contain exactly one [1..1] code (CONF:15369)/@code="11369-6" (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:15370) ImmunizationsSectionImmunizationsSectionCodeP = Consol Immunizations Section SHALL contain exactly one [1..1] code (CONF:15369)/@code="11369-6" (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:15370) +ImmunizationsSectionImmunizationsSectionEntriesOptionalCode = Consol Immunizations Section SHALL contain exactly one [1..1] code (CONF:15369)/@code="11369-6" (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:15370) +ImmunizationsSectionImmunizationsSectionEntriesOptionalCodeP = Consol Immunizations Section SHALL contain exactly one [1..1] code (CONF:15369)/@code="11369-6" (CodeSystem: 2.16.840.1.113883.6.1 LOINC) (CONF:15370) ImmunizationsSectionImmunizationsSectionEntriesOptionalTemplateId = SHALL contain exactly one [1..1] templateId ( CONF:9015, CONF:10400 ) such that it SHALL contain exactly one [1..1] @root="2.16.840.1.113883.10.20.22.2.2.1" ImmunizationsSectionImmunizationsSectionImmunization = Consol Immunizations Section If section/@nullFlavor is not present, SHALL contain [1..*] entry such that it (CONF:9019, CONF:9020) Conforms to Immunization Activity (templateId: 2.16.840.1.113883.10.20.22.4.52) ImmunizationsSectionImmunizationsSectionText = Consol Immunizations Section SHALL contain exactly one [1..1] text (CONF:9018) @@ -5751,14 +5755,14 @@ ReferralNoteReferralNoteParticipantCallbackContactTypeCode = Consol Referral Not ReferralNoteReferralNoteParticipantCaregiver = Consol Referral Note (V2) SHOULD contain zero or more [0..*] participant, where its type is Participant Caregiver (CONF:1198-31642) ReferralNoteReferralNoteParticipantCaregiverAssociatedEntity = Consol Referral Note (V2) SHOULD contain zero or more [0..*] participant, where its type is Participant Caregiver (CONF:1198-31642) participantCaregiver SHALL contain exactly one [1..1] associatedEntity, where its type is Associated Entity (CONF:1198-31643) ReferralNoteReferralNoteParticipantCaregiverAssociatedEntityAssociatedPerson = Consol Referral Note (V2) SHOULD contain zero or more [0..*] participant, where its type is Participant Caregiver (CONF:1198-31642) each SHALL contain exactly one [1..1] associatedEntity, where (CONF:1198-31643) associatedEntity SHALL contain exactly one [1..1] associatedPerson, where its type is Associated Person (CONF:1198-31644) -ReferralNoteReferralNoteParticipantCaregiverAssociatedEntityAssociatedPersonGeneralHeaderConstraintsUSRealmPersonNameFamily = Consol Referral Note (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) SHOULD contain zero or more [0..*] participant, where its type is Participant Caregiver (CONF:1198-31642) each SHALL contain exactly one [1..1] associatedEntity, where (CONF:1198-31643) each SHALL contain exactly one [1..1] associatedPerson, where (CONF:1198-31644) This associatedPerson SHALL contain at least one [1..*] US Realm Patient Name (PTN.US.FIELDED) (identifier: urn:oid:2.16.840.1.113883.10.20.22.5.1) (CONF:1198-31645) name SHALL NOT contain [0..0] family (CONF:81-9372) -ReferralNoteReferralNoteParticipantCaregiverAssociatedEntityAssociatedPersonGeneralHeaderConstraintsUSRealmPersonNameGiven = Consol Referral Note (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) SHOULD contain zero or more [0..*] participant, where its type is Participant Caregiver (CONF:1198-31642) each SHALL contain exactly one [1..1] associatedEntity, where (CONF:1198-31643) each SHALL contain exactly one [1..1] associatedPerson, where (CONF:1198-31644) This associatedPerson SHALL contain at least one [1..*] US Realm Patient Name (PTN.US.FIELDED) (identifier: urn:oid:2.16.840.1.113883.10.20.22.5.1) (CONF:1198-31645) name SHALL NOT contain [0..0] given (CONF:81-9372) -ReferralNoteReferralNoteParticipantCaregiverAssociatedEntityAssociatedPersonGeneralHeaderConstraintsUSRealmPersonNamePrefix = Consol Referral Note (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) SHOULD contain zero or more [0..*] participant, where its type is Participant Caregiver (CONF:1198-31642) each SHALL contain exactly one [1..1] associatedEntity, where (CONF:1198-31643) each SHALL contain exactly one [1..1] associatedPerson, where (CONF:1198-31644) This associatedPerson SHALL contain at least one [1..*] US Realm Patient Name (PTN.US.FIELDED) (identifier: urn:oid:2.16.840.1.113883.10.20.22.5.1) (CONF:1198-31645) name SHALL NOT contain [0..0] prefix (CONF:81-9372) -ReferralNoteReferralNoteParticipantCaregiverAssociatedEntityAssociatedPersonGeneralHeaderConstraintsUSRealmPersonNameSuffix = Consol Referral Note (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) SHOULD contain zero or more [0..*] participant, where its type is Participant Caregiver (CONF:1198-31642) each SHALL contain exactly one [1..1] associatedEntity, where (CONF:1198-31643) each SHALL contain exactly one [1..1] associatedPerson, where (CONF:1198-31644) This associatedPerson SHALL contain at least one [1..*] US Realm Patient Name (PTN.US.FIELDED) (identifier: urn:oid:2.16.840.1.113883.10.20.22.5.1) (CONF:1198-31645) name SHALL NOT contain [0..0] suffix (CONF:81-9372) -ReferralNoteReferralNoteParticipantCaregiverAssociatedEntityAssociatedPersonGeneralHeaderConstraintsUSRealmPersonNameTemplateId = Consol Referral Note (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) SHOULD contain zero or more [0..*] participant, where its type is Participant Caregiver (CONF:1198-31642) each SHALL contain exactly one [1..1] associatedEntity, where (CONF:1198-31643) each SHALL contain exactly one [1..1] associatedPerson, where (CONF:1198-31644) This associatedPerson SHALL contain at least one [1..*] US Realm Patient Name (PTN.US.FIELDED) (identifier: urn:oid:2.16.840.1.113883.10.20.22.5.1) (CONF:1198-31645) SHALL contain exactly one [1..1] templateId such that it SHALL contain exactly one [1..1] @root="" -ReferralNoteReferralNoteParticipantCaregiverAssociatedEntityAssociatedPersonGeneralHeaderConstraintsUSRealmPersonNameUSRealmPatientNameMixedContent = Consol Referral Note (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) SHOULD contain zero or more [0..*] participant, where its type is Participant Caregiver (CONF:1198-31642) each SHALL contain exactly one [1..1] associatedEntity, where (CONF:1198-31643) each SHALL contain exactly one [1..1] associatedPerson, where (CONF:1198-31644) This associatedPerson SHALL contain at least one [1..*] US Realm Patient Name (PTN.US.FIELDED) (identifier: urn:oid:2.16.840.1.113883.10.20.22.5.1) (CONF:1198-31645) null +ReferralNoteReferralNoteParticipantCaregiverAssociatedEntityAssociatedPersonGeneralHeaderConstraintsUSRealmPersonNameFamily = Consol Referral Note (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) SHOULD contain zero or more [0..*] participant, where its type is Participant Caregiver (CONF:1198-31642) each SHALL contain exactly one [1..1] associatedEntity, where (CONF:1198-31643) each SHALL contain exactly one [1..1] associatedPerson, where (CONF:1198-31644) This associatedPerson SHALL contain at least one [1..*] US Realm Patient Name (PTN.US.FIELDED) (identifier: urn:oid:2.16.840.1.113883.10.20.22.5.1) (CONF:1198-31645) name SHALL NOT contain [0..0] family (CONF:81-9372) +ReferralNoteReferralNoteParticipantCaregiverAssociatedEntityAssociatedPersonGeneralHeaderConstraintsUSRealmPersonNameGiven = Consol Referral Note (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) SHOULD contain zero or more [0..*] participant, where its type is Participant Caregiver (CONF:1198-31642) each SHALL contain exactly one [1..1] associatedEntity, where (CONF:1198-31643) each SHALL contain exactly one [1..1] associatedPerson, where (CONF:1198-31644) This associatedPerson SHALL contain at least one [1..*] US Realm Patient Name (PTN.US.FIELDED) (identifier: urn:oid:2.16.840.1.113883.10.20.22.5.1) (CONF:1198-31645) name SHALL NOT contain [0..0] given (CONF:81-9372) +ReferralNoteReferralNoteParticipantCaregiverAssociatedEntityAssociatedPersonGeneralHeaderConstraintsUSRealmPersonNamePrefix = Consol Referral Note (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) SHOULD contain zero or more [0..*] participant, where its type is Participant Caregiver (CONF:1198-31642) each SHALL contain exactly one [1..1] associatedEntity, where (CONF:1198-31643) each SHALL contain exactly one [1..1] associatedPerson, where (CONF:1198-31644) This associatedPerson SHALL contain at least one [1..*] US Realm Patient Name (PTN.US.FIELDED) (identifier: urn:oid:2.16.840.1.113883.10.20.22.5.1) (CONF:1198-31645) name SHALL NOT contain [0..0] prefix (CONF:81-9372) +ReferralNoteReferralNoteParticipantCaregiverAssociatedEntityAssociatedPersonGeneralHeaderConstraintsUSRealmPersonNameSuffix = Consol Referral Note (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) SHOULD contain zero or more [0..*] participant, where its type is Participant Caregiver (CONF:1198-31642) each SHALL contain exactly one [1..1] associatedEntity, where (CONF:1198-31643) each SHALL contain exactly one [1..1] associatedPerson, where (CONF:1198-31644) This associatedPerson SHALL contain at least one [1..*] US Realm Patient Name (PTN.US.FIELDED) (identifier: urn:oid:2.16.840.1.113883.10.20.22.5.1) (CONF:1198-31645) name SHALL NOT contain [0..0] suffix (CONF:81-9372) +ReferralNoteReferralNoteParticipantCaregiverAssociatedEntityAssociatedPersonGeneralHeaderConstraintsUSRealmPersonNameTemplateId = Consol Referral Note (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) SHOULD contain zero or more [0..*] participant, where its type is Participant Caregiver (CONF:1198-31642) each SHALL contain exactly one [1..1] associatedEntity, where (CONF:1198-31643) each SHALL contain exactly one [1..1] associatedPerson, where (CONF:1198-31644) This associatedPerson SHALL contain at least one [1..*] US Realm Patient Name (PTN.US.FIELDED) (identifier: urn:oid:2.16.840.1.113883.10.20.22.5.1) (CONF:1198-31645) SHALL contain exactly one [1..1] templateId such that it SHALL contain exactly one [1..1] @root="" +ReferralNoteReferralNoteParticipantCaregiverAssociatedEntityAssociatedPersonGeneralHeaderConstraintsUSRealmPersonNameUSRealmPatientNameMixedContent = Consol Referral Note (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) SHOULD contain zero or more [0..*] participant, where its type is Participant Caregiver (CONF:1198-31642) each SHALL contain exactly one [1..1] associatedEntity, where (CONF:1198-31643) each SHALL contain exactly one [1..1] associatedPerson, where (CONF:1198-31644) This associatedPerson SHALL contain at least one [1..*] US Realm Patient Name (PTN.US.FIELDED) (identifier: urn:oid:2.16.840.1.113883.10.20.22.5.1) (CONF:1198-31645) null ReferralNoteReferralNoteParticipantCaregiverAssociatedEntityAssociatedPersonGeneralHeaderConstraintsUSRealmPersonNameUSRealmPersonNameMixedContent = Consol Referral Note (V2) SHOULD contain zero or more [0..*] participant, where its type is Participant Caregiver (CONF:1198-31642) each SHALL contain exactly one [1..1] associatedEntity, where (CONF:1198-31643) each SHALL contain exactly one [1..1] associatedPerson, where (CONF:1198-31644) This associatedPerson SHALL contain at least one [1..*] US Realm Patient Name (PTN.US.FIELDED) (identifier: urn:oid:2.16.840.1.113883.10.20.22.5.1) (CONF:1198-31645) null -ReferralNoteReferralNoteParticipantCaregiverAssociatedEntityAssociatedPersonGeneralHeaderConstraintsUSRealmPersonNameUse = Consol Referral Note (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) SHOULD contain zero or more [0..*] participant, where its type is Participant Caregiver (CONF:1198-31642) each SHALL contain exactly one [1..1] associatedEntity, where (CONF:1198-31643) each SHALL contain exactly one [1..1] associatedPerson, where (CONF:1198-31644) This associatedPerson SHALL contain at least one [1..*] US Realm Patient Name (PTN.US.FIELDED) (identifier: urn:oid:2.16.840.1.113883.10.20.22.5.1) (CONF:1198-31645) name SHALL contain zero or one [0..1] @use, which SHALL be selected from ValueSet EntityNameUse 2.16.840.1.113883.1.11.15913 STATIC +ReferralNoteReferralNoteParticipantCaregiverAssociatedEntityAssociatedPersonGeneralHeaderConstraintsUSRealmPersonNameUse = Consol Referral Note (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) (V2) SHOULD contain zero or more [0..*] participant, where its type is Participant Caregiver (CONF:1198-31642) each SHALL contain exactly one [1..1] associatedEntity, where (CONF:1198-31643) each SHALL contain exactly one [1..1] associatedPerson, where (CONF:1198-31644) This associatedPerson SHALL contain at least one [1..*] US Realm Patient Name (PTN.US.FIELDED) (identifier: urn:oid:2.16.840.1.113883.10.20.22.5.1) (CONF:1198-31645) name SHALL contain zero or one [0..1] @use, which SHALL be selected from ValueSet EntityNameUse 2.16.840.1.113883.1.11.15913 STATIC ReferralNoteReferralNoteParticipantCaregiverAssociatedEntityAssociatedPersonName = Consol Referral Note (V2) SHOULD contain zero or more [0..*] participant, where its type is Participant Caregiver (CONF:1198-31642) each SHALL contain exactly one [1..1] associatedEntity, where (CONF:1198-31643) each SHALL contain exactly one [1..1] associatedPerson, where (CONF:1198-31644) This associatedPerson SHALL contain at least one [1..*] US Realm Patient Name (PTN.US.FIELDED) (identifier: urn:oid:2.16.840.1.113883.10.20.22.5.1) (CONF:1198-31645) ReferralNoteReferralNoteParticipantCaregiverAssociatedEntityClassCode = Consol Referral Note (V2) SHOULD contain zero or more [0..*] participant, where its type is Participant Caregiver (CONF:1198-31642) each SHALL contain exactly one [1..1] associatedEntity, where (CONF:1198-31643) associatedEntity SHALL contain exactly one [1..1] @classCode, which SHALL be selected from ValueSet INDRoleclassCodes 2.16.840.1.113883.11.20.9.33 DYNAMIC (CONF:1198-31925) ReferralNoteReferralNoteParticipantCaregiverAssociatedEntityClassCodeP = Consol Referral Note (V2) SHOULD contain zero or more [0..*] participant, where its type is Participant Caregiver (CONF:1198-31642) each SHALL contain exactly one [1..1] associatedEntity, where (CONF:1198-31643) associatedEntity SHALL contain exactly one [1..1] @classCode, which SHALL be selected from ValueSet INDRoleclassCodes 2.16.840.1.113883.11.20.9.33 DYNAMIC (CONF:1198-31925) @@ -6770,6 +6774,8 @@ VitalSignsSectionEntriesOptionalVitalSignsSectionEntriesOptionalTitle = Consol V VitalSignsSectionEntriesOptionalVitalSignsSectionEntriesOptionalVitalSignsOrganizer = Consol Vital Signs Section Entries Optional If section/@nullFlavor is not present, SHOULD contain [0..*] entry such that it (CONF:7271, CONF:7272) Conforms to Vital Signs Organizer (templateId: 2.16.840.1.113883.10.20.22.4.26) VitalSignsSectionVitalSignsSectionCode = 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) VitalSignsSectionVitalSignsSectionCodeP = 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) +VitalSignsSectionVitalSignsSectionEntriesOptionalCode = 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) +VitalSignsSectionVitalSignsSectionEntriesOptionalCodeP = 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) VitalSignsSectionVitalSignsSectionEntriesOptionalTemplateId = SHALL contain exactly one [1..1] templateId ( CONF:7273, CONF:10452 ) such that it SHALL contain exactly one [1..1] @root="2.16.840.1.113883.10.20.22.2.4.1" VitalSignsSectionVitalSignsSectionEntriesOptionalTitle = Consol Vital Signs Section SHALL contain exactly one [1..1] title (CONF:9967) VitalSignsSectionVitalSignsSectionText = Consol Vital Signs Section SHALL contain exactly one [1..1] text (CONF:7275) diff --git a/generated/org.openhealthtools.mdht.uml.cda.consol2/src/org/openhealthtools/mdht/uml/cda/consol/AdvanceDirectivesSection.java b/generated/org.openhealthtools.mdht.uml.cda.consol2/src/org/openhealthtools/mdht/uml/cda/consol/AdvanceDirectivesSection.java index ea4b075be..482d3bea2 100644 --- a/generated/org.openhealthtools.mdht.uml.cda.consol2/src/org/openhealthtools/mdht/uml/cda/consol/AdvanceDirectivesSection.java +++ b/generated/org.openhealthtools.mdht.uml.cda.consol2/src/org/openhealthtools/mdht/uml/cda/consol/AdvanceDirectivesSection.java @@ -17,35 +17,11 @@ * * * @see org.openhealthtools.mdht.uml.cda.consol.ConsolPackage#getAdvanceDirectivesSection() - * @model annotation="http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='AdvanceDirectivesSectionEntriesOptionalTemplateId AdvanceDirectivesSectionCode AdvanceDirectivesSectionCodeP AdvanceDirectivesSectionTitle AdvanceDirectivesSectionText AdvanceDirectivesSectionAdvanceDirectiveObservation' templateId.root='2.16.840.1.113883.10.20.22.2.21.1' code.code='42348-3' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Advance directives' constraints.validation.dependOn.AdvanceDirectivesSectionCode='AdvanceDirectivesSectionCodeP'" + * @model annotation="http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='AdvanceDirectivesSectionEntriesOptionalTemplateId AdvanceDirectivesSectionEntriesOptionalCode AdvanceDirectivesSectionEntriesOptionalCodeP AdvanceDirectivesSectionTitle AdvanceDirectivesSectionText AdvanceDirectivesSectionAdvanceDirectiveObservation' templateId.root='2.16.840.1.113883.10.20.22.2.21.1' constraints.validation.dependOn.AdvanceDirectivesSectionEntriesOptionalCode='AdvanceDirectivesSectionEntriesOptionalCodeP'" * annotation="duplicates" * @generated */ public interface AdvanceDirectivesSection extends AdvanceDirectivesSectionEntriesOptional { - /** - * - * - * - * @param diagnostics The chain of diagnostics to which problems are to be appended. - * @param context The cache of context-specific information. - * - * @model annotation="http://www.eclipse.org/uml2/1.1.0/GenModel body='(self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined())'" - * @generated - */ - boolean validateAdvanceDirectivesSectionCodeP(DiagnosticChain diagnostics, Map context); - - /** - * - * - * - * @param diagnostics The chain of diagnostics to which problems are to be appended. - * @param context The cache of context-specific information. - * - * @model annotation="http://www.eclipse.org/uml2/1.1.0/GenModel body='(self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and \nlet value : datatypes::CE = self.code.oclAsType(datatypes::CE) in \nvalue.code = \'42348-3\' and value.codeSystem = \'2.16.840.1.113883.6.1\')'" - * @generated - */ - boolean validateAdvanceDirectivesSectionCode(DiagnosticChain diagnostics, Map context); - /** * * diff --git a/generated/org.openhealthtools.mdht.uml.cda.consol2/src/org/openhealthtools/mdht/uml/cda/consol/ImmunizationsSection.java b/generated/org.openhealthtools.mdht.uml.cda.consol2/src/org/openhealthtools/mdht/uml/cda/consol/ImmunizationsSection.java index 5edabf9b5..9fa8bb6fd 100644 --- a/generated/org.openhealthtools.mdht.uml.cda.consol2/src/org/openhealthtools/mdht/uml/cda/consol/ImmunizationsSection.java +++ b/generated/org.openhealthtools.mdht.uml.cda.consol2/src/org/openhealthtools/mdht/uml/cda/consol/ImmunizationsSection.java @@ -17,35 +17,11 @@ * * * @see org.openhealthtools.mdht.uml.cda.consol.ConsolPackage#getImmunizationsSection() - * @model annotation="http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ImmunizationsSectionEntriesOptionalTemplateId ImmunizationsSectionCode ImmunizationsSectionCodeP ImmunizationsSectionTitle ImmunizationsSectionText ImmunizationsSectionImmunization' templateId.root='2.16.840.1.113883.10.20.22.2.2.1' code.code='11369-6' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' constraints.validation.dependOn.ImmunizationsSectionCode='ImmunizationsSectionCodeP'" + * @model annotation="http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ImmunizationsSectionEntriesOptionalTemplateId ImmunizationsSectionEntriesOptionalCode ImmunizationsSectionEntriesOptionalCodeP ImmunizationsSectionTitle ImmunizationsSectionText ImmunizationsSectionImmunization' templateId.root='2.16.840.1.113883.10.20.22.2.2.1' constraints.validation.dependOn.ImmunizationsSectionEntriesOptionalCode='ImmunizationsSectionEntriesOptionalCodeP'" * annotation="duplicates" * @generated */ public interface ImmunizationsSection extends ImmunizationsSectionEntriesOptional { - /** - * - * - * - * @param diagnostics The chain of diagnostics to which problems are to be appended. - * @param context The cache of context-specific information. - * - * @model annotation="http://www.eclipse.org/uml2/1.1.0/GenModel body='(self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined())'" - * @generated - */ - boolean validateImmunizationsSectionCodeP(DiagnosticChain diagnostics, Map context); - - /** - * - * - * - * @param diagnostics The chain of diagnostics to which problems are to be appended. - * @param context The cache of context-specific information. - * - * @model annotation="http://www.eclipse.org/uml2/1.1.0/GenModel body='(self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and \nlet value : datatypes::CE = self.code.oclAsType(datatypes::CE) in \nvalue.code = \'11369-6\' and value.codeSystem = \'2.16.840.1.113883.6.1\')'" - * @generated - */ - boolean validateImmunizationsSectionCode(DiagnosticChain diagnostics, Map context); - /** * * diff --git a/generated/org.openhealthtools.mdht.uml.cda.consol2/src/org/openhealthtools/mdht/uml/cda/consol/VitalSignsSection.java b/generated/org.openhealthtools.mdht.uml.cda.consol2/src/org/openhealthtools/mdht/uml/cda/consol/VitalSignsSection.java index a9f3f17d3..8f4babb15 100644 --- a/generated/org.openhealthtools.mdht.uml.cda.consol2/src/org/openhealthtools/mdht/uml/cda/consol/VitalSignsSection.java +++ b/generated/org.openhealthtools.mdht.uml.cda.consol2/src/org/openhealthtools/mdht/uml/cda/consol/VitalSignsSection.java @@ -17,35 +17,11 @@ * * * @see org.openhealthtools.mdht.uml.cda.consol.ConsolPackage#getVitalSignsSection() - * @model annotation="http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='VitalSignsSectionEntriesOptionalTemplateId VitalSignsSectionCode VitalSignsSectionCodeP VitalSignsSectionText VitalSignsSectionEntriesOptionalTitle VitalSignsSectionVitalSignsOrganizer' templateId.root='2.16.840.1.113883.10.20.22.2.4.1' code.code='8716-3' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' code.displayName='Vital Signs' constraints.validation.dependOn.VitalSignsSectionCode='VitalSignsSectionCodeP'" + * @model annotation="http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='VitalSignsSectionEntriesOptionalTemplateId VitalSignsSectionEntriesOptionalCode VitalSignsSectionEntriesOptionalCodeP VitalSignsSectionText VitalSignsSectionEntriesOptionalTitle VitalSignsSectionVitalSignsOrganizer' templateId.root='2.16.840.1.113883.10.20.22.2.4.1' constraints.validation.dependOn.VitalSignsSectionEntriesOptionalCode='VitalSignsSectionEntriesOptionalCodeP'" * annotation="duplicates" * @generated */ public interface VitalSignsSection extends VitalSignsSectionEntriesOptional { - /** - * - * - * - * @param diagnostics The chain of diagnostics to which problems are to be appended. - * @param context The cache of context-specific information. - * - * @model annotation="http://www.eclipse.org/uml2/1.1.0/GenModel body='(self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined())'" - * @generated - */ - boolean validateVitalSignsSectionCodeP(DiagnosticChain diagnostics, Map context); - - /** - * - * - * - * @param diagnostics The chain of diagnostics to which problems are to be appended. - * @param context The cache of context-specific information. - * - * @model annotation="http://www.eclipse.org/uml2/1.1.0/GenModel body='(self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and \nlet value : datatypes::CE = self.code.oclAsType(datatypes::CE) in \nvalue.code = \'8716-3\' and value.codeSystem = \'2.16.840.1.113883.6.1\')'" - * @generated - */ - boolean validateVitalSignsSectionCode(DiagnosticChain diagnostics, Map context); - /** * * diff --git a/generated/org.openhealthtools.mdht.uml.cda.consol2/src/org/openhealthtools/mdht/uml/cda/consol/impl/AdvanceDirectivesSectionImpl.java b/generated/org.openhealthtools.mdht.uml.cda.consol2/src/org/openhealthtools/mdht/uml/cda/consol/impl/AdvanceDirectivesSectionImpl.java index 9c88484df..bcdabc4d9 100644 --- a/generated/org.openhealthtools.mdht.uml.cda.consol2/src/org/openhealthtools/mdht/uml/cda/consol/impl/AdvanceDirectivesSectionImpl.java +++ b/generated/org.openhealthtools.mdht.uml.cda.consol2/src/org/openhealthtools/mdht/uml/cda/consol/impl/AdvanceDirectivesSectionImpl.java @@ -56,8 +56,8 @@ protected EClass eStaticClass() { * * @generated */ - public boolean validateAdvanceDirectivesSectionCodeP(DiagnosticChain diagnostics, Map context) { - return AdvanceDirectivesSectionOperations.validateAdvanceDirectivesSectionCodeP(this, diagnostics, context); + public boolean validateAdvanceDirectivesSectionTitle(DiagnosticChain diagnostics, Map context) { + return AdvanceDirectivesSectionOperations.validateAdvanceDirectivesSectionTitle(this, diagnostics, context); } /** @@ -65,8 +65,8 @@ public boolean validateAdvanceDirectivesSectionCodeP(DiagnosticChain diagnostics * * @generated */ - public boolean validateAdvanceDirectivesSectionCode(DiagnosticChain diagnostics, Map context) { - return AdvanceDirectivesSectionOperations.validateAdvanceDirectivesSectionCode(this, diagnostics, context); + public boolean validateAdvanceDirectivesSectionText(DiagnosticChain diagnostics, Map context) { + return AdvanceDirectivesSectionOperations.validateAdvanceDirectivesSectionText(this, diagnostics, context); } /** @@ -74,8 +74,10 @@ public boolean validateAdvanceDirectivesSectionCode(DiagnosticChain diagnostics, * * @generated */ - public boolean validateAdvanceDirectivesSectionTitle(DiagnosticChain diagnostics, Map context) { - return AdvanceDirectivesSectionOperations.validateAdvanceDirectivesSectionTitle(this, diagnostics, context); + public boolean validateAdvanceDirectivesSectionAdvanceDirectiveObservation(DiagnosticChain diagnostics, + Map context) { + return AdvanceDirectivesSectionOperations.validateAdvanceDirectivesSectionAdvanceDirectiveObservation( + this, diagnostics, context); } /** @@ -83,8 +85,8 @@ public boolean validateAdvanceDirectivesSectionTitle(DiagnosticChain diagnostics * * @generated */ - public boolean validateAdvanceDirectivesSectionText(DiagnosticChain diagnostics, Map context) { - return AdvanceDirectivesSectionOperations.validateAdvanceDirectivesSectionText(this, diagnostics, context); + public EList getConsolAdvanceDirectiveObservations() { + return AdvanceDirectivesSectionOperations.getConsolAdvanceDirectiveObservations(this); } /** @@ -92,9 +94,10 @@ public boolean validateAdvanceDirectivesSectionText(DiagnosticChain diagnostics, * * @generated */ - public boolean validateAdvanceDirectivesSectionAdvanceDirectiveObservation(DiagnosticChain diagnostics, + @Override + public boolean validateAdvanceDirectivesSectionEntriesOptionalTemplateId(DiagnosticChain diagnostics, Map context) { - return AdvanceDirectivesSectionOperations.validateAdvanceDirectivesSectionAdvanceDirectiveObservation( + return AdvanceDirectivesSectionOperations.validateAdvanceDirectivesSectionEntriesOptionalTemplateId( this, diagnostics, context); } @@ -103,8 +106,11 @@ public boolean validateAdvanceDirectivesSectionAdvanceDirectiveObservation(Diagn * * @generated */ - public EList getConsolAdvanceDirectiveObservations() { - return AdvanceDirectivesSectionOperations.getConsolAdvanceDirectiveObservations(this); + @Override + public boolean validateAdvanceDirectivesSectionEntriesOptionalCodeP(DiagnosticChain diagnostics, + Map context) { + return AdvanceDirectivesSectionOperations.validateAdvanceDirectivesSectionEntriesOptionalCodeP( + this, diagnostics, context); } /** @@ -113,9 +119,9 @@ public EList getConsolAdvanceDirectiveObservations( * @generated */ @Override - public boolean validateAdvanceDirectivesSectionEntriesOptionalTemplateId(DiagnosticChain diagnostics, + public boolean validateAdvanceDirectivesSectionEntriesOptionalCode(DiagnosticChain diagnostics, Map context) { - return AdvanceDirectivesSectionOperations.validateAdvanceDirectivesSectionEntriesOptionalTemplateId( + return AdvanceDirectivesSectionOperations.validateAdvanceDirectivesSectionEntriesOptionalCode( this, diagnostics, context); } diff --git a/generated/org.openhealthtools.mdht.uml.cda.consol2/src/org/openhealthtools/mdht/uml/cda/consol/impl/ImmunizationsSectionImpl.java b/generated/org.openhealthtools.mdht.uml.cda.consol2/src/org/openhealthtools/mdht/uml/cda/consol/impl/ImmunizationsSectionImpl.java index 8fab11a07..e7c47e51d 100644 --- a/generated/org.openhealthtools.mdht.uml.cda.consol2/src/org/openhealthtools/mdht/uml/cda/consol/impl/ImmunizationsSectionImpl.java +++ b/generated/org.openhealthtools.mdht.uml.cda.consol2/src/org/openhealthtools/mdht/uml/cda/consol/impl/ImmunizationsSectionImpl.java @@ -55,8 +55,8 @@ protected EClass eStaticClass() { * * @generated */ - public boolean validateImmunizationsSectionCodeP(DiagnosticChain diagnostics, Map context) { - return ImmunizationsSectionOperations.validateImmunizationsSectionCodeP(this, diagnostics, context); + public boolean validateImmunizationsSectionTitle(DiagnosticChain diagnostics, Map context) { + return ImmunizationsSectionOperations.validateImmunizationsSectionTitle(this, diagnostics, context); } /** @@ -64,8 +64,8 @@ public boolean validateImmunizationsSectionCodeP(DiagnosticChain diagnostics, Ma * * @generated */ - public boolean validateImmunizationsSectionCode(DiagnosticChain diagnostics, Map context) { - return ImmunizationsSectionOperations.validateImmunizationsSectionCode(this, diagnostics, context); + public boolean validateImmunizationsSectionText(DiagnosticChain diagnostics, Map context) { + return ImmunizationsSectionOperations.validateImmunizationsSectionText(this, diagnostics, context); } /** @@ -73,8 +73,8 @@ public boolean validateImmunizationsSectionCode(DiagnosticChain diagnostics, Map * * @generated */ - public boolean validateImmunizationsSectionTitle(DiagnosticChain diagnostics, Map context) { - return ImmunizationsSectionOperations.validateImmunizationsSectionTitle(this, diagnostics, context); + public boolean validateImmunizationsSectionImmunization(DiagnosticChain diagnostics, Map context) { + return ImmunizationsSectionOperations.validateImmunizationsSectionImmunization(this, diagnostics, context); } /** @@ -82,8 +82,8 @@ public boolean validateImmunizationsSectionTitle(DiagnosticChain diagnostics, Ma * * @generated */ - public boolean validateImmunizationsSectionText(DiagnosticChain diagnostics, Map context) { - return ImmunizationsSectionOperations.validateImmunizationsSectionText(this, diagnostics, context); + public EList getImmunizations() { + return ImmunizationsSectionOperations.getImmunizations(this); } /** @@ -91,8 +91,11 @@ public boolean validateImmunizationsSectionText(DiagnosticChain diagnostics, Map * * @generated */ - public boolean validateImmunizationsSectionImmunization(DiagnosticChain diagnostics, Map context) { - return ImmunizationsSectionOperations.validateImmunizationsSectionImmunization(this, diagnostics, context); + @Override + public boolean validateImmunizationsSectionEntriesOptionalTemplateId(DiagnosticChain diagnostics, + Map context) { + return ImmunizationsSectionOperations.validateImmunizationsSectionEntriesOptionalTemplateId( + this, diagnostics, context); } /** @@ -100,8 +103,11 @@ public boolean validateImmunizationsSectionImmunization(DiagnosticChain diagnost * * @generated */ - public EList getImmunizations() { - return ImmunizationsSectionOperations.getImmunizations(this); + @Override + public boolean validateImmunizationsSectionEntriesOptionalCodeP(DiagnosticChain diagnostics, + Map context) { + return ImmunizationsSectionOperations.validateImmunizationsSectionEntriesOptionalCodeP( + this, diagnostics, context); } /** @@ -110,9 +116,9 @@ public EList getImmunizations() { * @generated */ @Override - public boolean validateImmunizationsSectionEntriesOptionalTemplateId(DiagnosticChain diagnostics, + public boolean validateImmunizationsSectionEntriesOptionalCode(DiagnosticChain diagnostics, Map context) { - return ImmunizationsSectionOperations.validateImmunizationsSectionEntriesOptionalTemplateId( + return ImmunizationsSectionOperations.validateImmunizationsSectionEntriesOptionalCode( this, diagnostics, context); } diff --git a/generated/org.openhealthtools.mdht.uml.cda.consol2/src/org/openhealthtools/mdht/uml/cda/consol/impl/VitalSignsSectionImpl.java b/generated/org.openhealthtools.mdht.uml.cda.consol2/src/org/openhealthtools/mdht/uml/cda/consol/impl/VitalSignsSectionImpl.java index 6792fd702..fd5be461e 100644 --- a/generated/org.openhealthtools.mdht.uml.cda.consol2/src/org/openhealthtools/mdht/uml/cda/consol/impl/VitalSignsSectionImpl.java +++ b/generated/org.openhealthtools.mdht.uml.cda.consol2/src/org/openhealthtools/mdht/uml/cda/consol/impl/VitalSignsSectionImpl.java @@ -55,8 +55,8 @@ protected EClass eStaticClass() { * * @generated */ - public boolean validateVitalSignsSectionCodeP(DiagnosticChain diagnostics, Map context) { - return VitalSignsSectionOperations.validateVitalSignsSectionCodeP(this, diagnostics, context); + public boolean validateVitalSignsSectionText(DiagnosticChain diagnostics, Map context) { + return VitalSignsSectionOperations.validateVitalSignsSectionText(this, diagnostics, context); } /** @@ -64,8 +64,9 @@ public boolean validateVitalSignsSectionCodeP(DiagnosticChain diagnostics, Map * @generated */ - public boolean validateVitalSignsSectionCode(DiagnosticChain diagnostics, Map context) { - return VitalSignsSectionOperations.validateVitalSignsSectionCode(this, diagnostics, context); + public boolean validateVitalSignsSectionVitalSignsOrganizer(DiagnosticChain diagnostics, + Map context) { + return VitalSignsSectionOperations.validateVitalSignsSectionVitalSignsOrganizer(this, diagnostics, context); } /** @@ -73,8 +74,8 @@ public boolean validateVitalSignsSectionCode(DiagnosticChain diagnostics, Map * @generated */ - public boolean validateVitalSignsSectionText(DiagnosticChain diagnostics, Map context) { - return VitalSignsSectionOperations.validateVitalSignsSectionText(this, diagnostics, context); + public EList getConsolVitalSignsOrganizers() { + return VitalSignsSectionOperations.getConsolVitalSignsOrganizers(this); } /** @@ -82,9 +83,11 @@ public boolean validateVitalSignsSectionText(DiagnosticChain diagnostics, Map * @generated */ - public boolean validateVitalSignsSectionVitalSignsOrganizer(DiagnosticChain diagnostics, + @Override + public boolean validateVitalSignsSectionEntriesOptionalTemplateId(DiagnosticChain diagnostics, Map context) { - return VitalSignsSectionOperations.validateVitalSignsSectionVitalSignsOrganizer(this, diagnostics, context); + return VitalSignsSectionOperations.validateVitalSignsSectionEntriesOptionalTemplateId( + this, diagnostics, context); } /** @@ -92,8 +95,10 @@ public boolean validateVitalSignsSectionVitalSignsOrganizer(DiagnosticChain diag * * @generated */ - public EList getConsolVitalSignsOrganizers() { - return VitalSignsSectionOperations.getConsolVitalSignsOrganizers(this); + @Override + public boolean validateVitalSignsSectionEntriesOptionalCodeP(DiagnosticChain diagnostics, + Map context) { + return VitalSignsSectionOperations.validateVitalSignsSectionEntriesOptionalCodeP(this, diagnostics, context); } /** @@ -102,10 +107,9 @@ public EList getConsolVitalSignsOrganizers() { * @generated */ @Override - public boolean validateVitalSignsSectionEntriesOptionalTemplateId(DiagnosticChain diagnostics, + public boolean validateVitalSignsSectionEntriesOptionalCode(DiagnosticChain diagnostics, Map context) { - return VitalSignsSectionOperations.validateVitalSignsSectionEntriesOptionalTemplateId( - this, diagnostics, context); + return VitalSignsSectionOperations.validateVitalSignsSectionEntriesOptionalCode(this, diagnostics, context); } /** diff --git a/generated/org.openhealthtools.mdht.uml.cda.consol2/src/org/openhealthtools/mdht/uml/cda/consol/impl/consol.ecore b/generated/org.openhealthtools.mdht.uml.cda.consol2/src/org/openhealthtools/mdht/uml/cda/consol/impl/consol.ecore index 925036745..0fc8a4649 100644 --- a/generated/org.openhealthtools.mdht.uml.cda.consol2/src/org/openhealthtools/mdht/uml/cda/consol/impl/consol.ecore +++ b/generated/org.openhealthtools.mdht.uml.cda.consol2/src/org/openhealthtools/mdht/uml/cda/consol/impl/consol.ecore @@ -9322,14 +9322,10 @@ -
+
-
-
-
-
-
+
+ + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - @@ -16458,12 +16458,10 @@ -
+
-
-
-
-
+
+ + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - @@ -16528,13 +16530,10 @@ -
+
-
-
-
-
-
+
+ + + + + + + + + + + + + + + + + + + + @@ -16560,24 +16581,6 @@ - - - - - - - - - - - - - - - - - - diff --git a/generated/org.openhealthtools.mdht.uml.cda.consol2/src/org/openhealthtools/mdht/uml/cda/consol/operations/AdvanceDirectivesSectionOperations.java b/generated/org.openhealthtools.mdht.uml.cda.consol2/src/org/openhealthtools/mdht/uml/cda/consol/operations/AdvanceDirectivesSectionOperations.java index bc103b8c4..a70f32947 100644 --- a/generated/org.openhealthtools.mdht.uml.cda.consol2/src/org/openhealthtools/mdht/uml/cda/consol/operations/AdvanceDirectivesSectionOperations.java +++ b/generated/org.openhealthtools.mdht.uml.cda.consol2/src/org/openhealthtools/mdht/uml/cda/consol/operations/AdvanceDirectivesSectionOperations.java @@ -38,13 +38,13 @@ *

* The following operations are supported: *

    - *
  • {@link org.openhealthtools.mdht.uml.cda.consol.AdvanceDirectivesSection#validateAdvanceDirectivesSectionCodeP(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Advance Directives Section Code P}
  • - *
  • {@link org.openhealthtools.mdht.uml.cda.consol.AdvanceDirectivesSection#validateAdvanceDirectivesSectionCode(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Advance Directives Section Code}
  • *
  • {@link org.openhealthtools.mdht.uml.cda.consol.AdvanceDirectivesSection#validateAdvanceDirectivesSectionTitle(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Advance Directives Section Title}
  • *
  • {@link org.openhealthtools.mdht.uml.cda.consol.AdvanceDirectivesSection#validateAdvanceDirectivesSectionText(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Advance Directives Section Text}
  • *
  • {@link org.openhealthtools.mdht.uml.cda.consol.AdvanceDirectivesSection#validateAdvanceDirectivesSectionAdvanceDirectiveObservation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Advance Directives Section Advance Directive Observation}
  • *
  • {@link org.openhealthtools.mdht.uml.cda.consol.AdvanceDirectivesSection#getConsolAdvanceDirectiveObservations() Get Consol Advance Directive Observations}
  • *
  • {@link org.openhealthtools.mdht.uml.cda.consol.AdvanceDirectivesSection#validateAdvanceDirectivesSectionEntriesOptionalTemplateId(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Advance Directives Section Entries Optional Template Id}
  • + *
  • {@link org.openhealthtools.mdht.uml.cda.consol.AdvanceDirectivesSection#validateAdvanceDirectivesSectionEntriesOptionalCodeP(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Advance Directives Section Entries Optional Code P}
  • + *
  • {@link org.openhealthtools.mdht.uml.cda.consol.AdvanceDirectivesSection#validateAdvanceDirectivesSectionEntriesOptionalCode(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Advance Directives Section Entries Optional Code}
  • *
*

* @@ -68,25 +68,25 @@ protected AdvanceDirectivesSectionOperations() { } /** - * The cached OCL expression body for the '{@link #validateAdvanceDirectivesSectionCodeP(AdvanceDirectivesSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Advance Directives Section Code P}' operation. + * The cached OCL expression body for the '{@link #validateAdvanceDirectivesSectionTitle(AdvanceDirectivesSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Advance Directives Section Title}' operation. * * - * @see #validateAdvanceDirectivesSectionCodeP(AdvanceDirectivesSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) + * @see #validateAdvanceDirectivesSectionTitle(AdvanceDirectivesSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) * @generated * @ordered */ - protected static final String VALIDATE_ADVANCE_DIRECTIVES_SECTION_CODE_P__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP = "(self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined())"; + protected static final String VALIDATE_ADVANCE_DIRECTIVES_SECTION_TITLE__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP = "(self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined())"; /** - * The cached OCL invariant for the '{@link #validateAdvanceDirectivesSectionCodeP(AdvanceDirectivesSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Advance Directives Section Code P}' invariant operation. + * The cached OCL invariant for the '{@link #validateAdvanceDirectivesSectionTitle(AdvanceDirectivesSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Advance Directives Section Title}' invariant operation. * * - * @see #validateAdvanceDirectivesSectionCodeP(AdvanceDirectivesSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) + * @see #validateAdvanceDirectivesSectionTitle(AdvanceDirectivesSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) * @generated * @ordered */ - protected static ThreadLocal VALIDATE_ADVANCE_DIRECTIVES_SECTION_CODE_P__DIAGNOSTIC_CHAIN_MAP__EOCL_INV = new ThreadLocal(); + protected static ThreadLocal VALIDATE_ADVANCE_DIRECTIVES_SECTION_TITLE__DIAGNOSTIC_CHAIN_MAP__EOCL_INV = new ThreadLocal(); /** * @@ -99,75 +99,60 @@ protected AdvanceDirectivesSectionOperations() { * @generated */ - public static boolean validateAdvanceDirectivesSectionCodeP(AdvanceDirectivesSection advanceDirectivesSection, + public static boolean validateAdvanceDirectivesSectionTitle(AdvanceDirectivesSection advanceDirectivesSection, DiagnosticChain diagnostics, Map context) { - DatatypesUtil.increment(context, "AdvanceDirectivesSectionAdvanceDirectivesSectionCodeP", "ERROR"); + DatatypesUtil.increment(context, "AdvanceDirectivesSectionAdvanceDirectivesSectionTitle", "ERROR"); - if (VALIDATE_ADVANCE_DIRECTIVES_SECTION_CODE_P__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get() == null) { + if (VALIDATE_ADVANCE_DIRECTIVES_SECTION_TITLE__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get() == null) { OCL.Helper helper = EOCL_ENV.get().createOCLHelper(); helper.setContext(ConsolPackage.Literals.ADVANCE_DIRECTIVES_SECTION); try { - VALIDATE_ADVANCE_DIRECTIVES_SECTION_CODE_P__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.set( - helper.createInvariant(VALIDATE_ADVANCE_DIRECTIVES_SECTION_CODE_P__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP)); + VALIDATE_ADVANCE_DIRECTIVES_SECTION_TITLE__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.set( + helper.createInvariant(VALIDATE_ADVANCE_DIRECTIVES_SECTION_TITLE__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP)); } catch (ParserException pe) { throw new UnsupportedOperationException(pe.getLocalizedMessage()); } } if (!EOCL_ENV.get().createQuery( - VALIDATE_ADVANCE_DIRECTIVES_SECTION_CODE_P__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get()).check( + VALIDATE_ADVANCE_DIRECTIVES_SECTION_TITLE__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get()).check( advanceDirectivesSection)) { if (diagnostics != null) { diagnostics.add( new BasicDiagnostic( Diagnostic.ERROR, ConsolValidator.DIAGNOSTIC_SOURCE, - ConsolValidator.ADVANCE_DIRECTIVES_SECTION__ADVANCE_DIRECTIVES_SECTION_CODE_P, - ConsolPlugin.INSTANCE.getString("AdvanceDirectivesSectionAdvanceDirectivesSectionCodeP"), + ConsolValidator.ADVANCE_DIRECTIVES_SECTION__ADVANCE_DIRECTIVES_SECTION_TITLE, + ConsolPlugin.INSTANCE.getString("AdvanceDirectivesSectionAdvanceDirectivesSectionTitle"), new Object[] { advanceDirectivesSection })); } - if (context != null) { - // generate a pass token for my dependent constraints to short-circuit or filter results - @SuppressWarnings("unchecked") - Collection passToken = (Collection) context.get( - "org.openhealthtools.mdht.uml.cda.consol.AdvanceDirectivesSectionCodeP"); - if (passToken == null) { - // anticipate a reasonably healthy model - passToken = new java.util.ArrayList(3); - context.put("org.openhealthtools.mdht.uml.cda.consol.AdvanceDirectivesSectionCodeP", passToken); - } - passToken.add(advanceDirectivesSection); - } - return false; } return true; } /** - * The cached OCL expression body for the '{@link #validateAdvanceDirectivesSectionCode(AdvanceDirectivesSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Advance Directives Section Code}' operation. + * The cached OCL expression body for the '{@link #validateAdvanceDirectivesSectionText(AdvanceDirectivesSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Advance Directives Section Text}' operation. * * - * @see #validateAdvanceDirectivesSectionCode(AdvanceDirectivesSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) + * @see #validateAdvanceDirectivesSectionText(AdvanceDirectivesSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) * @generated * @ordered */ - protected static final String VALIDATE_ADVANCE_DIRECTIVES_SECTION_CODE__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP = "(self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and " + - "let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in " + - "value.code = '42348-3' and value.codeSystem = '2.16.840.1.113883.6.1')"; + protected static final String VALIDATE_ADVANCE_DIRECTIVES_SECTION_TEXT__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP = "not self.text.oclIsUndefined()"; /** - * The cached OCL invariant for the '{@link #validateAdvanceDirectivesSectionCode(AdvanceDirectivesSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Advance Directives Section Code}' invariant operation. + * The cached OCL invariant for the '{@link #validateAdvanceDirectivesSectionText(AdvanceDirectivesSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Advance Directives Section Text}' invariant operation. * * - * @see #validateAdvanceDirectivesSectionCode(AdvanceDirectivesSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) + * @see #validateAdvanceDirectivesSectionText(AdvanceDirectivesSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) * @generated * @ordered */ - protected static ThreadLocal VALIDATE_ADVANCE_DIRECTIVES_SECTION_CODE__DIAGNOSTIC_CHAIN_MAP__EOCL_INV = new ThreadLocal(); + protected static ThreadLocal VALIDATE_ADVANCE_DIRECTIVES_SECTION_TEXT__DIAGNOSTIC_CHAIN_MAP__EOCL_INV = new ThreadLocal(); /** * @@ -180,40 +165,32 @@ public static boolean validateAdvanceDirectivesSectionCodeP(AdvanceDirectivesSec * @generated */ - public static boolean validateAdvanceDirectivesSectionCode(AdvanceDirectivesSection advanceDirectivesSection, + public static boolean validateAdvanceDirectivesSectionText(AdvanceDirectivesSection advanceDirectivesSection, DiagnosticChain diagnostics, Map context) { - Object passToken = (context == null) - ? null - : context.get("org.openhealthtools.mdht.uml.cda.consol.AdvanceDirectivesSectionCodeP"); - if ((passToken instanceof Collection) && ((Collection) passToken).contains(advanceDirectivesSection)) { - // I have a free pass to short-circuit - return true; - } - - DatatypesUtil.increment(context, "AdvanceDirectivesSectionAdvanceDirectivesSectionCode", "ERROR"); + DatatypesUtil.increment(context, "AdvanceDirectivesSectionAdvanceDirectivesSectionText", "ERROR"); - if (VALIDATE_ADVANCE_DIRECTIVES_SECTION_CODE__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get() == null) { + if (VALIDATE_ADVANCE_DIRECTIVES_SECTION_TEXT__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get() == null) { OCL.Helper helper = EOCL_ENV.get().createOCLHelper(); helper.setContext(ConsolPackage.Literals.ADVANCE_DIRECTIVES_SECTION); try { - VALIDATE_ADVANCE_DIRECTIVES_SECTION_CODE__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.set( - helper.createInvariant(VALIDATE_ADVANCE_DIRECTIVES_SECTION_CODE__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP)); + VALIDATE_ADVANCE_DIRECTIVES_SECTION_TEXT__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.set( + helper.createInvariant(VALIDATE_ADVANCE_DIRECTIVES_SECTION_TEXT__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP)); } catch (ParserException pe) { throw new UnsupportedOperationException(pe.getLocalizedMessage()); } } if (!EOCL_ENV.get().createQuery( - VALIDATE_ADVANCE_DIRECTIVES_SECTION_CODE__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get()).check( + VALIDATE_ADVANCE_DIRECTIVES_SECTION_TEXT__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get()).check( advanceDirectivesSection)) { if (diagnostics != null) { diagnostics.add( new BasicDiagnostic( Diagnostic.ERROR, ConsolValidator.DIAGNOSTIC_SOURCE, - ConsolValidator.ADVANCE_DIRECTIVES_SECTION__ADVANCE_DIRECTIVES_SECTION_CODE, - ConsolPlugin.INSTANCE.getString("AdvanceDirectivesSectionAdvanceDirectivesSectionCode"), + ConsolValidator.ADVANCE_DIRECTIVES_SECTION__ADVANCE_DIRECTIVES_SECTION_TEXT, + ConsolPlugin.INSTANCE.getString("AdvanceDirectivesSectionAdvanceDirectivesSectionText"), new Object[] { advanceDirectivesSection })); } @@ -223,25 +200,25 @@ public static boolean validateAdvanceDirectivesSectionCode(AdvanceDirectivesSect } /** - * The cached OCL expression body for the '{@link #validateAdvanceDirectivesSectionTitle(AdvanceDirectivesSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Advance Directives Section Title}' operation. + * The cached OCL expression body for the '{@link #validateAdvanceDirectivesSectionAdvanceDirectiveObservation(AdvanceDirectivesSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Advance Directives Section Advance Directive Observation}' operation. * * - * @see #validateAdvanceDirectivesSectionTitle(AdvanceDirectivesSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) + * @see #validateAdvanceDirectivesSectionAdvanceDirectiveObservation(AdvanceDirectivesSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) * @generated * @ordered */ - protected static final String VALIDATE_ADVANCE_DIRECTIVES_SECTION_TITLE__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP = "(self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined())"; + protected static final String VALIDATE_ADVANCE_DIRECTIVES_SECTION_ADVANCE_DIRECTIVE_OBSERVATION__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP = "self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::AdvanceDirectiveObservation))"; /** - * The cached OCL invariant for the '{@link #validateAdvanceDirectivesSectionTitle(AdvanceDirectivesSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Advance Directives Section Title}' invariant operation. + * The cached OCL invariant for the '{@link #validateAdvanceDirectivesSectionAdvanceDirectiveObservation(AdvanceDirectivesSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Advance Directives Section Advance Directive Observation}' invariant operation. * * - * @see #validateAdvanceDirectivesSectionTitle(AdvanceDirectivesSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) + * @see #validateAdvanceDirectivesSectionAdvanceDirectiveObservation(AdvanceDirectivesSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) * @generated * @ordered */ - protected static ThreadLocal VALIDATE_ADVANCE_DIRECTIVES_SECTION_TITLE__DIAGNOSTIC_CHAIN_MAP__EOCL_INV = new ThreadLocal(); + protected static ThreadLocal VALIDATE_ADVANCE_DIRECTIVES_SECTION_ADVANCE_DIRECTIVE_OBSERVATION__DIAGNOSTIC_CHAIN_MAP__EOCL_INV = new ThreadLocal(); /** * @@ -254,32 +231,36 @@ public static boolean validateAdvanceDirectivesSectionCode(AdvanceDirectivesSect * @generated */ - public static boolean validateAdvanceDirectivesSectionTitle(AdvanceDirectivesSection advanceDirectivesSection, - DiagnosticChain diagnostics, Map context) { + public static boolean validateAdvanceDirectivesSectionAdvanceDirectiveObservation( + AdvanceDirectivesSection advanceDirectivesSection, DiagnosticChain diagnostics, + Map context) { - DatatypesUtil.increment(context, "AdvanceDirectivesSectionAdvanceDirectivesSectionTitle", "ERROR"); + DatatypesUtil.increment( + context, "AdvanceDirectivesSectionAdvanceDirectivesSectionAdvanceDirectiveObservation", "ERROR"); - if (VALIDATE_ADVANCE_DIRECTIVES_SECTION_TITLE__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get() == null) { + if (VALIDATE_ADVANCE_DIRECTIVES_SECTION_ADVANCE_DIRECTIVE_OBSERVATION__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get() == null) { OCL.Helper helper = EOCL_ENV.get().createOCLHelper(); helper.setContext(ConsolPackage.Literals.ADVANCE_DIRECTIVES_SECTION); try { - VALIDATE_ADVANCE_DIRECTIVES_SECTION_TITLE__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.set( - helper.createInvariant(VALIDATE_ADVANCE_DIRECTIVES_SECTION_TITLE__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP)); + VALIDATE_ADVANCE_DIRECTIVES_SECTION_ADVANCE_DIRECTIVE_OBSERVATION__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.set( + helper.createInvariant( + VALIDATE_ADVANCE_DIRECTIVES_SECTION_ADVANCE_DIRECTIVE_OBSERVATION__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP)); } catch (ParserException pe) { throw new UnsupportedOperationException(pe.getLocalizedMessage()); } } if (!EOCL_ENV.get().createQuery( - VALIDATE_ADVANCE_DIRECTIVES_SECTION_TITLE__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get()).check( + VALIDATE_ADVANCE_DIRECTIVES_SECTION_ADVANCE_DIRECTIVE_OBSERVATION__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get()).check( advanceDirectivesSection)) { if (diagnostics != null) { diagnostics.add( new BasicDiagnostic( Diagnostic.ERROR, ConsolValidator.DIAGNOSTIC_SOURCE, - ConsolValidator.ADVANCE_DIRECTIVES_SECTION__ADVANCE_DIRECTIVES_SECTION_TITLE, - ConsolPlugin.INSTANCE.getString("AdvanceDirectivesSectionAdvanceDirectivesSectionTitle"), + ConsolValidator.ADVANCE_DIRECTIVES_SECTION__ADVANCE_DIRECTIVES_SECTION_ADVANCE_DIRECTIVE_OBSERVATION, + ConsolPlugin.INSTANCE.getString( + "AdvanceDirectivesSectionAdvanceDirectivesSectionAdvanceDirectiveObservation"), new Object[] { advanceDirectivesSection })); } @@ -289,91 +270,75 @@ public static boolean validateAdvanceDirectivesSectionTitle(AdvanceDirectivesSec } /** - * The cached OCL expression body for the '{@link #validateAdvanceDirectivesSectionText(AdvanceDirectivesSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Advance Directives Section Text}' operation. + * The cached OCL expression body for the '{@link #getConsolAdvanceDirectiveObservations(AdvanceDirectivesSection) Get Consol Advance Directive Observations}' operation. * * - * @see #validateAdvanceDirectivesSectionText(AdvanceDirectivesSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) + * @see #getConsolAdvanceDirectiveObservations(AdvanceDirectivesSection) * @generated * @ordered */ - protected static final String VALIDATE_ADVANCE_DIRECTIVES_SECTION_TEXT__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP = "not self.text.oclIsUndefined()"; + protected static final String GET_CONSOL_ADVANCE_DIRECTIVE_OBSERVATIONS__EOCL_EXP = "self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::AdvanceDirectiveObservation)).oclAsType(consol::AdvanceDirectiveObservation)"; /** - * The cached OCL invariant for the '{@link #validateAdvanceDirectivesSectionText(AdvanceDirectivesSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Advance Directives Section Text}' invariant operation. + * The cached OCL query for the '{@link #getConsolAdvanceDirectiveObservations(AdvanceDirectivesSection) Get Consol Advance Directive Observations}' query operation. * * - * @see #validateAdvanceDirectivesSectionText(AdvanceDirectivesSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) + * @see #getConsolAdvanceDirectiveObservations(AdvanceDirectivesSection) * @generated * @ordered */ - - protected static ThreadLocal VALIDATE_ADVANCE_DIRECTIVES_SECTION_TEXT__DIAGNOSTIC_CHAIN_MAP__EOCL_INV = new ThreadLocal(); + protected static OCLExpression GET_CONSOL_ADVANCE_DIRECTIVE_OBSERVATIONS__EOCL_QRY; /** * * - * - * @param advanceDirectivesSection The receiving 'Advance Directives Section' model object. - * @param diagnostics The chain of diagnostics to which problems are to be appended. - * @param context The cache of context-specific information. - * * @generated */ - public static boolean validateAdvanceDirectivesSectionText(AdvanceDirectivesSection advanceDirectivesSection, - DiagnosticChain diagnostics, Map context) { - - DatatypesUtil.increment(context, "AdvanceDirectivesSectionAdvanceDirectivesSectionText", "ERROR"); + public static EList getConsolAdvanceDirectiveObservations( + AdvanceDirectivesSection advanceDirectivesSection) { - if (VALIDATE_ADVANCE_DIRECTIVES_SECTION_TEXT__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get() == null) { + if (GET_CONSOL_ADVANCE_DIRECTIVE_OBSERVATIONS__EOCL_QRY == null) { OCL.Helper helper = EOCL_ENV.get().createOCLHelper(); - helper.setContext(ConsolPackage.Literals.ADVANCE_DIRECTIVES_SECTION); + helper.setOperationContext( + ConsolPackage.Literals.ADVANCE_DIRECTIVES_SECTION, + ConsolPackage.Literals.ADVANCE_DIRECTIVES_SECTION.getEAllOperations().get(65)); try { - VALIDATE_ADVANCE_DIRECTIVES_SECTION_TEXT__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.set( - helper.createInvariant(VALIDATE_ADVANCE_DIRECTIVES_SECTION_TEXT__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP)); + GET_CONSOL_ADVANCE_DIRECTIVE_OBSERVATIONS__EOCL_QRY = helper.createQuery( + GET_CONSOL_ADVANCE_DIRECTIVE_OBSERVATIONS__EOCL_EXP); } catch (ParserException pe) { throw new UnsupportedOperationException(pe.getLocalizedMessage()); } } - if (!EOCL_ENV.get().createQuery( - VALIDATE_ADVANCE_DIRECTIVES_SECTION_TEXT__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get()).check( - advanceDirectivesSection)) { - if (diagnostics != null) { - diagnostics.add( - new BasicDiagnostic( - Diagnostic.ERROR, ConsolValidator.DIAGNOSTIC_SOURCE, - ConsolValidator.ADVANCE_DIRECTIVES_SECTION__ADVANCE_DIRECTIVES_SECTION_TEXT, - ConsolPlugin.INSTANCE.getString("AdvanceDirectivesSectionAdvanceDirectivesSectionText"), - new Object[] { advanceDirectivesSection })); - } - - return false; - } - return true; + OCL.Query query = EOCL_ENV.get().createQuery(GET_CONSOL_ADVANCE_DIRECTIVE_OBSERVATIONS__EOCL_QRY); + @SuppressWarnings("unchecked") + Collection result = (Collection) query.evaluate( + advanceDirectivesSection); + return new BasicEList.UnmodifiableEList(result.size(), result.toArray()); } /** - * The cached OCL expression body for the '{@link #validateAdvanceDirectivesSectionAdvanceDirectiveObservation(AdvanceDirectivesSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Advance Directives Section Advance Directive Observation}' operation. + * The cached OCL expression body for the '{@link #validateAdvanceDirectivesSectionEntriesOptionalTemplateId(AdvanceDirectivesSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Advance Directives Section Entries Optional Template Id}' operation. * * - * @see #validateAdvanceDirectivesSectionAdvanceDirectiveObservation(AdvanceDirectivesSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) + * @see #validateAdvanceDirectivesSectionEntriesOptionalTemplateId(AdvanceDirectivesSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) * @generated * @ordered */ - protected static final String VALIDATE_ADVANCE_DIRECTIVES_SECTION_ADVANCE_DIRECTIVE_OBSERVATION__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP = "self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.observation.oclIsUndefined() and entry.observation.oclIsKindOf(consol::AdvanceDirectiveObservation))"; + protected static final String VALIDATE_ADVANCE_DIRECTIVES_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP = "self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.21.1')"; /** - * The cached OCL invariant for the '{@link #validateAdvanceDirectivesSectionAdvanceDirectiveObservation(AdvanceDirectivesSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Advance Directives Section Advance Directive Observation}' invariant operation. + * The cached OCL invariant for the '{@link #validateAdvanceDirectivesSectionEntriesOptionalTemplateId(AdvanceDirectivesSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Advance Directives Section Entries Optional Template Id}' invariant operation. * * - * @see #validateAdvanceDirectivesSectionAdvanceDirectiveObservation(AdvanceDirectivesSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) + * @see #validateAdvanceDirectivesSectionEntriesOptionalTemplateId(AdvanceDirectivesSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) * @generated * @ordered */ - protected static ThreadLocal VALIDATE_ADVANCE_DIRECTIVES_SECTION_ADVANCE_DIRECTIVE_OBSERVATION__DIAGNOSTIC_CHAIN_MAP__EOCL_INV = new ThreadLocal(); + protected static ThreadLocal VALIDATE_ADVANCE_DIRECTIVES_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID__DIAGNOSTIC_CHAIN_MAP__EOCL_INV = new ThreadLocal(); /** * @@ -386,36 +351,36 @@ public static boolean validateAdvanceDirectivesSectionText(AdvanceDirectivesSect * @generated */ - public static boolean validateAdvanceDirectivesSectionAdvanceDirectiveObservation( + public static boolean validateAdvanceDirectivesSectionEntriesOptionalTemplateId( AdvanceDirectivesSection advanceDirectivesSection, DiagnosticChain diagnostics, Map context) { DatatypesUtil.increment( - context, "AdvanceDirectivesSectionAdvanceDirectivesSectionAdvanceDirectiveObservation", "ERROR"); + context, "AdvanceDirectivesSectionAdvanceDirectivesSectionEntriesOptionalTemplateId", "ERROR"); - if (VALIDATE_ADVANCE_DIRECTIVES_SECTION_ADVANCE_DIRECTIVE_OBSERVATION__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get() == null) { + if (VALIDATE_ADVANCE_DIRECTIVES_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get() == null) { OCL.Helper helper = EOCL_ENV.get().createOCLHelper(); helper.setContext(ConsolPackage.Literals.ADVANCE_DIRECTIVES_SECTION); try { - VALIDATE_ADVANCE_DIRECTIVES_SECTION_ADVANCE_DIRECTIVE_OBSERVATION__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.set( + VALIDATE_ADVANCE_DIRECTIVES_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.set( helper.createInvariant( - VALIDATE_ADVANCE_DIRECTIVES_SECTION_ADVANCE_DIRECTIVE_OBSERVATION__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP)); + VALIDATE_ADVANCE_DIRECTIVES_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP)); } catch (ParserException pe) { throw new UnsupportedOperationException(pe.getLocalizedMessage()); } } if (!EOCL_ENV.get().createQuery( - VALIDATE_ADVANCE_DIRECTIVES_SECTION_ADVANCE_DIRECTIVE_OBSERVATION__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get()).check( + VALIDATE_ADVANCE_DIRECTIVES_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get()).check( advanceDirectivesSection)) { if (diagnostics != null) { diagnostics.add( new BasicDiagnostic( Diagnostic.ERROR, ConsolValidator.DIAGNOSTIC_SOURCE, - ConsolValidator.ADVANCE_DIRECTIVES_SECTION__ADVANCE_DIRECTIVES_SECTION_ADVANCE_DIRECTIVE_OBSERVATION, + ConsolValidator.ADVANCE_DIRECTIVES_SECTION__ADVANCE_DIRECTIVES_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID, ConsolPlugin.INSTANCE.getString( - "AdvanceDirectivesSectionAdvanceDirectivesSectionAdvanceDirectiveObservation"), + "AdvanceDirectivesSectionAdvanceDirectivesSectionEntriesOptionalTemplateId"), new Object[] { advanceDirectivesSection })); } @@ -425,75 +390,112 @@ public static boolean validateAdvanceDirectivesSectionAdvanceDirectiveObservatio } /** - * The cached OCL expression body for the '{@link #getConsolAdvanceDirectiveObservations(AdvanceDirectivesSection) Get Consol Advance Directive Observations}' operation. + * The cached OCL expression body for the '{@link #validateAdvanceDirectivesSectionEntriesOptionalCodeP(AdvanceDirectivesSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Advance Directives Section Entries Optional Code P}' operation. * * - * @see #getConsolAdvanceDirectiveObservations(AdvanceDirectivesSection) + * @see #validateAdvanceDirectivesSectionEntriesOptionalCodeP(AdvanceDirectivesSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) * @generated * @ordered */ - protected static final String GET_CONSOL_ADVANCE_DIRECTIVE_OBSERVATIONS__EOCL_EXP = "self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::AdvanceDirectiveObservation)).oclAsType(consol::AdvanceDirectiveObservation)"; + protected static final String VALIDATE_ADVANCE_DIRECTIVES_SECTION_ENTRIES_OPTIONAL_CODE_P__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP = "(self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined())"; /** - * The cached OCL query for the '{@link #getConsolAdvanceDirectiveObservations(AdvanceDirectivesSection) Get Consol Advance Directive Observations}' query operation. + * The cached OCL invariant for the '{@link #validateAdvanceDirectivesSectionEntriesOptionalCodeP(AdvanceDirectivesSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Advance Directives Section Entries Optional Code P}' invariant operation. * * - * @see #getConsolAdvanceDirectiveObservations(AdvanceDirectivesSection) + * @see #validateAdvanceDirectivesSectionEntriesOptionalCodeP(AdvanceDirectivesSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) * @generated * @ordered */ - protected static OCLExpression GET_CONSOL_ADVANCE_DIRECTIVE_OBSERVATIONS__EOCL_QRY; + + protected static ThreadLocal VALIDATE_ADVANCE_DIRECTIVES_SECTION_ENTRIES_OPTIONAL_CODE_P__DIAGNOSTIC_CHAIN_MAP__EOCL_INV = new ThreadLocal(); /** * * + * + * @param advanceDirectivesSection The receiving 'Advance Directives Section' model object. + * @param diagnostics The chain of diagnostics to which problems are to be appended. + * @param context The cache of context-specific information. + * * @generated */ - public static EList getConsolAdvanceDirectiveObservations( - AdvanceDirectivesSection advanceDirectivesSection) { + public static boolean validateAdvanceDirectivesSectionEntriesOptionalCodeP( + AdvanceDirectivesSection advanceDirectivesSection, DiagnosticChain diagnostics, + Map context) { - if (GET_CONSOL_ADVANCE_DIRECTIVE_OBSERVATIONS__EOCL_QRY == null) { + DatatypesUtil.increment( + context, "AdvanceDirectivesSectionAdvanceDirectivesSectionEntriesOptionalCodeP", "ERROR"); + + if (VALIDATE_ADVANCE_DIRECTIVES_SECTION_ENTRIES_OPTIONAL_CODE_P__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get() == null) { OCL.Helper helper = EOCL_ENV.get().createOCLHelper(); - helper.setOperationContext( - ConsolPackage.Literals.ADVANCE_DIRECTIVES_SECTION, - ConsolPackage.Literals.ADVANCE_DIRECTIVES_SECTION.getEAllOperations().get(67)); + helper.setContext(ConsolPackage.Literals.ADVANCE_DIRECTIVES_SECTION); try { - GET_CONSOL_ADVANCE_DIRECTIVE_OBSERVATIONS__EOCL_QRY = helper.createQuery( - GET_CONSOL_ADVANCE_DIRECTIVE_OBSERVATIONS__EOCL_EXP); + VALIDATE_ADVANCE_DIRECTIVES_SECTION_ENTRIES_OPTIONAL_CODE_P__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.set( + helper.createInvariant( + VALIDATE_ADVANCE_DIRECTIVES_SECTION_ENTRIES_OPTIONAL_CODE_P__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP)); } catch (ParserException pe) { throw new UnsupportedOperationException(pe.getLocalizedMessage()); } } - OCL.Query query = EOCL_ENV.get().createQuery(GET_CONSOL_ADVANCE_DIRECTIVE_OBSERVATIONS__EOCL_QRY); - @SuppressWarnings("unchecked") - Collection result = (Collection) query.evaluate( - advanceDirectivesSection); - return new BasicEList.UnmodifiableEList(result.size(), result.toArray()); + if (!EOCL_ENV.get().createQuery( + VALIDATE_ADVANCE_DIRECTIVES_SECTION_ENTRIES_OPTIONAL_CODE_P__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get()).check( + advanceDirectivesSection)) { + if (diagnostics != null) { + diagnostics.add( + new BasicDiagnostic( + Diagnostic.ERROR, ConsolValidator.DIAGNOSTIC_SOURCE, + ConsolValidator.ADVANCE_DIRECTIVES_SECTION__ADVANCE_DIRECTIVES_SECTION_ENTRIES_OPTIONAL_CODE_P, + ConsolPlugin.INSTANCE.getString( + "AdvanceDirectivesSectionAdvanceDirectivesSectionEntriesOptionalCodeP"), + new Object[] { advanceDirectivesSection })); + } + + if (context != null) { + // generate a pass token for my dependent constraints to short-circuit or filter results + @SuppressWarnings("unchecked") + Collection passToken = (Collection) context.get( + "org.openhealthtools.mdht.uml.cda.consol.AdvanceDirectivesSectionEntriesOptionalCodeP"); + if (passToken == null) { + // anticipate a reasonably healthy model + passToken = new java.util.ArrayList(3); + context.put( + "org.openhealthtools.mdht.uml.cda.consol.AdvanceDirectivesSectionEntriesOptionalCodeP", + passToken); + } + passToken.add(advanceDirectivesSection); + } + + return false; + } + return true; } /** - * The cached OCL expression body for the '{@link #validateAdvanceDirectivesSectionEntriesOptionalTemplateId(AdvanceDirectivesSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Advance Directives Section Entries Optional Template Id}' operation. + * The cached OCL expression body for the '{@link #validateAdvanceDirectivesSectionEntriesOptionalCode(AdvanceDirectivesSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Advance Directives Section Entries Optional Code}' operation. * * - * @see #validateAdvanceDirectivesSectionEntriesOptionalTemplateId(AdvanceDirectivesSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) + * @see #validateAdvanceDirectivesSectionEntriesOptionalCode(AdvanceDirectivesSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) * @generated * @ordered */ - protected static final String VALIDATE_ADVANCE_DIRECTIVES_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP = "self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.21.1')"; + protected static final String VALIDATE_ADVANCE_DIRECTIVES_SECTION_ENTRIES_OPTIONAL_CODE__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP = "(self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and " + + "let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in " + + "value.code = '42348-3' and value.codeSystem = '2.16.840.1.113883.6.1')"; /** - * The cached OCL invariant for the '{@link #validateAdvanceDirectivesSectionEntriesOptionalTemplateId(AdvanceDirectivesSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Advance Directives Section Entries Optional Template Id}' invariant operation. + * The cached OCL invariant for the '{@link #validateAdvanceDirectivesSectionEntriesOptionalCode(AdvanceDirectivesSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Advance Directives Section Entries Optional Code}' invariant operation. * * - * @see #validateAdvanceDirectivesSectionEntriesOptionalTemplateId(AdvanceDirectivesSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) + * @see #validateAdvanceDirectivesSectionEntriesOptionalCode(AdvanceDirectivesSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) * @generated * @ordered */ - protected static ThreadLocal VALIDATE_ADVANCE_DIRECTIVES_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID__DIAGNOSTIC_CHAIN_MAP__EOCL_INV = new ThreadLocal(); + protected static ThreadLocal VALIDATE_ADVANCE_DIRECTIVES_SECTION_ENTRIES_OPTIONAL_CODE__DIAGNOSTIC_CHAIN_MAP__EOCL_INV = new ThreadLocal(); /** * @@ -506,36 +508,44 @@ public static EList getConsolAdvanceDirectiveObserv * @generated */ - public static boolean validateAdvanceDirectivesSectionEntriesOptionalTemplateId( + public static boolean validateAdvanceDirectivesSectionEntriesOptionalCode( AdvanceDirectivesSection advanceDirectivesSection, DiagnosticChain diagnostics, Map context) { + Object passToken = (context == null) + ? null + : context.get("org.openhealthtools.mdht.uml.cda.consol.AdvanceDirectivesSectionEntriesOptionalCodeP"); + if ((passToken instanceof Collection) && ((Collection) passToken).contains(advanceDirectivesSection)) { + // I have a free pass to short-circuit + return true; + } + DatatypesUtil.increment( - context, "AdvanceDirectivesSectionAdvanceDirectivesSectionEntriesOptionalTemplateId", "ERROR"); + context, "AdvanceDirectivesSectionAdvanceDirectivesSectionEntriesOptionalCode", "ERROR"); - if (VALIDATE_ADVANCE_DIRECTIVES_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get() == null) { + if (VALIDATE_ADVANCE_DIRECTIVES_SECTION_ENTRIES_OPTIONAL_CODE__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get() == null) { OCL.Helper helper = EOCL_ENV.get().createOCLHelper(); helper.setContext(ConsolPackage.Literals.ADVANCE_DIRECTIVES_SECTION); try { - VALIDATE_ADVANCE_DIRECTIVES_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.set( + VALIDATE_ADVANCE_DIRECTIVES_SECTION_ENTRIES_OPTIONAL_CODE__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.set( helper.createInvariant( - VALIDATE_ADVANCE_DIRECTIVES_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP)); + VALIDATE_ADVANCE_DIRECTIVES_SECTION_ENTRIES_OPTIONAL_CODE__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP)); } catch (ParserException pe) { throw new UnsupportedOperationException(pe.getLocalizedMessage()); } } if (!EOCL_ENV.get().createQuery( - VALIDATE_ADVANCE_DIRECTIVES_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get()).check( + VALIDATE_ADVANCE_DIRECTIVES_SECTION_ENTRIES_OPTIONAL_CODE__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get()).check( advanceDirectivesSection)) { if (diagnostics != null) { diagnostics.add( new BasicDiagnostic( Diagnostic.ERROR, ConsolValidator.DIAGNOSTIC_SOURCE, - ConsolValidator.ADVANCE_DIRECTIVES_SECTION__ADVANCE_DIRECTIVES_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID, + ConsolValidator.ADVANCE_DIRECTIVES_SECTION__ADVANCE_DIRECTIVES_SECTION_ENTRIES_OPTIONAL_CODE, ConsolPlugin.INSTANCE.getString( - "AdvanceDirectivesSectionAdvanceDirectivesSectionEntriesOptionalTemplateId"), + "AdvanceDirectivesSectionAdvanceDirectivesSectionEntriesOptionalCode"), new Object[] { advanceDirectivesSection })); } diff --git a/generated/org.openhealthtools.mdht.uml.cda.consol2/src/org/openhealthtools/mdht/uml/cda/consol/operations/ImmunizationsSectionOperations.java b/generated/org.openhealthtools.mdht.uml.cda.consol2/src/org/openhealthtools/mdht/uml/cda/consol/operations/ImmunizationsSectionOperations.java index 5330025fa..9daed5135 100644 --- a/generated/org.openhealthtools.mdht.uml.cda.consol2/src/org/openhealthtools/mdht/uml/cda/consol/operations/ImmunizationsSectionOperations.java +++ b/generated/org.openhealthtools.mdht.uml.cda.consol2/src/org/openhealthtools/mdht/uml/cda/consol/operations/ImmunizationsSectionOperations.java @@ -38,13 +38,13 @@ *

* The following operations are supported: *

    - *
  • {@link org.openhealthtools.mdht.uml.cda.consol.ImmunizationsSection#validateImmunizationsSectionCodeP(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Immunizations Section Code P}
  • - *
  • {@link org.openhealthtools.mdht.uml.cda.consol.ImmunizationsSection#validateImmunizationsSectionCode(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Immunizations Section Code}
  • *
  • {@link org.openhealthtools.mdht.uml.cda.consol.ImmunizationsSection#validateImmunizationsSectionTitle(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Immunizations Section Title}
  • *
  • {@link org.openhealthtools.mdht.uml.cda.consol.ImmunizationsSection#validateImmunizationsSectionText(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Immunizations Section Text}
  • *
  • {@link org.openhealthtools.mdht.uml.cda.consol.ImmunizationsSection#validateImmunizationsSectionImmunization(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Immunizations Section Immunization}
  • *
  • {@link org.openhealthtools.mdht.uml.cda.consol.ImmunizationsSection#getImmunizations() Get Immunizations}
  • *
  • {@link org.openhealthtools.mdht.uml.cda.consol.ImmunizationsSection#validateImmunizationsSectionEntriesOptionalTemplateId(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Immunizations Section Entries Optional Template Id}
  • + *
  • {@link org.openhealthtools.mdht.uml.cda.consol.ImmunizationsSection#validateImmunizationsSectionEntriesOptionalCodeP(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Immunizations Section Entries Optional Code P}
  • + *
  • {@link org.openhealthtools.mdht.uml.cda.consol.ImmunizationsSection#validateImmunizationsSectionEntriesOptionalCode(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Immunizations Section Entries Optional Code}
  • *
*

* @@ -68,25 +68,25 @@ protected ImmunizationsSectionOperations() { } /** - * The cached OCL expression body for the '{@link #validateImmunizationsSectionCodeP(ImmunizationsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Immunizations Section Code P}' operation. + * The cached OCL expression body for the '{@link #validateImmunizationsSectionTitle(ImmunizationsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Immunizations Section Title}' operation. * * - * @see #validateImmunizationsSectionCodeP(ImmunizationsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) + * @see #validateImmunizationsSectionTitle(ImmunizationsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) * @generated * @ordered */ - protected static final String VALIDATE_IMMUNIZATIONS_SECTION_CODE_P__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP = "(self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined())"; + protected static final String VALIDATE_IMMUNIZATIONS_SECTION_TITLE__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP = "(self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined())"; /** - * The cached OCL invariant for the '{@link #validateImmunizationsSectionCodeP(ImmunizationsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Immunizations Section Code P}' invariant operation. + * The cached OCL invariant for the '{@link #validateImmunizationsSectionTitle(ImmunizationsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Immunizations Section Title}' invariant operation. * * - * @see #validateImmunizationsSectionCodeP(ImmunizationsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) + * @see #validateImmunizationsSectionTitle(ImmunizationsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) * @generated * @ordered */ - protected static ThreadLocal VALIDATE_IMMUNIZATIONS_SECTION_CODE_P__DIAGNOSTIC_CHAIN_MAP__EOCL_INV = new ThreadLocal(); + protected static ThreadLocal VALIDATE_IMMUNIZATIONS_SECTION_TITLE__DIAGNOSTIC_CHAIN_MAP__EOCL_INV = new ThreadLocal(); /** * @@ -99,74 +99,59 @@ protected ImmunizationsSectionOperations() { * @generated */ - public static boolean validateImmunizationsSectionCodeP(ImmunizationsSection immunizationsSection, + public static boolean validateImmunizationsSectionTitle(ImmunizationsSection immunizationsSection, DiagnosticChain diagnostics, Map context) { - DatatypesUtil.increment(context, "ImmunizationsSectionImmunizationsSectionCodeP", "ERROR"); + DatatypesUtil.increment(context, "ImmunizationsSectionImmunizationsSectionTitle", "ERROR"); - if (VALIDATE_IMMUNIZATIONS_SECTION_CODE_P__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get() == null) { + if (VALIDATE_IMMUNIZATIONS_SECTION_TITLE__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get() == null) { OCL.Helper helper = EOCL_ENV.get().createOCLHelper(); helper.setContext(ConsolPackage.Literals.IMMUNIZATIONS_SECTION); try { - VALIDATE_IMMUNIZATIONS_SECTION_CODE_P__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.set( - helper.createInvariant(VALIDATE_IMMUNIZATIONS_SECTION_CODE_P__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP)); + VALIDATE_IMMUNIZATIONS_SECTION_TITLE__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.set( + helper.createInvariant(VALIDATE_IMMUNIZATIONS_SECTION_TITLE__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP)); } catch (ParserException pe) { throw new UnsupportedOperationException(pe.getLocalizedMessage()); } } if (!EOCL_ENV.get().createQuery( - VALIDATE_IMMUNIZATIONS_SECTION_CODE_P__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get()).check(immunizationsSection)) { + VALIDATE_IMMUNIZATIONS_SECTION_TITLE__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get()).check(immunizationsSection)) { if (diagnostics != null) { diagnostics.add( new BasicDiagnostic( Diagnostic.ERROR, ConsolValidator.DIAGNOSTIC_SOURCE, - ConsolValidator.IMMUNIZATIONS_SECTION__IMMUNIZATIONS_SECTION_CODE_P, - ConsolPlugin.INSTANCE.getString("ImmunizationsSectionImmunizationsSectionCodeP"), + ConsolValidator.IMMUNIZATIONS_SECTION__IMMUNIZATIONS_SECTION_TITLE, + ConsolPlugin.INSTANCE.getString("ImmunizationsSectionImmunizationsSectionTitle"), new Object[] { immunizationsSection })); } - if (context != null) { - // generate a pass token for my dependent constraints to short-circuit or filter results - @SuppressWarnings("unchecked") - Collection passToken = (Collection) context.get( - "org.openhealthtools.mdht.uml.cda.consol.ImmunizationsSectionCodeP"); - if (passToken == null) { - // anticipate a reasonably healthy model - passToken = new java.util.ArrayList(3); - context.put("org.openhealthtools.mdht.uml.cda.consol.ImmunizationsSectionCodeP", passToken); - } - passToken.add(immunizationsSection); - } - return false; } return true; } /** - * The cached OCL expression body for the '{@link #validateImmunizationsSectionCode(ImmunizationsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Immunizations Section Code}' operation. + * The cached OCL expression body for the '{@link #validateImmunizationsSectionText(ImmunizationsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Immunizations Section Text}' operation. * * - * @see #validateImmunizationsSectionCode(ImmunizationsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) + * @see #validateImmunizationsSectionText(ImmunizationsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) * @generated * @ordered */ - protected static final String VALIDATE_IMMUNIZATIONS_SECTION_CODE__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP = "(self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and " + - "let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in " + - "value.code = '11369-6' and value.codeSystem = '2.16.840.1.113883.6.1')"; + protected static final String VALIDATE_IMMUNIZATIONS_SECTION_TEXT__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP = "not self.text.oclIsUndefined()"; /** - * The cached OCL invariant for the '{@link #validateImmunizationsSectionCode(ImmunizationsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Immunizations Section Code}' invariant operation. + * The cached OCL invariant for the '{@link #validateImmunizationsSectionText(ImmunizationsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Immunizations Section Text}' invariant operation. * * - * @see #validateImmunizationsSectionCode(ImmunizationsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) + * @see #validateImmunizationsSectionText(ImmunizationsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) * @generated * @ordered */ - protected static ThreadLocal VALIDATE_IMMUNIZATIONS_SECTION_CODE__DIAGNOSTIC_CHAIN_MAP__EOCL_INV = new ThreadLocal(); + protected static ThreadLocal VALIDATE_IMMUNIZATIONS_SECTION_TEXT__DIAGNOSTIC_CHAIN_MAP__EOCL_INV = new ThreadLocal(); /** * @@ -179,39 +164,31 @@ public static boolean validateImmunizationsSectionCodeP(ImmunizationsSection imm * @generated */ - public static boolean validateImmunizationsSectionCode(ImmunizationsSection immunizationsSection, + public static boolean validateImmunizationsSectionText(ImmunizationsSection immunizationsSection, DiagnosticChain diagnostics, Map context) { - Object passToken = (context == null) - ? null - : context.get("org.openhealthtools.mdht.uml.cda.consol.ImmunizationsSectionCodeP"); - if ((passToken instanceof Collection) && ((Collection) passToken).contains(immunizationsSection)) { - // I have a free pass to short-circuit - return true; - } - - DatatypesUtil.increment(context, "ImmunizationsSectionImmunizationsSectionCode", "ERROR"); + DatatypesUtil.increment(context, "ImmunizationsSectionImmunizationsSectionText", "ERROR"); - if (VALIDATE_IMMUNIZATIONS_SECTION_CODE__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get() == null) { + if (VALIDATE_IMMUNIZATIONS_SECTION_TEXT__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get() == null) { OCL.Helper helper = EOCL_ENV.get().createOCLHelper(); helper.setContext(ConsolPackage.Literals.IMMUNIZATIONS_SECTION); try { - VALIDATE_IMMUNIZATIONS_SECTION_CODE__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.set( - helper.createInvariant(VALIDATE_IMMUNIZATIONS_SECTION_CODE__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP)); + VALIDATE_IMMUNIZATIONS_SECTION_TEXT__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.set( + helper.createInvariant(VALIDATE_IMMUNIZATIONS_SECTION_TEXT__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP)); } catch (ParserException pe) { throw new UnsupportedOperationException(pe.getLocalizedMessage()); } } if (!EOCL_ENV.get().createQuery( - VALIDATE_IMMUNIZATIONS_SECTION_CODE__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get()).check(immunizationsSection)) { + VALIDATE_IMMUNIZATIONS_SECTION_TEXT__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get()).check(immunizationsSection)) { if (diagnostics != null) { diagnostics.add( new BasicDiagnostic( Diagnostic.ERROR, ConsolValidator.DIAGNOSTIC_SOURCE, - ConsolValidator.IMMUNIZATIONS_SECTION__IMMUNIZATIONS_SECTION_CODE, - ConsolPlugin.INSTANCE.getString("ImmunizationsSectionImmunizationsSectionCode"), + ConsolValidator.IMMUNIZATIONS_SECTION__IMMUNIZATIONS_SECTION_TEXT, + ConsolPlugin.INSTANCE.getString("ImmunizationsSectionImmunizationsSectionText"), new Object[] { immunizationsSection })); } @@ -221,25 +198,25 @@ public static boolean validateImmunizationsSectionCode(ImmunizationsSection immu } /** - * The cached OCL expression body for the '{@link #validateImmunizationsSectionTitle(ImmunizationsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Immunizations Section Title}' operation. + * The cached OCL expression body for the '{@link #validateImmunizationsSectionImmunization(ImmunizationsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Immunizations Section Immunization}' operation. * * - * @see #validateImmunizationsSectionTitle(ImmunizationsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) + * @see #validateImmunizationsSectionImmunization(ImmunizationsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) * @generated * @ordered */ - protected static final String VALIDATE_IMMUNIZATIONS_SECTION_TITLE__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP = "(self.title.oclIsUndefined() or self.title.isNullFlavorUndefined()) implies (not self.title.oclIsUndefined())"; + protected static final String VALIDATE_IMMUNIZATIONS_SECTION_IMMUNIZATION__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP = "self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.substanceAdministration.oclIsUndefined() and entry.substanceAdministration.oclIsKindOf(consol::ImmunizationActivity))"; /** - * The cached OCL invariant for the '{@link #validateImmunizationsSectionTitle(ImmunizationsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Immunizations Section Title}' invariant operation. + * The cached OCL invariant for the '{@link #validateImmunizationsSectionImmunization(ImmunizationsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Immunizations Section Immunization}' invariant operation. * * - * @see #validateImmunizationsSectionTitle(ImmunizationsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) + * @see #validateImmunizationsSectionImmunization(ImmunizationsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) * @generated * @ordered */ - protected static ThreadLocal VALIDATE_IMMUNIZATIONS_SECTION_TITLE__DIAGNOSTIC_CHAIN_MAP__EOCL_INV = new ThreadLocal(); + protected static ThreadLocal VALIDATE_IMMUNIZATIONS_SECTION_IMMUNIZATION__DIAGNOSTIC_CHAIN_MAP__EOCL_INV = new ThreadLocal(); /** * @@ -252,31 +229,33 @@ public static boolean validateImmunizationsSectionCode(ImmunizationsSection immu * @generated */ - public static boolean validateImmunizationsSectionTitle(ImmunizationsSection immunizationsSection, + public static boolean validateImmunizationsSectionImmunization(ImmunizationsSection immunizationsSection, DiagnosticChain diagnostics, Map context) { - DatatypesUtil.increment(context, "ImmunizationsSectionImmunizationsSectionTitle", "ERROR"); + DatatypesUtil.increment(context, "ImmunizationsSectionImmunizationsSectionImmunization", "ERROR"); - if (VALIDATE_IMMUNIZATIONS_SECTION_TITLE__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get() == null) { + if (VALIDATE_IMMUNIZATIONS_SECTION_IMMUNIZATION__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get() == null) { OCL.Helper helper = EOCL_ENV.get().createOCLHelper(); helper.setContext(ConsolPackage.Literals.IMMUNIZATIONS_SECTION); try { - VALIDATE_IMMUNIZATIONS_SECTION_TITLE__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.set( - helper.createInvariant(VALIDATE_IMMUNIZATIONS_SECTION_TITLE__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP)); + VALIDATE_IMMUNIZATIONS_SECTION_IMMUNIZATION__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.set( + helper.createInvariant( + VALIDATE_IMMUNIZATIONS_SECTION_IMMUNIZATION__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP)); } catch (ParserException pe) { throw new UnsupportedOperationException(pe.getLocalizedMessage()); } } if (!EOCL_ENV.get().createQuery( - VALIDATE_IMMUNIZATIONS_SECTION_TITLE__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get()).check(immunizationsSection)) { + VALIDATE_IMMUNIZATIONS_SECTION_IMMUNIZATION__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get()).check( + immunizationsSection)) { if (diagnostics != null) { diagnostics.add( new BasicDiagnostic( Diagnostic.ERROR, ConsolValidator.DIAGNOSTIC_SOURCE, - ConsolValidator.IMMUNIZATIONS_SECTION__IMMUNIZATIONS_SECTION_TITLE, - ConsolPlugin.INSTANCE.getString("ImmunizationsSectionImmunizationsSectionTitle"), + ConsolValidator.IMMUNIZATIONS_SECTION__IMMUNIZATIONS_SECTION_IMMUNIZATION, + ConsolPlugin.INSTANCE.getString("ImmunizationsSectionImmunizationsSectionImmunization"), new Object[] { immunizationsSection })); } @@ -286,90 +265,73 @@ public static boolean validateImmunizationsSectionTitle(ImmunizationsSection imm } /** - * The cached OCL expression body for the '{@link #validateImmunizationsSectionText(ImmunizationsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Immunizations Section Text}' operation. + * The cached OCL expression body for the '{@link #getImmunizations(ImmunizationsSection) Get Immunizations}' operation. * * - * @see #validateImmunizationsSectionText(ImmunizationsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) + * @see #getImmunizations(ImmunizationsSection) * @generated * @ordered */ - protected static final String VALIDATE_IMMUNIZATIONS_SECTION_TEXT__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP = "not self.text.oclIsUndefined()"; + protected static final String GET_IMMUNIZATIONS__EOCL_EXP = "self.getSubstanceAdministrations()->select(substanceAdministration : cda::SubstanceAdministration | not substanceAdministration.oclIsUndefined() and substanceAdministration.oclIsKindOf(consol::ImmunizationActivity)).oclAsType(consol::ImmunizationActivity)"; /** - * The cached OCL invariant for the '{@link #validateImmunizationsSectionText(ImmunizationsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Immunizations Section Text}' invariant operation. + * The cached OCL query for the '{@link #getImmunizations(ImmunizationsSection) Get Immunizations}' query operation. * * - * @see #validateImmunizationsSectionText(ImmunizationsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) + * @see #getImmunizations(ImmunizationsSection) * @generated * @ordered */ - - protected static ThreadLocal VALIDATE_IMMUNIZATIONS_SECTION_TEXT__DIAGNOSTIC_CHAIN_MAP__EOCL_INV = new ThreadLocal(); + protected static OCLExpression GET_IMMUNIZATIONS__EOCL_QRY; /** * * - * - * @param immunizationsSection The receiving 'Immunizations Section' model object. - * @param diagnostics The chain of diagnostics to which problems are to be appended. - * @param context The cache of context-specific information. - * * @generated */ - public static boolean validateImmunizationsSectionText(ImmunizationsSection immunizationsSection, - DiagnosticChain diagnostics, Map context) { - - DatatypesUtil.increment(context, "ImmunizationsSectionImmunizationsSectionText", "ERROR"); + public static EList getImmunizations(ImmunizationsSection immunizationsSection) { - if (VALIDATE_IMMUNIZATIONS_SECTION_TEXT__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get() == null) { + if (GET_IMMUNIZATIONS__EOCL_QRY == null) { OCL.Helper helper = EOCL_ENV.get().createOCLHelper(); - helper.setContext(ConsolPackage.Literals.IMMUNIZATIONS_SECTION); + helper.setOperationContext( + ConsolPackage.Literals.IMMUNIZATIONS_SECTION, + ConsolPackage.Literals.IMMUNIZATIONS_SECTION.getEAllOperations().get(65)); try { - VALIDATE_IMMUNIZATIONS_SECTION_TEXT__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.set( - helper.createInvariant(VALIDATE_IMMUNIZATIONS_SECTION_TEXT__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP)); + GET_IMMUNIZATIONS__EOCL_QRY = helper.createQuery(GET_IMMUNIZATIONS__EOCL_EXP); } catch (ParserException pe) { throw new UnsupportedOperationException(pe.getLocalizedMessage()); } } - if (!EOCL_ENV.get().createQuery( - VALIDATE_IMMUNIZATIONS_SECTION_TEXT__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get()).check(immunizationsSection)) { - if (diagnostics != null) { - diagnostics.add( - new BasicDiagnostic( - Diagnostic.ERROR, ConsolValidator.DIAGNOSTIC_SOURCE, - ConsolValidator.IMMUNIZATIONS_SECTION__IMMUNIZATIONS_SECTION_TEXT, - ConsolPlugin.INSTANCE.getString("ImmunizationsSectionImmunizationsSectionText"), - new Object[] { immunizationsSection })); - } - - return false; - } - return true; + OCL.Query query = EOCL_ENV.get().createQuery(GET_IMMUNIZATIONS__EOCL_QRY); + @SuppressWarnings("unchecked") + Collection result = (Collection) query.evaluate( + immunizationsSection); + return new BasicEList.UnmodifiableEList(result.size(), result.toArray()); } /** - * The cached OCL expression body for the '{@link #validateImmunizationsSectionImmunization(ImmunizationsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Immunizations Section Immunization}' operation. + * The cached OCL expression body for the '{@link #validateImmunizationsSectionEntriesOptionalTemplateId(ImmunizationsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Immunizations Section Entries Optional Template Id}' operation. * * - * @see #validateImmunizationsSectionImmunization(ImmunizationsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) + * @see #validateImmunizationsSectionEntriesOptionalTemplateId(ImmunizationsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) * @generated * @ordered */ - protected static final String VALIDATE_IMMUNIZATIONS_SECTION_IMMUNIZATION__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP = "self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.substanceAdministration.oclIsUndefined() and entry.substanceAdministration.oclIsKindOf(consol::ImmunizationActivity))"; + protected static final String VALIDATE_IMMUNIZATIONS_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP = "self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.2.1')"; /** - * The cached OCL invariant for the '{@link #validateImmunizationsSectionImmunization(ImmunizationsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Immunizations Section Immunization}' invariant operation. + * The cached OCL invariant for the '{@link #validateImmunizationsSectionEntriesOptionalTemplateId(ImmunizationsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Immunizations Section Entries Optional Template Id}' invariant operation. * * - * @see #validateImmunizationsSectionImmunization(ImmunizationsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) + * @see #validateImmunizationsSectionEntriesOptionalTemplateId(ImmunizationsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) * @generated * @ordered */ - protected static ThreadLocal VALIDATE_IMMUNIZATIONS_SECTION_IMMUNIZATION__DIAGNOSTIC_CHAIN_MAP__EOCL_INV = new ThreadLocal(); + protected static ThreadLocal VALIDATE_IMMUNIZATIONS_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID__DIAGNOSTIC_CHAIN_MAP__EOCL_INV = new ThreadLocal(); /** * @@ -382,33 +344,34 @@ public static boolean validateImmunizationsSectionText(ImmunizationsSection immu * @generated */ - public static boolean validateImmunizationsSectionImmunization(ImmunizationsSection immunizationsSection, - DiagnosticChain diagnostics, Map context) { + public static boolean validateImmunizationsSectionEntriesOptionalTemplateId( + ImmunizationsSection immunizationsSection, DiagnosticChain diagnostics, Map context) { - DatatypesUtil.increment(context, "ImmunizationsSectionImmunizationsSectionImmunization", "ERROR"); + DatatypesUtil.increment(context, "ImmunizationsSectionImmunizationsSectionEntriesOptionalTemplateId", "ERROR"); - if (VALIDATE_IMMUNIZATIONS_SECTION_IMMUNIZATION__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get() == null) { + if (VALIDATE_IMMUNIZATIONS_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get() == null) { OCL.Helper helper = EOCL_ENV.get().createOCLHelper(); helper.setContext(ConsolPackage.Literals.IMMUNIZATIONS_SECTION); try { - VALIDATE_IMMUNIZATIONS_SECTION_IMMUNIZATION__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.set( + VALIDATE_IMMUNIZATIONS_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.set( helper.createInvariant( - VALIDATE_IMMUNIZATIONS_SECTION_IMMUNIZATION__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP)); + VALIDATE_IMMUNIZATIONS_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP)); } catch (ParserException pe) { throw new UnsupportedOperationException(pe.getLocalizedMessage()); } } if (!EOCL_ENV.get().createQuery( - VALIDATE_IMMUNIZATIONS_SECTION_IMMUNIZATION__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get()).check( + VALIDATE_IMMUNIZATIONS_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get()).check( immunizationsSection)) { if (diagnostics != null) { diagnostics.add( new BasicDiagnostic( Diagnostic.ERROR, ConsolValidator.DIAGNOSTIC_SOURCE, - ConsolValidator.IMMUNIZATIONS_SECTION__IMMUNIZATIONS_SECTION_IMMUNIZATION, - ConsolPlugin.INSTANCE.getString("ImmunizationsSectionImmunizationsSectionImmunization"), + ConsolValidator.IMMUNIZATIONS_SECTION__IMMUNIZATIONS_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID, + ConsolPlugin.INSTANCE.getString( + "ImmunizationsSectionImmunizationsSectionEntriesOptionalTemplateId"), new Object[] { immunizationsSection })); } @@ -418,73 +381,108 @@ public static boolean validateImmunizationsSectionImmunization(ImmunizationsSect } /** - * The cached OCL expression body for the '{@link #getImmunizations(ImmunizationsSection) Get Immunizations}' operation. + * The cached OCL expression body for the '{@link #validateImmunizationsSectionEntriesOptionalCodeP(ImmunizationsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Immunizations Section Entries Optional Code P}' operation. * * - * @see #getImmunizations(ImmunizationsSection) + * @see #validateImmunizationsSectionEntriesOptionalCodeP(ImmunizationsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) * @generated * @ordered */ - protected static final String GET_IMMUNIZATIONS__EOCL_EXP = "self.getSubstanceAdministrations()->select(substanceAdministration : cda::SubstanceAdministration | not substanceAdministration.oclIsUndefined() and substanceAdministration.oclIsKindOf(consol::ImmunizationActivity)).oclAsType(consol::ImmunizationActivity)"; + protected static final String VALIDATE_IMMUNIZATIONS_SECTION_ENTRIES_OPTIONAL_CODE_P__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP = "(self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined())"; /** - * The cached OCL query for the '{@link #getImmunizations(ImmunizationsSection) Get Immunizations}' query operation. + * The cached OCL invariant for the '{@link #validateImmunizationsSectionEntriesOptionalCodeP(ImmunizationsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Immunizations Section Entries Optional Code P}' invariant operation. * * - * @see #getImmunizations(ImmunizationsSection) + * @see #validateImmunizationsSectionEntriesOptionalCodeP(ImmunizationsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) * @generated * @ordered */ - protected static OCLExpression GET_IMMUNIZATIONS__EOCL_QRY; + + protected static ThreadLocal VALIDATE_IMMUNIZATIONS_SECTION_ENTRIES_OPTIONAL_CODE_P__DIAGNOSTIC_CHAIN_MAP__EOCL_INV = new ThreadLocal(); /** * * + * + * @param immunizationsSection The receiving 'Immunizations Section' model object. + * @param diagnostics The chain of diagnostics to which problems are to be appended. + * @param context The cache of context-specific information. + * * @generated */ - public static EList getImmunizations(ImmunizationsSection immunizationsSection) { + public static boolean validateImmunizationsSectionEntriesOptionalCodeP(ImmunizationsSection immunizationsSection, + DiagnosticChain diagnostics, Map context) { - if (GET_IMMUNIZATIONS__EOCL_QRY == null) { + DatatypesUtil.increment(context, "ImmunizationsSectionImmunizationsSectionEntriesOptionalCodeP", "ERROR"); + + if (VALIDATE_IMMUNIZATIONS_SECTION_ENTRIES_OPTIONAL_CODE_P__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get() == null) { OCL.Helper helper = EOCL_ENV.get().createOCLHelper(); - helper.setOperationContext( - ConsolPackage.Literals.IMMUNIZATIONS_SECTION, - ConsolPackage.Literals.IMMUNIZATIONS_SECTION.getEAllOperations().get(67)); + helper.setContext(ConsolPackage.Literals.IMMUNIZATIONS_SECTION); try { - GET_IMMUNIZATIONS__EOCL_QRY = helper.createQuery(GET_IMMUNIZATIONS__EOCL_EXP); + VALIDATE_IMMUNIZATIONS_SECTION_ENTRIES_OPTIONAL_CODE_P__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.set( + helper.createInvariant( + VALIDATE_IMMUNIZATIONS_SECTION_ENTRIES_OPTIONAL_CODE_P__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP)); } catch (ParserException pe) { throw new UnsupportedOperationException(pe.getLocalizedMessage()); } } - OCL.Query query = EOCL_ENV.get().createQuery(GET_IMMUNIZATIONS__EOCL_QRY); - @SuppressWarnings("unchecked") - Collection result = (Collection) query.evaluate( - immunizationsSection); - return new BasicEList.UnmodifiableEList(result.size(), result.toArray()); + if (!EOCL_ENV.get().createQuery( + VALIDATE_IMMUNIZATIONS_SECTION_ENTRIES_OPTIONAL_CODE_P__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get()).check( + immunizationsSection)) { + if (diagnostics != null) { + diagnostics.add( + new BasicDiagnostic( + Diagnostic.ERROR, ConsolValidator.DIAGNOSTIC_SOURCE, + ConsolValidator.IMMUNIZATIONS_SECTION__IMMUNIZATIONS_SECTION_ENTRIES_OPTIONAL_CODE_P, + ConsolPlugin.INSTANCE.getString("ImmunizationsSectionImmunizationsSectionEntriesOptionalCodeP"), + new Object[] { immunizationsSection })); + } + + if (context != null) { + // generate a pass token for my dependent constraints to short-circuit or filter results + @SuppressWarnings("unchecked") + Collection passToken = (Collection) context.get( + "org.openhealthtools.mdht.uml.cda.consol.ImmunizationsSectionEntriesOptionalCodeP"); + if (passToken == null) { + // anticipate a reasonably healthy model + passToken = new java.util.ArrayList(3); + context.put( + "org.openhealthtools.mdht.uml.cda.consol.ImmunizationsSectionEntriesOptionalCodeP", passToken); + } + passToken.add(immunizationsSection); + } + + return false; + } + return true; } /** - * The cached OCL expression body for the '{@link #validateImmunizationsSectionEntriesOptionalTemplateId(ImmunizationsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Immunizations Section Entries Optional Template Id}' operation. + * The cached OCL expression body for the '{@link #validateImmunizationsSectionEntriesOptionalCode(ImmunizationsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Immunizations Section Entries Optional Code}' operation. * * - * @see #validateImmunizationsSectionEntriesOptionalTemplateId(ImmunizationsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) + * @see #validateImmunizationsSectionEntriesOptionalCode(ImmunizationsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) * @generated * @ordered */ - protected static final String VALIDATE_IMMUNIZATIONS_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP = "self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.2.1')"; + protected static final String VALIDATE_IMMUNIZATIONS_SECTION_ENTRIES_OPTIONAL_CODE__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP = "(self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and " + + "let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in " + + "value.code = '11369-6' and value.codeSystem = '2.16.840.1.113883.6.1')"; /** - * The cached OCL invariant for the '{@link #validateImmunizationsSectionEntriesOptionalTemplateId(ImmunizationsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Immunizations Section Entries Optional Template Id}' invariant operation. + * The cached OCL invariant for the '{@link #validateImmunizationsSectionEntriesOptionalCode(ImmunizationsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Immunizations Section Entries Optional Code}' invariant operation. * * - * @see #validateImmunizationsSectionEntriesOptionalTemplateId(ImmunizationsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) + * @see #validateImmunizationsSectionEntriesOptionalCode(ImmunizationsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) * @generated * @ordered */ - protected static ThreadLocal VALIDATE_IMMUNIZATIONS_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID__DIAGNOSTIC_CHAIN_MAP__EOCL_INV = new ThreadLocal(); + protected static ThreadLocal VALIDATE_IMMUNIZATIONS_SECTION_ENTRIES_OPTIONAL_CODE__DIAGNOSTIC_CHAIN_MAP__EOCL_INV = new ThreadLocal(); /** * @@ -497,34 +495,41 @@ public static EList getImmunizations(ImmunizationsSection * @generated */ - public static boolean validateImmunizationsSectionEntriesOptionalTemplateId( - ImmunizationsSection immunizationsSection, DiagnosticChain diagnostics, Map context) { + public static boolean validateImmunizationsSectionEntriesOptionalCode(ImmunizationsSection immunizationsSection, + DiagnosticChain diagnostics, Map context) { - DatatypesUtil.increment(context, "ImmunizationsSectionImmunizationsSectionEntriesOptionalTemplateId", "ERROR"); + Object passToken = (context == null) + ? null + : context.get("org.openhealthtools.mdht.uml.cda.consol.ImmunizationsSectionEntriesOptionalCodeP"); + if ((passToken instanceof Collection) && ((Collection) passToken).contains(immunizationsSection)) { + // I have a free pass to short-circuit + return true; + } - if (VALIDATE_IMMUNIZATIONS_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get() == null) { + DatatypesUtil.increment(context, "ImmunizationsSectionImmunizationsSectionEntriesOptionalCode", "ERROR"); + + if (VALIDATE_IMMUNIZATIONS_SECTION_ENTRIES_OPTIONAL_CODE__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get() == null) { OCL.Helper helper = EOCL_ENV.get().createOCLHelper(); helper.setContext(ConsolPackage.Literals.IMMUNIZATIONS_SECTION); try { - VALIDATE_IMMUNIZATIONS_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.set( + VALIDATE_IMMUNIZATIONS_SECTION_ENTRIES_OPTIONAL_CODE__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.set( helper.createInvariant( - VALIDATE_IMMUNIZATIONS_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP)); + VALIDATE_IMMUNIZATIONS_SECTION_ENTRIES_OPTIONAL_CODE__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP)); } catch (ParserException pe) { throw new UnsupportedOperationException(pe.getLocalizedMessage()); } } if (!EOCL_ENV.get().createQuery( - VALIDATE_IMMUNIZATIONS_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get()).check( + VALIDATE_IMMUNIZATIONS_SECTION_ENTRIES_OPTIONAL_CODE__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get()).check( immunizationsSection)) { if (diagnostics != null) { diagnostics.add( new BasicDiagnostic( Diagnostic.ERROR, ConsolValidator.DIAGNOSTIC_SOURCE, - ConsolValidator.IMMUNIZATIONS_SECTION__IMMUNIZATIONS_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID, - ConsolPlugin.INSTANCE.getString( - "ImmunizationsSectionImmunizationsSectionEntriesOptionalTemplateId"), + ConsolValidator.IMMUNIZATIONS_SECTION__IMMUNIZATIONS_SECTION_ENTRIES_OPTIONAL_CODE, + ConsolPlugin.INSTANCE.getString("ImmunizationsSectionImmunizationsSectionEntriesOptionalCode"), new Object[] { immunizationsSection })); } diff --git a/generated/org.openhealthtools.mdht.uml.cda.consol2/src/org/openhealthtools/mdht/uml/cda/consol/operations/VitalSignsSectionOperations.java b/generated/org.openhealthtools.mdht.uml.cda.consol2/src/org/openhealthtools/mdht/uml/cda/consol/operations/VitalSignsSectionOperations.java index 31939c9b4..2c5e43ebe 100644 --- a/generated/org.openhealthtools.mdht.uml.cda.consol2/src/org/openhealthtools/mdht/uml/cda/consol/operations/VitalSignsSectionOperations.java +++ b/generated/org.openhealthtools.mdht.uml.cda.consol2/src/org/openhealthtools/mdht/uml/cda/consol/operations/VitalSignsSectionOperations.java @@ -38,12 +38,12 @@ *

* The following operations are supported: *

    - *
  • {@link org.openhealthtools.mdht.uml.cda.consol.VitalSignsSection#validateVitalSignsSectionCodeP(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Vital Signs Section Code P}
  • - *
  • {@link org.openhealthtools.mdht.uml.cda.consol.VitalSignsSection#validateVitalSignsSectionCode(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Vital Signs Section Code}
  • *
  • {@link org.openhealthtools.mdht.uml.cda.consol.VitalSignsSection#validateVitalSignsSectionText(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Vital Signs Section Text}
  • *
  • {@link org.openhealthtools.mdht.uml.cda.consol.VitalSignsSection#validateVitalSignsSectionVitalSignsOrganizer(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Vital Signs Section Vital Signs Organizer}
  • *
  • {@link org.openhealthtools.mdht.uml.cda.consol.VitalSignsSection#getConsolVitalSignsOrganizers() Get Consol Vital Signs Organizers}
  • *
  • {@link org.openhealthtools.mdht.uml.cda.consol.VitalSignsSection#validateVitalSignsSectionEntriesOptionalTemplateId(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Vital Signs Section Entries Optional Template Id}
  • + *
  • {@link org.openhealthtools.mdht.uml.cda.consol.VitalSignsSection#validateVitalSignsSectionEntriesOptionalCodeP(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Vital Signs Section Entries Optional Code P}
  • + *
  • {@link org.openhealthtools.mdht.uml.cda.consol.VitalSignsSection#validateVitalSignsSectionEntriesOptionalCode(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Vital Signs Section Entries Optional Code}
  • *
  • {@link org.openhealthtools.mdht.uml.cda.consol.VitalSignsSection#validateVitalSignsSectionEntriesOptionalTitle(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Vital Signs Section Entries Optional Title}
  • *
*

@@ -68,25 +68,25 @@ protected VitalSignsSectionOperations() { } /** - * The cached OCL expression body for the '{@link #validateVitalSignsSectionCodeP(VitalSignsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Vital Signs Section Code P}' operation. + * The cached OCL expression body for the '{@link #validateVitalSignsSectionText(VitalSignsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Vital Signs Section Text}' operation. * * - * @see #validateVitalSignsSectionCodeP(VitalSignsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) + * @see #validateVitalSignsSectionText(VitalSignsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) * @generated * @ordered */ - protected static final String VALIDATE_VITAL_SIGNS_SECTION_CODE_P__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP = "(self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined())"; + protected static final String VALIDATE_VITAL_SIGNS_SECTION_TEXT__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP = "not self.text.oclIsUndefined()"; /** - * The cached OCL invariant for the '{@link #validateVitalSignsSectionCodeP(VitalSignsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Vital Signs Section Code P}' invariant operation. + * The cached OCL invariant for the '{@link #validateVitalSignsSectionText(VitalSignsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Vital Signs Section Text}' invariant operation. * * - * @see #validateVitalSignsSectionCodeP(VitalSignsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) + * @see #validateVitalSignsSectionText(VitalSignsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) * @generated * @ordered */ - protected static ThreadLocal VALIDATE_VITAL_SIGNS_SECTION_CODE_P__DIAGNOSTIC_CHAIN_MAP__EOCL_INV = new ThreadLocal(); + protected static ThreadLocal VALIDATE_VITAL_SIGNS_SECTION_TEXT__DIAGNOSTIC_CHAIN_MAP__EOCL_INV = new ThreadLocal(); /** * @@ -99,74 +99,59 @@ protected VitalSignsSectionOperations() { * @generated */ - public static boolean validateVitalSignsSectionCodeP(VitalSignsSection vitalSignsSection, + public static boolean validateVitalSignsSectionText(VitalSignsSection vitalSignsSection, DiagnosticChain diagnostics, Map context) { - DatatypesUtil.increment(context, "VitalSignsSectionVitalSignsSectionCodeP", "ERROR"); + DatatypesUtil.increment(context, "VitalSignsSectionVitalSignsSectionText", "ERROR"); - if (VALIDATE_VITAL_SIGNS_SECTION_CODE_P__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get() == null) { + if (VALIDATE_VITAL_SIGNS_SECTION_TEXT__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get() == null) { OCL.Helper helper = EOCL_ENV.get().createOCLHelper(); helper.setContext(ConsolPackage.Literals.VITAL_SIGNS_SECTION); try { - VALIDATE_VITAL_SIGNS_SECTION_CODE_P__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.set( - helper.createInvariant(VALIDATE_VITAL_SIGNS_SECTION_CODE_P__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP)); + VALIDATE_VITAL_SIGNS_SECTION_TEXT__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.set( + helper.createInvariant(VALIDATE_VITAL_SIGNS_SECTION_TEXT__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP)); } catch (ParserException pe) { throw new UnsupportedOperationException(pe.getLocalizedMessage()); } } - if (!EOCL_ENV.get().createQuery( - VALIDATE_VITAL_SIGNS_SECTION_CODE_P__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get()).check(vitalSignsSection)) { + if (!EOCL_ENV.get().createQuery(VALIDATE_VITAL_SIGNS_SECTION_TEXT__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get()).check( + vitalSignsSection)) { if (diagnostics != null) { diagnostics.add( new BasicDiagnostic( Diagnostic.ERROR, ConsolValidator.DIAGNOSTIC_SOURCE, - ConsolValidator.VITAL_SIGNS_SECTION__VITAL_SIGNS_SECTION_CODE_P, - ConsolPlugin.INSTANCE.getString("VitalSignsSectionVitalSignsSectionCodeP"), + ConsolValidator.VITAL_SIGNS_SECTION__VITAL_SIGNS_SECTION_TEXT, + ConsolPlugin.INSTANCE.getString("VitalSignsSectionVitalSignsSectionText"), new Object[] { vitalSignsSection })); } - if (context != null) { - // generate a pass token for my dependent constraints to short-circuit or filter results - @SuppressWarnings("unchecked") - Collection passToken = (Collection) context.get( - "org.openhealthtools.mdht.uml.cda.consol.VitalSignsSectionCodeP"); - if (passToken == null) { - // anticipate a reasonably healthy model - passToken = new java.util.ArrayList(3); - context.put("org.openhealthtools.mdht.uml.cda.consol.VitalSignsSectionCodeP", passToken); - } - passToken.add(vitalSignsSection); - } - return false; } return true; } /** - * The cached OCL expression body for the '{@link #validateVitalSignsSectionCode(VitalSignsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Vital Signs Section Code}' operation. + * The cached OCL expression body for the '{@link #validateVitalSignsSectionVitalSignsOrganizer(VitalSignsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Vital Signs Section Vital Signs Organizer}' operation. * * - * @see #validateVitalSignsSectionCode(VitalSignsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) + * @see #validateVitalSignsSectionVitalSignsOrganizer(VitalSignsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) * @generated * @ordered */ - protected static final String VALIDATE_VITAL_SIGNS_SECTION_CODE__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP = "(self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and " + - "let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in " + - "value.code = '8716-3' and value.codeSystem = '2.16.840.1.113883.6.1')"; + protected static final String VALIDATE_VITAL_SIGNS_SECTION_VITAL_SIGNS_ORGANIZER__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP = "self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.organizer.oclIsUndefined() and entry.organizer.oclIsKindOf(consol::VitalSignsOrganizer))"; /** - * The cached OCL invariant for the '{@link #validateVitalSignsSectionCode(VitalSignsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Vital Signs Section Code}' invariant operation. + * The cached OCL invariant for the '{@link #validateVitalSignsSectionVitalSignsOrganizer(VitalSignsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Vital Signs Section Vital Signs Organizer}' invariant operation. * * - * @see #validateVitalSignsSectionCode(VitalSignsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) + * @see #validateVitalSignsSectionVitalSignsOrganizer(VitalSignsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) * @generated * @ordered */ - protected static ThreadLocal VALIDATE_VITAL_SIGNS_SECTION_CODE__DIAGNOSTIC_CHAIN_MAP__EOCL_INV = new ThreadLocal(); + protected static ThreadLocal VALIDATE_VITAL_SIGNS_SECTION_VITAL_SIGNS_ORGANIZER__DIAGNOSTIC_CHAIN_MAP__EOCL_INV = new ThreadLocal(); /** * @@ -179,39 +164,33 @@ public static boolean validateVitalSignsSectionCodeP(VitalSignsSection vitalSign * @generated */ - public static boolean validateVitalSignsSectionCode(VitalSignsSection vitalSignsSection, + public static boolean validateVitalSignsSectionVitalSignsOrganizer(VitalSignsSection vitalSignsSection, DiagnosticChain diagnostics, Map context) { - Object passToken = (context == null) - ? null - : context.get("org.openhealthtools.mdht.uml.cda.consol.VitalSignsSectionCodeP"); - if ((passToken instanceof Collection) && ((Collection) passToken).contains(vitalSignsSection)) { - // I have a free pass to short-circuit - return true; - } - - DatatypesUtil.increment(context, "VitalSignsSectionVitalSignsSectionCode", "ERROR"); + DatatypesUtil.increment(context, "VitalSignsSectionVitalSignsSectionVitalSignsOrganizer", "ERROR"); - if (VALIDATE_VITAL_SIGNS_SECTION_CODE__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get() == null) { + if (VALIDATE_VITAL_SIGNS_SECTION_VITAL_SIGNS_ORGANIZER__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get() == null) { OCL.Helper helper = EOCL_ENV.get().createOCLHelper(); helper.setContext(ConsolPackage.Literals.VITAL_SIGNS_SECTION); try { - VALIDATE_VITAL_SIGNS_SECTION_CODE__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.set( - helper.createInvariant(VALIDATE_VITAL_SIGNS_SECTION_CODE__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP)); + VALIDATE_VITAL_SIGNS_SECTION_VITAL_SIGNS_ORGANIZER__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.set( + helper.createInvariant( + VALIDATE_VITAL_SIGNS_SECTION_VITAL_SIGNS_ORGANIZER__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP)); } catch (ParserException pe) { throw new UnsupportedOperationException(pe.getLocalizedMessage()); } } - if (!EOCL_ENV.get().createQuery(VALIDATE_VITAL_SIGNS_SECTION_CODE__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get()).check( - vitalSignsSection)) { + if (!EOCL_ENV.get().createQuery( + VALIDATE_VITAL_SIGNS_SECTION_VITAL_SIGNS_ORGANIZER__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get()).check( + vitalSignsSection)) { if (diagnostics != null) { diagnostics.add( new BasicDiagnostic( Diagnostic.ERROR, ConsolValidator.DIAGNOSTIC_SOURCE, - ConsolValidator.VITAL_SIGNS_SECTION__VITAL_SIGNS_SECTION_CODE, - ConsolPlugin.INSTANCE.getString("VitalSignsSectionVitalSignsSectionCode"), + ConsolValidator.VITAL_SIGNS_SECTION__VITAL_SIGNS_SECTION_VITAL_SIGNS_ORGANIZER, + ConsolPlugin.INSTANCE.getString("VitalSignsSectionVitalSignsSectionVitalSignsOrganizer"), new Object[] { vitalSignsSection })); } @@ -221,90 +200,73 @@ public static boolean validateVitalSignsSectionCode(VitalSignsSection vitalSigns } /** - * The cached OCL expression body for the '{@link #validateVitalSignsSectionText(VitalSignsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Vital Signs Section Text}' operation. + * The cached OCL expression body for the '{@link #getConsolVitalSignsOrganizers(VitalSignsSection) Get Consol Vital Signs Organizers}' operation. * * - * @see #validateVitalSignsSectionText(VitalSignsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) + * @see #getConsolVitalSignsOrganizers(VitalSignsSection) * @generated * @ordered */ - protected static final String VALIDATE_VITAL_SIGNS_SECTION_TEXT__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP = "not self.text.oclIsUndefined()"; + protected static final String GET_CONSOL_VITAL_SIGNS_ORGANIZERS__EOCL_EXP = "self.getOrganizers()->select(organizer : cda::Organizer | not organizer.oclIsUndefined() and organizer.oclIsKindOf(consol::VitalSignsOrganizer)).oclAsType(consol::VitalSignsOrganizer)"; /** - * The cached OCL invariant for the '{@link #validateVitalSignsSectionText(VitalSignsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Vital Signs Section Text}' invariant operation. + * The cached OCL query for the '{@link #getConsolVitalSignsOrganizers(VitalSignsSection) Get Consol Vital Signs Organizers}' query operation. * * - * @see #validateVitalSignsSectionText(VitalSignsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) + * @see #getConsolVitalSignsOrganizers(VitalSignsSection) * @generated * @ordered */ - - protected static ThreadLocal VALIDATE_VITAL_SIGNS_SECTION_TEXT__DIAGNOSTIC_CHAIN_MAP__EOCL_INV = new ThreadLocal(); + protected static OCLExpression GET_CONSOL_VITAL_SIGNS_ORGANIZERS__EOCL_QRY; /** * * - * - * @param vitalSignsSection The receiving 'Vital Signs Section' model object. - * @param diagnostics The chain of diagnostics to which problems are to be appended. - * @param context The cache of context-specific information. - * * @generated */ - public static boolean validateVitalSignsSectionText(VitalSignsSection vitalSignsSection, - DiagnosticChain diagnostics, Map context) { - - DatatypesUtil.increment(context, "VitalSignsSectionVitalSignsSectionText", "ERROR"); + public static EList getConsolVitalSignsOrganizers(VitalSignsSection vitalSignsSection) { - if (VALIDATE_VITAL_SIGNS_SECTION_TEXT__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get() == null) { + if (GET_CONSOL_VITAL_SIGNS_ORGANIZERS__EOCL_QRY == null) { OCL.Helper helper = EOCL_ENV.get().createOCLHelper(); - helper.setContext(ConsolPackage.Literals.VITAL_SIGNS_SECTION); + helper.setOperationContext( + ConsolPackage.Literals.VITAL_SIGNS_SECTION, + ConsolPackage.Literals.VITAL_SIGNS_SECTION.getEAllOperations().get(64)); try { - VALIDATE_VITAL_SIGNS_SECTION_TEXT__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.set( - helper.createInvariant(VALIDATE_VITAL_SIGNS_SECTION_TEXT__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP)); + GET_CONSOL_VITAL_SIGNS_ORGANIZERS__EOCL_QRY = helper.createQuery( + GET_CONSOL_VITAL_SIGNS_ORGANIZERS__EOCL_EXP); } catch (ParserException pe) { throw new UnsupportedOperationException(pe.getLocalizedMessage()); } } - if (!EOCL_ENV.get().createQuery(VALIDATE_VITAL_SIGNS_SECTION_TEXT__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get()).check( - vitalSignsSection)) { - if (diagnostics != null) { - diagnostics.add( - new BasicDiagnostic( - Diagnostic.ERROR, ConsolValidator.DIAGNOSTIC_SOURCE, - ConsolValidator.VITAL_SIGNS_SECTION__VITAL_SIGNS_SECTION_TEXT, - ConsolPlugin.INSTANCE.getString("VitalSignsSectionVitalSignsSectionText"), - new Object[] { vitalSignsSection })); - } - - return false; - } - return true; + OCL.Query query = EOCL_ENV.get().createQuery(GET_CONSOL_VITAL_SIGNS_ORGANIZERS__EOCL_QRY); + @SuppressWarnings("unchecked") + Collection result = (Collection) query.evaluate(vitalSignsSection); + return new BasicEList.UnmodifiableEList(result.size(), result.toArray()); } /** - * The cached OCL expression body for the '{@link #validateVitalSignsSectionVitalSignsOrganizer(VitalSignsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Vital Signs Section Vital Signs Organizer}' operation. + * The cached OCL expression body for the '{@link #validateVitalSignsSectionEntriesOptionalTemplateId(VitalSignsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Vital Signs Section Entries Optional Template Id}' operation. * * - * @see #validateVitalSignsSectionVitalSignsOrganizer(VitalSignsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) + * @see #validateVitalSignsSectionEntriesOptionalTemplateId(VitalSignsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) * @generated * @ordered */ - protected static final String VALIDATE_VITAL_SIGNS_SECTION_VITAL_SIGNS_ORGANIZER__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP = "self.nullFlavor <> vocab::NullFlavor::NI implies entry->exists(entry : cda::Entry | not entry.organizer.oclIsUndefined() and entry.organizer.oclIsKindOf(consol::VitalSignsOrganizer))"; + protected static final String VALIDATE_VITAL_SIGNS_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP = "self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.4.1')"; /** - * The cached OCL invariant for the '{@link #validateVitalSignsSectionVitalSignsOrganizer(VitalSignsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Vital Signs Section Vital Signs Organizer}' invariant operation. + * The cached OCL invariant for the '{@link #validateVitalSignsSectionEntriesOptionalTemplateId(VitalSignsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Vital Signs Section Entries Optional Template Id}' invariant operation. * * - * @see #validateVitalSignsSectionVitalSignsOrganizer(VitalSignsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) + * @see #validateVitalSignsSectionEntriesOptionalTemplateId(VitalSignsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) * @generated * @ordered */ - protected static ThreadLocal VALIDATE_VITAL_SIGNS_SECTION_VITAL_SIGNS_ORGANIZER__DIAGNOSTIC_CHAIN_MAP__EOCL_INV = new ThreadLocal(); + protected static ThreadLocal VALIDATE_VITAL_SIGNS_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID__DIAGNOSTIC_CHAIN_MAP__EOCL_INV = new ThreadLocal(); /** * @@ -317,33 +279,33 @@ public static boolean validateVitalSignsSectionText(VitalSignsSection vitalSigns * @generated */ - public static boolean validateVitalSignsSectionVitalSignsOrganizer(VitalSignsSection vitalSignsSection, + public static boolean validateVitalSignsSectionEntriesOptionalTemplateId(VitalSignsSection vitalSignsSection, DiagnosticChain diagnostics, Map context) { - DatatypesUtil.increment(context, "VitalSignsSectionVitalSignsSectionVitalSignsOrganizer", "ERROR"); + DatatypesUtil.increment(context, "VitalSignsSectionVitalSignsSectionEntriesOptionalTemplateId", "ERROR"); - if (VALIDATE_VITAL_SIGNS_SECTION_VITAL_SIGNS_ORGANIZER__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get() == null) { + if (VALIDATE_VITAL_SIGNS_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get() == null) { OCL.Helper helper = EOCL_ENV.get().createOCLHelper(); helper.setContext(ConsolPackage.Literals.VITAL_SIGNS_SECTION); try { - VALIDATE_VITAL_SIGNS_SECTION_VITAL_SIGNS_ORGANIZER__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.set( + VALIDATE_VITAL_SIGNS_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.set( helper.createInvariant( - VALIDATE_VITAL_SIGNS_SECTION_VITAL_SIGNS_ORGANIZER__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP)); + VALIDATE_VITAL_SIGNS_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP)); } catch (ParserException pe) { throw new UnsupportedOperationException(pe.getLocalizedMessage()); } } if (!EOCL_ENV.get().createQuery( - VALIDATE_VITAL_SIGNS_SECTION_VITAL_SIGNS_ORGANIZER__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get()).check( + VALIDATE_VITAL_SIGNS_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get()).check( vitalSignsSection)) { if (diagnostics != null) { diagnostics.add( new BasicDiagnostic( Diagnostic.ERROR, ConsolValidator.DIAGNOSTIC_SOURCE, - ConsolValidator.VITAL_SIGNS_SECTION__VITAL_SIGNS_SECTION_VITAL_SIGNS_ORGANIZER, - ConsolPlugin.INSTANCE.getString("VitalSignsSectionVitalSignsSectionVitalSignsOrganizer"), + ConsolValidator.VITAL_SIGNS_SECTION__VITAL_SIGNS_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID, + ConsolPlugin.INSTANCE.getString("VitalSignsSectionVitalSignsSectionEntriesOptionalTemplateId"), new Object[] { vitalSignsSection })); } @@ -353,73 +315,108 @@ public static boolean validateVitalSignsSectionVitalSignsOrganizer(VitalSignsSec } /** - * The cached OCL expression body for the '{@link #getConsolVitalSignsOrganizers(VitalSignsSection) Get Consol Vital Signs Organizers}' operation. + * The cached OCL expression body for the '{@link #validateVitalSignsSectionEntriesOptionalCodeP(VitalSignsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Vital Signs Section Entries Optional Code P}' operation. * * - * @see #getConsolVitalSignsOrganizers(VitalSignsSection) + * @see #validateVitalSignsSectionEntriesOptionalCodeP(VitalSignsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) * @generated * @ordered */ - protected static final String GET_CONSOL_VITAL_SIGNS_ORGANIZERS__EOCL_EXP = "self.getOrganizers()->select(organizer : cda::Organizer | not organizer.oclIsUndefined() and organizer.oclIsKindOf(consol::VitalSignsOrganizer)).oclAsType(consol::VitalSignsOrganizer)"; + protected static final String VALIDATE_VITAL_SIGNS_SECTION_ENTRIES_OPTIONAL_CODE_P__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP = "(self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined())"; /** - * The cached OCL query for the '{@link #getConsolVitalSignsOrganizers(VitalSignsSection) Get Consol Vital Signs Organizers}' query operation. + * The cached OCL invariant for the '{@link #validateVitalSignsSectionEntriesOptionalCodeP(VitalSignsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Vital Signs Section Entries Optional Code P}' invariant operation. * * - * @see #getConsolVitalSignsOrganizers(VitalSignsSection) + * @see #validateVitalSignsSectionEntriesOptionalCodeP(VitalSignsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) * @generated * @ordered */ - protected static OCLExpression GET_CONSOL_VITAL_SIGNS_ORGANIZERS__EOCL_QRY; + + protected static ThreadLocal VALIDATE_VITAL_SIGNS_SECTION_ENTRIES_OPTIONAL_CODE_P__DIAGNOSTIC_CHAIN_MAP__EOCL_INV = new ThreadLocal(); /** * * + * + * @param vitalSignsSection The receiving 'Vital Signs Section' model object. + * @param diagnostics The chain of diagnostics to which problems are to be appended. + * @param context The cache of context-specific information. + * * @generated */ - public static EList getConsolVitalSignsOrganizers(VitalSignsSection vitalSignsSection) { + public static boolean validateVitalSignsSectionEntriesOptionalCodeP(VitalSignsSection vitalSignsSection, + DiagnosticChain diagnostics, Map context) { - if (GET_CONSOL_VITAL_SIGNS_ORGANIZERS__EOCL_QRY == null) { + DatatypesUtil.increment(context, "VitalSignsSectionVitalSignsSectionEntriesOptionalCodeP", "ERROR"); + + if (VALIDATE_VITAL_SIGNS_SECTION_ENTRIES_OPTIONAL_CODE_P__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get() == null) { OCL.Helper helper = EOCL_ENV.get().createOCLHelper(); - helper.setOperationContext( - ConsolPackage.Literals.VITAL_SIGNS_SECTION, - ConsolPackage.Literals.VITAL_SIGNS_SECTION.getEAllOperations().get(66)); + helper.setContext(ConsolPackage.Literals.VITAL_SIGNS_SECTION); try { - GET_CONSOL_VITAL_SIGNS_ORGANIZERS__EOCL_QRY = helper.createQuery( - GET_CONSOL_VITAL_SIGNS_ORGANIZERS__EOCL_EXP); + VALIDATE_VITAL_SIGNS_SECTION_ENTRIES_OPTIONAL_CODE_P__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.set( + helper.createInvariant( + VALIDATE_VITAL_SIGNS_SECTION_ENTRIES_OPTIONAL_CODE_P__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP)); } catch (ParserException pe) { throw new UnsupportedOperationException(pe.getLocalizedMessage()); } } - OCL.Query query = EOCL_ENV.get().createQuery(GET_CONSOL_VITAL_SIGNS_ORGANIZERS__EOCL_QRY); - @SuppressWarnings("unchecked") - Collection result = (Collection) query.evaluate(vitalSignsSection); - return new BasicEList.UnmodifiableEList(result.size(), result.toArray()); + if (!EOCL_ENV.get().createQuery( + VALIDATE_VITAL_SIGNS_SECTION_ENTRIES_OPTIONAL_CODE_P__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get()).check( + vitalSignsSection)) { + if (diagnostics != null) { + diagnostics.add( + new BasicDiagnostic( + Diagnostic.ERROR, ConsolValidator.DIAGNOSTIC_SOURCE, + ConsolValidator.VITAL_SIGNS_SECTION__VITAL_SIGNS_SECTION_ENTRIES_OPTIONAL_CODE_P, + ConsolPlugin.INSTANCE.getString("VitalSignsSectionVitalSignsSectionEntriesOptionalCodeP"), + new Object[] { vitalSignsSection })); + } + + if (context != null) { + // generate a pass token for my dependent constraints to short-circuit or filter results + @SuppressWarnings("unchecked") + Collection passToken = (Collection) context.get( + "org.openhealthtools.mdht.uml.cda.consol.VitalSignsSectionEntriesOptionalCodeP"); + if (passToken == null) { + // anticipate a reasonably healthy model + passToken = new java.util.ArrayList(3); + context.put( + "org.openhealthtools.mdht.uml.cda.consol.VitalSignsSectionEntriesOptionalCodeP", passToken); + } + passToken.add(vitalSignsSection); + } + + return false; + } + return true; } /** - * The cached OCL expression body for the '{@link #validateVitalSignsSectionEntriesOptionalTemplateId(VitalSignsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Vital Signs Section Entries Optional Template Id}' operation. + * The cached OCL expression body for the '{@link #validateVitalSignsSectionEntriesOptionalCode(VitalSignsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Vital Signs Section Entries Optional Code}' operation. * * - * @see #validateVitalSignsSectionEntriesOptionalTemplateId(VitalSignsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) + * @see #validateVitalSignsSectionEntriesOptionalCode(VitalSignsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) * @generated * @ordered */ - protected static final String VALIDATE_VITAL_SIGNS_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP = "self.templateId->exists(id : datatypes::II | id.root = '2.16.840.1.113883.10.20.22.2.4.1')"; + protected static final String VALIDATE_VITAL_SIGNS_SECTION_ENTRIES_OPTIONAL_CODE__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP = "(self.code.oclIsUndefined() or self.code.isNullFlavorUndefined()) implies (not self.code.oclIsUndefined() and self.code.oclIsKindOf(datatypes::CE) and " + + "let value : datatypes::CE = self.code.oclAsType(datatypes::CE) in " + + "value.code = '8716-3' and value.codeSystem = '2.16.840.1.113883.6.1')"; /** - * The cached OCL invariant for the '{@link #validateVitalSignsSectionEntriesOptionalTemplateId(VitalSignsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Vital Signs Section Entries Optional Template Id}' invariant operation. + * The cached OCL invariant for the '{@link #validateVitalSignsSectionEntriesOptionalCode(VitalSignsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Vital Signs Section Entries Optional Code}' invariant operation. * * - * @see #validateVitalSignsSectionEntriesOptionalTemplateId(VitalSignsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) + * @see #validateVitalSignsSectionEntriesOptionalCode(VitalSignsSection, org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) * @generated * @ordered */ - protected static ThreadLocal VALIDATE_VITAL_SIGNS_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID__DIAGNOSTIC_CHAIN_MAP__EOCL_INV = new ThreadLocal(); + protected static ThreadLocal VALIDATE_VITAL_SIGNS_SECTION_ENTRIES_OPTIONAL_CODE__DIAGNOSTIC_CHAIN_MAP__EOCL_INV = new ThreadLocal(); /** * @@ -432,33 +429,41 @@ public static EList getConsolVitalSignsOrganizers(VitalSign * @generated */ - public static boolean validateVitalSignsSectionEntriesOptionalTemplateId(VitalSignsSection vitalSignsSection, + public static boolean validateVitalSignsSectionEntriesOptionalCode(VitalSignsSection vitalSignsSection, DiagnosticChain diagnostics, Map context) { - DatatypesUtil.increment(context, "VitalSignsSectionVitalSignsSectionEntriesOptionalTemplateId", "ERROR"); + Object passToken = (context == null) + ? null + : context.get("org.openhealthtools.mdht.uml.cda.consol.VitalSignsSectionEntriesOptionalCodeP"); + if ((passToken instanceof Collection) && ((Collection) passToken).contains(vitalSignsSection)) { + // I have a free pass to short-circuit + return true; + } - if (VALIDATE_VITAL_SIGNS_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get() == null) { + DatatypesUtil.increment(context, "VitalSignsSectionVitalSignsSectionEntriesOptionalCode", "ERROR"); + + if (VALIDATE_VITAL_SIGNS_SECTION_ENTRIES_OPTIONAL_CODE__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get() == null) { OCL.Helper helper = EOCL_ENV.get().createOCLHelper(); helper.setContext(ConsolPackage.Literals.VITAL_SIGNS_SECTION); try { - VALIDATE_VITAL_SIGNS_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.set( + VALIDATE_VITAL_SIGNS_SECTION_ENTRIES_OPTIONAL_CODE__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.set( helper.createInvariant( - VALIDATE_VITAL_SIGNS_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP)); + VALIDATE_VITAL_SIGNS_SECTION_ENTRIES_OPTIONAL_CODE__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP)); } catch (ParserException pe) { throw new UnsupportedOperationException(pe.getLocalizedMessage()); } } if (!EOCL_ENV.get().createQuery( - VALIDATE_VITAL_SIGNS_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get()).check( + VALIDATE_VITAL_SIGNS_SECTION_ENTRIES_OPTIONAL_CODE__DIAGNOSTIC_CHAIN_MAP__EOCL_INV.get()).check( vitalSignsSection)) { if (diagnostics != null) { diagnostics.add( new BasicDiagnostic( Diagnostic.ERROR, ConsolValidator.DIAGNOSTIC_SOURCE, - ConsolValidator.VITAL_SIGNS_SECTION__VITAL_SIGNS_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID, - ConsolPlugin.INSTANCE.getString("VitalSignsSectionVitalSignsSectionEntriesOptionalTemplateId"), + ConsolValidator.VITAL_SIGNS_SECTION__VITAL_SIGNS_SECTION_ENTRIES_OPTIONAL_CODE, + ConsolPlugin.INSTANCE.getString("VitalSignsSectionVitalSignsSectionEntriesOptionalCode"), new Object[] { vitalSignsSection })); } diff --git a/generated/org.openhealthtools.mdht.uml.cda.consol2/src/org/openhealthtools/mdht/uml/cda/consol/util/ConsolValidator.java b/generated/org.openhealthtools.mdht.uml.cda.consol2/src/org/openhealthtools/mdht/uml/cda/consol/util/ConsolValidator.java index 0644ef5e2..0abc4a58b 100644 --- a/generated/org.openhealthtools.mdht.uml.cda.consol2/src/org/openhealthtools/mdht/uml/cda/consol/util/ConsolValidator.java +++ b/generated/org.openhealthtools.mdht.uml.cda.consol2/src/org/openhealthtools/mdht/uml/cda/consol/util/ConsolValidator.java @@ -7013,52 +7013,52 @@ public class ConsolValidator extends EObjectValidator { public static final int RESULT_OBSERVATION__RESULT_OBSERVATION_TARGET_SITE_CODE = 872; /** - * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Advance Directives Section Code P' of 'Advance Directives Section'. + * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Advance Directives Section Title' of 'Advance Directives Section'. * * * @generated */ - public static final int ADVANCE_DIRECTIVES_SECTION__ADVANCE_DIRECTIVES_SECTION_CODE_P = 873; + public static final int ADVANCE_DIRECTIVES_SECTION__ADVANCE_DIRECTIVES_SECTION_TITLE = 873; /** - * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Advance Directives Section Code' of 'Advance Directives Section'. + * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Advance Directives Section Text' of 'Advance Directives Section'. * * * @generated */ - public static final int ADVANCE_DIRECTIVES_SECTION__ADVANCE_DIRECTIVES_SECTION_CODE = 874; + public static final int ADVANCE_DIRECTIVES_SECTION__ADVANCE_DIRECTIVES_SECTION_TEXT = 874; /** - * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Advance Directives Section Title' of 'Advance Directives Section'. + * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Advance Directives Section Advance Directive Observation' of 'Advance Directives Section'. * * * @generated */ - public static final int ADVANCE_DIRECTIVES_SECTION__ADVANCE_DIRECTIVES_SECTION_TITLE = 875; + public static final int ADVANCE_DIRECTIVES_SECTION__ADVANCE_DIRECTIVES_SECTION_ADVANCE_DIRECTIVE_OBSERVATION = 875; /** - * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Advance Directives Section Text' of 'Advance Directives Section'. + * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Advance Directives Section Entries Optional Template Id' of 'Advance Directives Section'. * * * @generated */ - public static final int ADVANCE_DIRECTIVES_SECTION__ADVANCE_DIRECTIVES_SECTION_TEXT = 876; + public static final int ADVANCE_DIRECTIVES_SECTION__ADVANCE_DIRECTIVES_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID = 876; /** - * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Advance Directives Section Advance Directive Observation' of 'Advance Directives Section'. + * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Advance Directives Section Entries Optional Code P' of 'Advance Directives Section'. * * * @generated */ - public static final int ADVANCE_DIRECTIVES_SECTION__ADVANCE_DIRECTIVES_SECTION_ADVANCE_DIRECTIVE_OBSERVATION = 877; + public static final int ADVANCE_DIRECTIVES_SECTION__ADVANCE_DIRECTIVES_SECTION_ENTRIES_OPTIONAL_CODE_P = 877; /** - * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Advance Directives Section Entries Optional Template Id' of 'Advance Directives Section'. + * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Advance Directives Section Entries Optional Code' of 'Advance Directives Section'. * * * @generated */ - public static final int ADVANCE_DIRECTIVES_SECTION__ADVANCE_DIRECTIVES_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID = 878; + public static final int ADVANCE_DIRECTIVES_SECTION__ADVANCE_DIRECTIVES_SECTION_ENTRIES_OPTIONAL_CODE = 878; /** * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Advance Directives Section Entries Optional Template Id' of 'Advance Directives Section Entries Optional'. @@ -12293,92 +12293,92 @@ public class ConsolValidator extends EObjectValidator { public static final int VITAL_SIGN_OBSERVATION__VITAL_SIGN_OBSERVATION_AUTHOR = 1532; /** - * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Immunizations Section Code P' of 'Immunizations Section'. + * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Immunizations Section Title' of 'Immunizations Section'. * * * @generated */ - public static final int IMMUNIZATIONS_SECTION__IMMUNIZATIONS_SECTION_CODE_P = 1533; + public static final int IMMUNIZATIONS_SECTION__IMMUNIZATIONS_SECTION_TITLE = 1533; /** - * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Immunizations Section Code' of 'Immunizations Section'. + * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Immunizations Section Text' of 'Immunizations Section'. * * * @generated */ - public static final int IMMUNIZATIONS_SECTION__IMMUNIZATIONS_SECTION_CODE = 1534; + public static final int IMMUNIZATIONS_SECTION__IMMUNIZATIONS_SECTION_TEXT = 1534; /** - * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Immunizations Section Title' of 'Immunizations Section'. + * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Immunizations Section Immunization' of 'Immunizations Section'. * * * @generated */ - public static final int IMMUNIZATIONS_SECTION__IMMUNIZATIONS_SECTION_TITLE = 1535; + public static final int IMMUNIZATIONS_SECTION__IMMUNIZATIONS_SECTION_IMMUNIZATION = 1535; /** - * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Immunizations Section Text' of 'Immunizations Section'. + * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Immunizations Section Entries Optional Template Id' of 'Immunizations Section'. * * * @generated */ - public static final int IMMUNIZATIONS_SECTION__IMMUNIZATIONS_SECTION_TEXT = 1536; + public static final int IMMUNIZATIONS_SECTION__IMMUNIZATIONS_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID = 1536; /** - * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Immunizations Section Immunization' of 'Immunizations Section'. + * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Immunizations Section Entries Optional Code P' of 'Immunizations Section'. * * * @generated */ - public static final int IMMUNIZATIONS_SECTION__IMMUNIZATIONS_SECTION_IMMUNIZATION = 1537; + public static final int IMMUNIZATIONS_SECTION__IMMUNIZATIONS_SECTION_ENTRIES_OPTIONAL_CODE_P = 1537; /** - * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Immunizations Section Entries Optional Template Id' of 'Immunizations Section'. + * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Immunizations Section Entries Optional Code' of 'Immunizations Section'. * * * @generated */ - public static final int IMMUNIZATIONS_SECTION__IMMUNIZATIONS_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID = 1538; + public static final int IMMUNIZATIONS_SECTION__IMMUNIZATIONS_SECTION_ENTRIES_OPTIONAL_CODE = 1538; /** - * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Vital Signs Section Code P' of 'Vital Signs Section'. + * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Vital Signs Section Text' of 'Vital Signs Section'. * * * @generated */ - public static final int VITAL_SIGNS_SECTION__VITAL_SIGNS_SECTION_CODE_P = 1539; + public static final int VITAL_SIGNS_SECTION__VITAL_SIGNS_SECTION_TEXT = 1539; /** - * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Vital Signs Section Code' of 'Vital Signs Section'. + * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Vital Signs Section Vital Signs Organizer' of 'Vital Signs Section'. * * * @generated */ - public static final int VITAL_SIGNS_SECTION__VITAL_SIGNS_SECTION_CODE = 1540; + public static final int VITAL_SIGNS_SECTION__VITAL_SIGNS_SECTION_VITAL_SIGNS_ORGANIZER = 1540; /** - * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Vital Signs Section Text' of 'Vital Signs Section'. + * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Vital Signs Section Entries Optional Template Id' of 'Vital Signs Section'. * * * @generated */ - public static final int VITAL_SIGNS_SECTION__VITAL_SIGNS_SECTION_TEXT = 1541; + public static final int VITAL_SIGNS_SECTION__VITAL_SIGNS_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID = 1541; /** - * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Vital Signs Section Vital Signs Organizer' of 'Vital Signs Section'. + * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Vital Signs Section Entries Optional Code P' of 'Vital Signs Section'. * * * @generated */ - public static final int VITAL_SIGNS_SECTION__VITAL_SIGNS_SECTION_VITAL_SIGNS_ORGANIZER = 1542; + public static final int VITAL_SIGNS_SECTION__VITAL_SIGNS_SECTION_ENTRIES_OPTIONAL_CODE_P = 1542; /** - * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Vital Signs Section Entries Optional Template Id' of 'Vital Signs Section'. + * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Vital Signs Section Entries Optional Code' of 'Vital Signs Section'. * * * @generated */ - public static final int VITAL_SIGNS_SECTION__VITAL_SIGNS_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID = 1543; + public static final int VITAL_SIGNS_SECTION__VITAL_SIGNS_SECTION_ENTRIES_OPTIONAL_CODE = 1543; /** * The {@link org.eclipse.emf.common.util.Diagnostic#getCode() code} for constraint 'Validate Vital Signs Section Entries Optional Title' of 'Vital Signs Section'. @@ -56767,11 +56767,11 @@ public boolean validateAdvanceDirectivesSection(AdvanceDirectivesSection advance advanceDirectivesSection, diagnostics, context); } if (result || diagnostics != null) { - result &= validateAdvanceDirectivesSectionEntriesOptional_validateAdvanceDirectivesSectionEntriesOptionalCode( + result &= validateAdvanceDirectivesSection_validateAdvanceDirectivesSectionEntriesOptionalCode( advanceDirectivesSection, diagnostics, context); } if (result || diagnostics != null) { - result &= validateAdvanceDirectivesSectionEntriesOptional_validateAdvanceDirectivesSectionEntriesOptionalCodeP( + result &= validateAdvanceDirectivesSection_validateAdvanceDirectivesSectionEntriesOptionalCodeP( advanceDirectivesSection, diagnostics, context); } if (result || diagnostics != null) { @@ -56786,14 +56786,6 @@ public boolean validateAdvanceDirectivesSection(AdvanceDirectivesSection advance result &= validateAdvanceDirectivesSectionEntriesOptional_validateAdvanceDirectivesSectionEntriesOptionalAdvanceDirectiveObservation( advanceDirectivesSection, diagnostics, context); } - if (result || diagnostics != null) { - result &= validateAdvanceDirectivesSection_validateAdvanceDirectivesSectionCodeP( - advanceDirectivesSection, diagnostics, context); - } - if (result || diagnostics != null) { - result &= validateAdvanceDirectivesSection_validateAdvanceDirectivesSectionCode( - advanceDirectivesSection, diagnostics, context); - } if (result || diagnostics != null) { result &= validateAdvanceDirectivesSection_validateAdvanceDirectivesSectionTitle( advanceDirectivesSection, diagnostics, context); @@ -56810,76 +56802,76 @@ public boolean validateAdvanceDirectivesSection(AdvanceDirectivesSection advance } /** - * Validates the validateAdvanceDirectivesSectionCodeP constraint of 'Advance Directives Section'. + * Validates the validateAdvanceDirectivesSectionTitle constraint of 'Advance Directives Section'. * * * @generated */ - public boolean validateAdvanceDirectivesSection_validateAdvanceDirectivesSectionCodeP( + public boolean validateAdvanceDirectivesSection_validateAdvanceDirectivesSectionTitle( AdvanceDirectivesSection advanceDirectivesSection, DiagnosticChain diagnostics, Map context) { - return advanceDirectivesSection.validateAdvanceDirectivesSectionCodeP(diagnostics, context); + return advanceDirectivesSection.validateAdvanceDirectivesSectionTitle(diagnostics, context); } /** - * Validates the validateAdvanceDirectivesSectionCode constraint of 'Advance Directives Section'. + * Validates the validateAdvanceDirectivesSectionText constraint of 'Advance Directives Section'. * * * @generated */ - public boolean validateAdvanceDirectivesSection_validateAdvanceDirectivesSectionCode( + public boolean validateAdvanceDirectivesSection_validateAdvanceDirectivesSectionText( AdvanceDirectivesSection advanceDirectivesSection, DiagnosticChain diagnostics, Map context) { - return advanceDirectivesSection.validateAdvanceDirectivesSectionCode(diagnostics, context); + return advanceDirectivesSection.validateAdvanceDirectivesSectionText(diagnostics, context); } /** - * Validates the validateAdvanceDirectivesSectionTitle constraint of 'Advance Directives Section'. + * Validates the validateAdvanceDirectivesSectionAdvanceDirectiveObservation constraint of 'Advance Directives Section'. * * * @generated */ - public boolean validateAdvanceDirectivesSection_validateAdvanceDirectivesSectionTitle( + public boolean validateAdvanceDirectivesSection_validateAdvanceDirectivesSectionAdvanceDirectiveObservation( AdvanceDirectivesSection advanceDirectivesSection, DiagnosticChain diagnostics, Map context) { - return advanceDirectivesSection.validateAdvanceDirectivesSectionTitle(diagnostics, context); + return advanceDirectivesSection.validateAdvanceDirectivesSectionAdvanceDirectiveObservation( + diagnostics, context); } /** - * Validates the validateAdvanceDirectivesSectionText constraint of 'Advance Directives Section'. + * Validates the validateAdvanceDirectivesSectionEntriesOptionalTemplateId constraint of 'Advance Directives Section'. * * * @generated */ - public boolean validateAdvanceDirectivesSection_validateAdvanceDirectivesSectionText( + public boolean validateAdvanceDirectivesSection_validateAdvanceDirectivesSectionEntriesOptionalTemplateId( AdvanceDirectivesSection advanceDirectivesSection, DiagnosticChain diagnostics, Map context) { - return advanceDirectivesSection.validateAdvanceDirectivesSectionText(diagnostics, context); + return advanceDirectivesSection.validateAdvanceDirectivesSectionEntriesOptionalTemplateId(diagnostics, context); } /** - * Validates the validateAdvanceDirectivesSectionAdvanceDirectiveObservation constraint of 'Advance Directives Section'. + * Validates the validateAdvanceDirectivesSectionEntriesOptionalCodeP constraint of 'Advance Directives Section'. * * * @generated */ - public boolean validateAdvanceDirectivesSection_validateAdvanceDirectivesSectionAdvanceDirectiveObservation( + public boolean validateAdvanceDirectivesSection_validateAdvanceDirectivesSectionEntriesOptionalCodeP( AdvanceDirectivesSection advanceDirectivesSection, DiagnosticChain diagnostics, Map context) { - return advanceDirectivesSection.validateAdvanceDirectivesSectionAdvanceDirectiveObservation( - diagnostics, context); + return advanceDirectivesSection.validateAdvanceDirectivesSectionEntriesOptionalCodeP(diagnostics, context); } /** - * Validates the validateAdvanceDirectivesSectionEntriesOptionalTemplateId constraint of 'Advance Directives Section'. + * Validates the validateAdvanceDirectivesSectionEntriesOptionalCode constraint of 'Advance Directives Section'. * * * @generated */ - public boolean validateAdvanceDirectivesSection_validateAdvanceDirectivesSectionEntriesOptionalTemplateId( + public boolean validateAdvanceDirectivesSection_validateAdvanceDirectivesSectionEntriesOptionalCode( AdvanceDirectivesSection advanceDirectivesSection, DiagnosticChain diagnostics, Map context) { - return advanceDirectivesSection.validateAdvanceDirectivesSectionEntriesOptionalTemplateId(diagnostics, context); + return advanceDirectivesSection.validateAdvanceDirectivesSectionEntriesOptionalCode(diagnostics, context); } /** @@ -68896,11 +68888,11 @@ public boolean validateImmunizationsSection(ImmunizationsSection immunizationsSe immunizationsSection, diagnostics, context); } if (result || diagnostics != null) { - result &= validateImmunizationsSectionEntriesOptional_validateImmunizationsSectionEntriesOptionalCode( + result &= validateImmunizationsSection_validateImmunizationsSectionEntriesOptionalCode( immunizationsSection, diagnostics, context); } if (result || diagnostics != null) { - result &= validateImmunizationsSectionEntriesOptional_validateImmunizationsSectionEntriesOptionalCodeP( + result &= validateImmunizationsSection_validateImmunizationsSectionEntriesOptionalCodeP( immunizationsSection, diagnostics, context); } if (result || diagnostics != null) { @@ -68915,14 +68907,6 @@ public boolean validateImmunizationsSection(ImmunizationsSection immunizationsSe result &= validateImmunizationsSectionEntriesOptional_validateImmunizationsSectionEntriesOptionalImmunizationActivity( immunizationsSection, diagnostics, context); } - if (result || diagnostics != null) { - result &= validateImmunizationsSection_validateImmunizationsSectionCodeP( - immunizationsSection, diagnostics, context); - } - if (result || diagnostics != null) { - result &= validateImmunizationsSection_validateImmunizationsSectionCode( - immunizationsSection, diagnostics, context); - } if (result || diagnostics != null) { result &= validateImmunizationsSection_validateImmunizationsSectionTitle( immunizationsSection, diagnostics, context); @@ -68939,69 +68923,69 @@ public boolean validateImmunizationsSection(ImmunizationsSection immunizationsSe } /** - * Validates the validateImmunizationsSectionCodeP constraint of 'Immunizations Section'. + * Validates the validateImmunizationsSectionTitle constraint of 'Immunizations Section'. * * * @generated */ - public boolean validateImmunizationsSection_validateImmunizationsSectionCodeP( + public boolean validateImmunizationsSection_validateImmunizationsSectionTitle( ImmunizationsSection immunizationsSection, DiagnosticChain diagnostics, Map context) { - return immunizationsSection.validateImmunizationsSectionCodeP(diagnostics, context); + return immunizationsSection.validateImmunizationsSectionTitle(diagnostics, context); } /** - * Validates the validateImmunizationsSectionCode constraint of 'Immunizations Section'. + * Validates the validateImmunizationsSectionText constraint of 'Immunizations Section'. * * * @generated */ - public boolean validateImmunizationsSection_validateImmunizationsSectionCode( + public boolean validateImmunizationsSection_validateImmunizationsSectionText( ImmunizationsSection immunizationsSection, DiagnosticChain diagnostics, Map context) { - return immunizationsSection.validateImmunizationsSectionCode(diagnostics, context); + return immunizationsSection.validateImmunizationsSectionText(diagnostics, context); } /** - * Validates the validateImmunizationsSectionTitle constraint of 'Immunizations Section'. + * Validates the validateImmunizationsSectionImmunization constraint of 'Immunizations Section'. * * * @generated */ - public boolean validateImmunizationsSection_validateImmunizationsSectionTitle( + public boolean validateImmunizationsSection_validateImmunizationsSectionImmunization( ImmunizationsSection immunizationsSection, DiagnosticChain diagnostics, Map context) { - return immunizationsSection.validateImmunizationsSectionTitle(diagnostics, context); + return immunizationsSection.validateImmunizationsSectionImmunization(diagnostics, context); } /** - * Validates the validateImmunizationsSectionText constraint of 'Immunizations Section'. + * Validates the validateImmunizationsSectionEntriesOptionalTemplateId constraint of 'Immunizations Section'. * * * @generated */ - public boolean validateImmunizationsSection_validateImmunizationsSectionText( + public boolean validateImmunizationsSection_validateImmunizationsSectionEntriesOptionalTemplateId( ImmunizationsSection immunizationsSection, DiagnosticChain diagnostics, Map context) { - return immunizationsSection.validateImmunizationsSectionText(diagnostics, context); + return immunizationsSection.validateImmunizationsSectionEntriesOptionalTemplateId(diagnostics, context); } /** - * Validates the validateImmunizationsSectionImmunization constraint of 'Immunizations Section'. + * Validates the validateImmunizationsSectionEntriesOptionalCodeP constraint of 'Immunizations Section'. * * * @generated */ - public boolean validateImmunizationsSection_validateImmunizationsSectionImmunization( + public boolean validateImmunizationsSection_validateImmunizationsSectionEntriesOptionalCodeP( ImmunizationsSection immunizationsSection, DiagnosticChain diagnostics, Map context) { - return immunizationsSection.validateImmunizationsSectionImmunization(diagnostics, context); + return immunizationsSection.validateImmunizationsSectionEntriesOptionalCodeP(diagnostics, context); } /** - * Validates the validateImmunizationsSectionEntriesOptionalTemplateId constraint of 'Immunizations Section'. + * Validates the validateImmunizationsSectionEntriesOptionalCode constraint of 'Immunizations Section'. * * * @generated */ - public boolean validateImmunizationsSection_validateImmunizationsSectionEntriesOptionalTemplateId( + public boolean validateImmunizationsSection_validateImmunizationsSectionEntriesOptionalCode( ImmunizationsSection immunizationsSection, DiagnosticChain diagnostics, Map context) { - return immunizationsSection.validateImmunizationsSectionEntriesOptionalTemplateId(diagnostics, context); + return immunizationsSection.validateImmunizationsSectionEntriesOptionalCode(diagnostics, context); } /** @@ -69044,11 +69028,11 @@ public boolean validateVitalSignsSection(VitalSignsSection vitalSignsSection, Di vitalSignsSection, diagnostics, context); } if (result || diagnostics != null) { - result &= validateVitalSignsSectionEntriesOptional_validateVitalSignsSectionEntriesOptionalCode( + result &= validateVitalSignsSection_validateVitalSignsSectionEntriesOptionalCode( vitalSignsSection, diagnostics, context); } if (result || diagnostics != null) { - result &= validateVitalSignsSectionEntriesOptional_validateVitalSignsSectionEntriesOptionalCodeP( + result &= validateVitalSignsSection_validateVitalSignsSectionEntriesOptionalCodeP( vitalSignsSection, diagnostics, context); } if (result || diagnostics != null) { @@ -69063,12 +69047,6 @@ public boolean validateVitalSignsSection(VitalSignsSection vitalSignsSection, Di result &= validateVitalSignsSectionEntriesOptional_validateVitalSignsSectionEntriesOptionalVitalSignsOrganizer( vitalSignsSection, diagnostics, context); } - if (result || diagnostics != null) { - result &= validateVitalSignsSection_validateVitalSignsSectionCodeP(vitalSignsSection, diagnostics, context); - } - if (result || diagnostics != null) { - result &= validateVitalSignsSection_validateVitalSignsSectionCode(vitalSignsSection, diagnostics, context); - } if (result || diagnostics != null) { result &= validateVitalSignsSection_validateVitalSignsSectionText(vitalSignsSection, diagnostics, context); } @@ -69080,58 +69058,58 @@ public boolean validateVitalSignsSection(VitalSignsSection vitalSignsSection, Di } /** - * Validates the validateVitalSignsSectionCodeP constraint of 'Vital Signs Section'. + * Validates the validateVitalSignsSectionText constraint of 'Vital Signs Section'. * * * @generated */ - public boolean validateVitalSignsSection_validateVitalSignsSectionCodeP(VitalSignsSection vitalSignsSection, + public boolean validateVitalSignsSection_validateVitalSignsSectionText(VitalSignsSection vitalSignsSection, DiagnosticChain diagnostics, Map context) { - return vitalSignsSection.validateVitalSignsSectionCodeP(diagnostics, context); + return vitalSignsSection.validateVitalSignsSectionText(diagnostics, context); } /** - * Validates the validateVitalSignsSectionCode constraint of 'Vital Signs Section'. + * Validates the validateVitalSignsSectionVitalSignsOrganizer constraint of 'Vital Signs Section'. * * * @generated */ - public boolean validateVitalSignsSection_validateVitalSignsSectionCode(VitalSignsSection vitalSignsSection, - DiagnosticChain diagnostics, Map context) { - return vitalSignsSection.validateVitalSignsSectionCode(diagnostics, context); + public boolean validateVitalSignsSection_validateVitalSignsSectionVitalSignsOrganizer( + VitalSignsSection vitalSignsSection, DiagnosticChain diagnostics, Map context) { + return vitalSignsSection.validateVitalSignsSectionVitalSignsOrganizer(diagnostics, context); } /** - * Validates the validateVitalSignsSectionText constraint of 'Vital Signs Section'. + * Validates the validateVitalSignsSectionEntriesOptionalTemplateId constraint of 'Vital Signs Section'. * * * @generated */ - public boolean validateVitalSignsSection_validateVitalSignsSectionText(VitalSignsSection vitalSignsSection, - DiagnosticChain diagnostics, Map context) { - return vitalSignsSection.validateVitalSignsSectionText(diagnostics, context); + public boolean validateVitalSignsSection_validateVitalSignsSectionEntriesOptionalTemplateId( + VitalSignsSection vitalSignsSection, DiagnosticChain diagnostics, Map context) { + return vitalSignsSection.validateVitalSignsSectionEntriesOptionalTemplateId(diagnostics, context); } /** - * Validates the validateVitalSignsSectionVitalSignsOrganizer constraint of 'Vital Signs Section'. + * Validates the validateVitalSignsSectionEntriesOptionalCodeP constraint of 'Vital Signs Section'. * * * @generated */ - public boolean validateVitalSignsSection_validateVitalSignsSectionVitalSignsOrganizer( + public boolean validateVitalSignsSection_validateVitalSignsSectionEntriesOptionalCodeP( VitalSignsSection vitalSignsSection, DiagnosticChain diagnostics, Map context) { - return vitalSignsSection.validateVitalSignsSectionVitalSignsOrganizer(diagnostics, context); + return vitalSignsSection.validateVitalSignsSectionEntriesOptionalCodeP(diagnostics, context); } /** - * Validates the validateVitalSignsSectionEntriesOptionalTemplateId constraint of 'Vital Signs Section'. + * Validates the validateVitalSignsSectionEntriesOptionalCode constraint of 'Vital Signs Section'. * * * @generated */ - public boolean validateVitalSignsSection_validateVitalSignsSectionEntriesOptionalTemplateId( + public boolean validateVitalSignsSection_validateVitalSignsSectionEntriesOptionalCode( VitalSignsSection vitalSignsSection, DiagnosticChain diagnostics, Map context) { - return vitalSignsSection.validateVitalSignsSectionEntriesOptionalTemplateId(diagnostics, context); + return vitalSignsSection.validateVitalSignsSectionEntriesOptionalCode(diagnostics, context); } /** diff --git a/models/org.openhealthtools.mdht.uml.cda.consol2.model/model/.controlled/consol-advancedirectives.uml b/models/org.openhealthtools.mdht.uml.cda.consol2.model/model/.controlled/consol-advancedirectives.uml index 990a6291e..c539c20bd 100644 --- a/models/org.openhealthtools.mdht.uml.cda.consol2.model/model/.controlled/consol-advancedirectives.uml +++ b/models/org.openhealthtools.mdht.uml.cda.consol2.model/model/.controlled/consol-advancedirectives.uml @@ -265,7 +265,7 @@ b. If a URL is referenced, then it SHOULD have a corresponding linkHTML element couple - + @@ -314,6 +314,7 @@ NOTE: The descriptions in this section differentiate between "advance direc + diff --git a/models/org.openhealthtools.mdht.uml.cda.consol2.model/model/.controlled/consol-allergies.uml b/models/org.openhealthtools.mdht.uml.cda.consol2.model/model/.controlled/consol-allergies.uml index 0d355fb0e..a8d3de322 100644 --- a/models/org.openhealthtools.mdht.uml.cda.consol2.model/model/.controlled/consol-allergies.uml +++ b/models/org.openhealthtools.mdht.uml.cda.consol2.model/model/.controlled/consol-allergies.uml @@ -55,6 +55,7 @@ + diff --git a/models/org.openhealthtools.mdht.uml.cda.consol2.model/model/.controlled/consol-discharge.uml b/models/org.openhealthtools.mdht.uml.cda.consol2.model/model/.controlled/consol-discharge.uml index f2e6d99d2..872fcd03e 100644 --- a/models/org.openhealthtools.mdht.uml.cda.consol2.model/model/.controlled/consol-discharge.uml +++ b/models/org.openhealthtools.mdht.uml.cda.consol2.model/model/.controlled/consol-discharge.uml @@ -1,1165 +1,1167 @@ - - - - - This section records a narrative description of the expectations for diet, including proposals, goals, and order requests for monitoring, tracking, or improving the dietary control of the patient, used in a discharge from a facility such as an emergency department, hospital, or nursing home. - - - - - - - - - - - - - - - - - - - - - - - - CONF:10455 - - - - CONF:15460 - - - - The Discharge Medications entry codes medications that the patient is intended to take (or stop) after discharge. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CONF:16760 - CONF:16761 - - - CONF:7689 - R2.0=CONF:1098-7689 - - - CONF:7690 - R2.0=CONF:1098-7690 - - - - CONF:7691 - - - CONF:7692 - CONF:7693 - CONF:15525 - - - - The Hospital Course section describes the sequence of events from admission to discharge in a hospital facility. - - - - - - - - - - - - - - - - - - - - - - CONF:10459 - - - - CONF:15488 - - - CONF:7854 - - - CONF:7855 - - - - The Hospital Discharge Diagnosis act wraps relevant problems or diagnoses at the time of discharge that occurred during the hospitalization or that need to be followed after hospitalization. This entry requires at least one Problem Observation entry. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CONF:16764, CONF:16765 - - - CONF:7663, R2.1=CONF:1198-7663 - - - CONF:7664, R2.1=CONF:1198-7664 - - - - CONF:7665 - - - CONF:7666, CONF:7667, CONF:15536 - - - - The Hospital Discharge Diagnosis section describes the relevant problems or diagnoses at the time of discharge that occurred during the hospitalization or that need to be followed after hospitalization. This section includes an optional entry to record patient conditions. - - - - - - - - - - - - - - - - - - - - - - - - - CONF:7979, CONF:10394 - - - - CONF:15356 - - - CONF:7981, R2.1=CONF:1198-7981 - - - CONF:7982, R2.1=CONF:1198-7982 - - - - The Hospital Discharge Instructions section records instructions at discharge. - - - - - - - - - - - - - - - - - - - - - - - - - CONF:10395 - - - - CONF:15358 - - - CONF:9921 - - - CONF:9922 - - - - The Hospital Discharge Medications section defines the medications that the patient is intended to take (or stop) after discharge. The currently active medications must be listed. The section may also include a patient's prescription history and indicate the source of the medication list, for example, from a pharmacy system versus from the patient. - - - - couple - - - - - - - - - - - - - - - - - - - - - - - - - - CONF:10397 - - - - - The Hospital Discharge Medications section defines the medications that the patient is intended to take (or stop) after discharge. The currently active medications must be listed. The section may also include a patient's prescription history and indicate the source of the medication list, for example, from a pharmacy system versus from the patient. - - - - - - - - - - - - - - - - - - - - - - - - - - CONF:7816, CONF:10396 - - - - CONF:15360 - - - CONF:7818, R2.1=CONF:1198-7818 - - - CONF:7819, R2.1=CONF:1198-7819 - - - - The Hospital Discharge Physical section records a narrative description of the patient's physical findings. - - - - - - - - - - - - - - - - - - - - - - - - - CONF:10460 - - - - CONF:15364 - - - CONF:7973 - - - CONF:7974 - - - - This section records the results of observations generated by laboratories, imaging procedures, and other procedures. The scope includes hematology, chemistry, serology, virology, toxicology, microbiology, plain x-ray, ultrasound, CT, MRI, angiography, echocardiography, nuclear medicine, pathology, and procedure observations. This section often includes notable results such as abnormal values or relevant trends, and could record all results for the period of time being documented. -Laboratory results are typically generated by laboratories providing analytic services in areas such as chemistry, hematology, serology, histology, cytology, anatomic pathology, microbiology, and/or virology. These observations are based on analysis of specimens obtained from the patient and submitted to the laboratory. -Imaging results are typically generated by a clinician reviewing the output of an imaging procedure, such as where a cardiologist reports the left ventricular ejection fraction based on the review of an echocardiogram. -Procedure results are typically generated by a clinician wanting to provide more granular information about component observations made during the performance of a procedure, such as when a gastroenterologist reports the size of a polyp observed during a colonoscopy. -Note that there are discrepancies between CCD and the lab domain model, such as the effectiveTime in specimen collection. - - - - - - - - - - - - - - - - - - - - - - - - - CONF:10398 - - - - CONF:15366 - - - CONF:7912 - - - CONF:7913 - - - - - - - - - - - - CONF:7977 - - - CONF:7978 - - - - CONF:15362 - - - CONF:7825 - - - CONF:7824 - - - CONF:15459 - - - CONF:15487 - - - CONF:15355 - - - CONF:15357 - - - CONF:15361 - - - CONF:15359 - - - CONF:15363 - - - CONF:15365 - - - - This template represents the sender (author) and receivers (participants) of a handoff communication in a plan of treatment. It does not convey details about the communication. The "handoff" process involves senders, those transmitting the patient's information and releasing the care of that patient to the next clinician, and receivers, those who accept the patient information and care of that patient. - - - - - - - - - - - - - - - - - - - - - - - - - - - The effective time is the time when the handoff process took place between the sender and receiver of the patient information. This could be the time the information was transmitted, released, or verbally communicated to the next clinician. - - - - - - - - - The Author Participant contains the sender's contact information and is a resource for the Information Recipient for any follow-up questions. - - - - - - - - Documentation of the Information Recipient's name and address verifies that the information was exchanged. - - - - - - - - - INLINE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CONF:1098-30834 - CONF:1098-30835 - - - CONF:1098-30832 - - - CONF:1098-30833 - - - CONF:1098-30836 - - - CONF:1098-31668 - - - CONF:1098-31670 - - - - CONF:1098-31669 - - - - CONF:1098-30837 - CONF:1098-30838 - - - CONF:1098-31674 - - - - - CONF:1098-31676 - - - - <p> -This template represents the outcome of care resulting from the interventions used to treat the patient. In the Care Planning workflow, the judgment about how well the person is progressing towards the goal is based on the observations made about the status of the patient with respect to interventions performed in the pursuit of achieving that goal. -</p> -<p> -Often thought of as an "actual outcome", the Outcome Observation may be related to goals, progression toward goals, and the associated interventions. For example, an observation outcome of a blood oxygen saturation level of 95% is related to the goal of "Maintain Pulse Ox greater than 92", which in turn is related to the health concern of respiratory insufficiency and the problem of pneumonia. The template makes use of the Entry Reference (templateId:2.16.840.1.113883.10.20.22.4.122) to reference the interventions and goals defined elsewhere in the Care Plan CDA instance. -</p> - - - - Analysis - OCL - The Progress Toward Goal Observation entryRelationship, if present, SHALL contain exactly one [1..1] @inversionInd="true" - self.entryRelationship->select(er : cda::EntryRelationship | er.observation.oclIsTypeOf(consol::ProgressTowardGoalObservation))->forAll(ent : cda::EntryRelationship | ent.inversionInd=true) - - - - - Analysis - The entryReference for the entryRelationship which contains @typeCode="GEVL" and contains an entryReference template SHALL reference an instance of a Goal Observation template - - - - - Analysis - The entryReference for the entryRelationship which contains @typeCode="RSON" and contains an entryReference template SHALL reference an instance of an Intervention Act template - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The following entryRelationship represents the relationship between an Outcome Observation and a Goal Observation. Because the Goal Observation is already described in the CDA document instance's Goals section, rather than repeating the full content of the Goal Observation, the Entry Reference template can be used to reference this entry. - - - - - - - - The following entryRelationship represents the relationship between an Outcome Observation and a Progress Toward Goal Observation (Outcome Observation SUPPORTS Progress Toward Goal Observation). In the Care Planning workflow, the judgment about how well the person is progressing towards the goal is based on the observations made about the status of the patient with respect to interventions performed in the pursuit of achieving that goal. - - - - - - - - Where an Outcome Observation needs to reference an Intervention Act already described in the CDA document instance, rather than repeating the full content of the Intervention Act, the Entry Reference template may be used to reference this entry. - - - - - - - - - - - - - - - - - - - - - - - - - - - INLINE - - - - - - - - - - - - - - - - - - CONF:1098-31221 - CONF:1098-31222 - - - CONF:1098-31219 - - - CONF:1098-31220 - - - CONF:1098-31223 - - - - - - CONF:1098-31224 - CONF:1098-31225 - CONF:1098-32465 - - - - - - CONF:1098-31688 - CONF:1098-31689 - CONF:1098-31690 - - - - This template represents observations regarding the outcome of care from the interventions used to treat the patient. These observations represent status, at points in time, related to established care plan goals and/or interventions. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CONF:1098-29578 - CONF:1098-29579 - - - CONF:1098-29580 - - - CONF:1098-29589 - - - CONF:1098-29590 - - - - CONF:1098-29581 - CONF:1098-29582 - - - - - - CONF:1098-31227 - CONF:1098-31228 - - - - - - CONF:1098-31672 - - - - - - CONF:1098-31553 - - - - - - CONF:1098-31427 - CONF:1098-31428 - CONF:1098-31430 - - - CONF:1098-31429 - - - - This template represents medications that the patient is intended to take (or stop) after discharge. - - - - - - - - - - - - - - - - - - INLINE - - - - - - - - - - - - - - CONF:1098-16760 - CONF:1098-16761 - CONF:1098-32513 - - - - - CONF:1098-19161 - DSTU:820 - CONF:1098-32159 - - - CONF:1098-7691 - - - - This template represents problems or diagnoses present at the time of discharge which occurred during the hospitalization or need to be monitored after hospitalization. It requires at least one Problem Observation entry. - - - - - - - - - - - - - - CONF:1198-16764, CONF:1198-16765, CONF:1198-32534 - - - - - CONF:1198-19148, CONF:1198-32163 - - - CONF:1198-19147 - - - - - - CONF:1098-7692 - CONF:1098-7693 - CONF:1098-15525 - - - - - - CONF:1198-7666, CONF:1198-7667, CONF:1198-15536 - - - - <p>This template represents problems or diagnoses present at the time of discharge which occurred during the hospitalization. This section includes an optional entry to record patient diagnoses specific to this visit. Problems that need ongoing tracking should also be included in the Problem Section. DSTU:1238</p> - - - - - - - - - - - INLINE - - - - - - - - - - - - - - CONF:1198-7979, CONF:1198-10394, CONF:1198-15355 - - - - - CONF:1198-15356, CONF:1198-30861 - - - CONF:1198-15355 - - - - - - CONF:1198-7983, CONF:1198-15489 - - - - This section contains the medications the patient is intended to take or stop after discharge. Current, active medications must be listed. The section may also include a patient's prescription history and indicate the source of the medication list. - - - - - - - - - - - INLINE - - - - - - - - - - - - - - CONF:1198-7816, CONF:1198-10396, CONF:1198-32561 - - - - - - - CONF:1198-7820, CONF:1198-15490 - - - - This section contains the medications the patient is intended to take or stop after discharge. Current, active medications must be listed. The section may also include a patient's prescription history and indicate the source of the medication list. - - - - - - - - - - - - - - If section/@nullFlavor is not present: - - - - - - - - - - - - - - - - - INLINE - - - - - - - - - - - - - - CONF:1198-7822, CONF:1198-10397, CONF:1198-32562 - - - - - CONF:1198-15362, CONF:1198-32145 - - - CONF:1198-15361 - - - - - - CONF:1198-7826 - CONF:1198-15491 - DSTU:820 - - - CONF:1198-7825 - - - CONF:1198-7824 - - - - CONF:1198-15360, CONF:1198-32480 - - - CONF:1198-15359 - - - CONF:1198-32812 - - - CONF:1098-32779 - - - - CONF:1098-32780 - - - CONF:1098-32821 - - - CONF:1098-32422 - - - CONF:1098-32392 - - - CONF:1098-32394 - - - - - CONF:1098-32746 - - - CONF:1098-32747 - - - CONF:1098-32461 - - - CONF:1098-32462 - - - - - - CONF:1098-32763 - - - CONF:1098-32764 - - - - - - CONF:1098-32765 - - - - - - CONF:1098-32782 - - - CONF:1198-32834 - - - - CONF:1198-32835 - CONF:1198-32836 - - - CONF:1198-32857 - - - - CONF:1198-32858 - CONF:1198-32859 - - - CONF:1198-32854 - - - - CONF:1198-32855 - CONF:1198-32856 - - - CONF:NEW - DSTU:820 - - - - CONF:NEW - DSTU:820 - - + + + + + This section records a narrative description of the expectations for diet, including proposals, goals, and order requests for monitoring, tracking, or improving the dietary control of the patient, used in a discharge from a facility such as an emergency department, hospital, or nursing home. + + + + + + + + + + + + + + + + + + + + + + + + + CONF:10455 + + + + CONF:15460 + + + + The Discharge Medications entry codes medications that the patient is intended to take (or stop) after discharge. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CONF:16760 + CONF:16761 + + + CONF:7689 + R2.0=CONF:1098-7689 + + + CONF:7690 + R2.0=CONF:1098-7690 + + + + CONF:7691 + + + CONF:7692 + CONF:7693 + CONF:15525 + + + + The Hospital Course section describes the sequence of events from admission to discharge in a hospital facility. + + + + + + + + + + + + + + + + + + + + + + CONF:10459 + + + + CONF:15488 + + + CONF:7854 + + + CONF:7855 + + + + The Hospital Discharge Diagnosis act wraps relevant problems or diagnoses at the time of discharge that occurred during the hospitalization or that need to be followed after hospitalization. This entry requires at least one Problem Observation entry. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CONF:16764, CONF:16765 + + + CONF:7663, R2.1=CONF:1198-7663 + + + CONF:7664, R2.1=CONF:1198-7664 + + + + CONF:7665 + + + CONF:7666, CONF:7667, CONF:15536 + + + + The Hospital Discharge Diagnosis section describes the relevant problems or diagnoses at the time of discharge that occurred during the hospitalization or that need to be followed after hospitalization. This section includes an optional entry to record patient conditions. + + + + + + + + + + + + + + + + + + + + + + + + + + CONF:7979, CONF:10394 + + + + CONF:15356 + + + CONF:7981, R2.1=CONF:1198-7981 + + + CONF:7982, R2.1=CONF:1198-7982 + + + + The Hospital Discharge Instructions section records instructions at discharge. + + + + + + + + + + + + + + + + + + + + + + + + + CONF:10395 + + + + CONF:15358 + + + CONF:9921 + + + CONF:9922 + + + + The Hospital Discharge Medications section defines the medications that the patient is intended to take (or stop) after discharge. The currently active medications must be listed. The section may also include a patient's prescription history and indicate the source of the medication list, for example, from a pharmacy system versus from the patient. + + + + couple + + + + + + + + + + + + + + + + + + + + + + + + + + CONF:10397 + + + + + The Hospital Discharge Medications section defines the medications that the patient is intended to take (or stop) after discharge. The currently active medications must be listed. The section may also include a patient's prescription history and indicate the source of the medication list, for example, from a pharmacy system versus from the patient. + + + + + + + + + + + + + + + + + + + + + + + + + + CONF:7816, CONF:10396 + + + + CONF:15360 + + + CONF:7818, R2.1=CONF:1198-7818 + + + CONF:7819, R2.1=CONF:1198-7819 + + + + The Hospital Discharge Physical section records a narrative description of the patient's physical findings. + + + + + + + + + + + + + + + + + + + + + + + + + CONF:10460 + + + + CONF:15364 + + + CONF:7973 + + + CONF:7974 + + + + This section records the results of observations generated by laboratories, imaging procedures, and other procedures. The scope includes hematology, chemistry, serology, virology, toxicology, microbiology, plain x-ray, ultrasound, CT, MRI, angiography, echocardiography, nuclear medicine, pathology, and procedure observations. This section often includes notable results such as abnormal values or relevant trends, and could record all results for the period of time being documented. +Laboratory results are typically generated by laboratories providing analytic services in areas such as chemistry, hematology, serology, histology, cytology, anatomic pathology, microbiology, and/or virology. These observations are based on analysis of specimens obtained from the patient and submitted to the laboratory. +Imaging results are typically generated by a clinician reviewing the output of an imaging procedure, such as where a cardiologist reports the left ventricular ejection fraction based on the review of an echocardiogram. +Procedure results are typically generated by a clinician wanting to provide more granular information about component observations made during the performance of a procedure, such as when a gastroenterologist reports the size of a polyp observed during a colonoscopy. +Note that there are discrepancies between CCD and the lab domain model, such as the effectiveTime in specimen collection. + + + + + + + + + + + + + + + + + + + + + + + + + CONF:10398 + + + + CONF:15366 + + + CONF:7912 + + + CONF:7913 + + + + + + + + + + + + CONF:7977 + + + CONF:7978 + + + + CONF:15362 + + + CONF:7825 + + + CONF:7824 + + + CONF:15459 + + + CONF:15487 + + + CONF:15355 + + + CONF:15357 + + + CONF:15361 + + + CONF:15359 + + + CONF:15363 + + + CONF:15365 + + + + This template represents the sender (author) and receivers (participants) of a handoff communication in a plan of treatment. It does not convey details about the communication. The "handoff" process involves senders, those transmitting the patient's information and releasing the care of that patient to the next clinician, and receivers, those who accept the patient information and care of that patient. + + + + + + + + + + + + + + + + + + + + + + + + + + + The effective time is the time when the handoff process took place between the sender and receiver of the patient information. This could be the time the information was transmitted, released, or verbally communicated to the next clinician. + + + + + + + + + The Author Participant contains the sender's contact information and is a resource for the Information Recipient for any follow-up questions. + + + + + + + + Documentation of the Information Recipient's name and address verifies that the information was exchanged. + + + + + + + + + INLINE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CONF:1098-30834 + CONF:1098-30835 + + + CONF:1098-30832 + + + CONF:1098-30833 + + + CONF:1098-30836 + + + CONF:1098-31668 + + + CONF:1098-31670 + + + + CONF:1098-31669 + + + + CONF:1098-30837 + CONF:1098-30838 + + + CONF:1098-31674 + + + + + CONF:1098-31676 + + + + <p> +This template represents the outcome of care resulting from the interventions used to treat the patient. In the Care Planning workflow, the judgment about how well the person is progressing towards the goal is based on the observations made about the status of the patient with respect to interventions performed in the pursuit of achieving that goal. +</p> +<p> +Often thought of as an "actual outcome", the Outcome Observation may be related to goals, progression toward goals, and the associated interventions. For example, an observation outcome of a blood oxygen saturation level of 95% is related to the goal of "Maintain Pulse Ox greater than 92", which in turn is related to the health concern of respiratory insufficiency and the problem of pneumonia. The template makes use of the Entry Reference (templateId:2.16.840.1.113883.10.20.22.4.122) to reference the interventions and goals defined elsewhere in the Care Plan CDA instance. +</p> + + + + Analysis + OCL + The Progress Toward Goal Observation entryRelationship, if present, SHALL contain exactly one [1..1] @inversionInd="true" + self.entryRelationship->select(er : cda::EntryRelationship | er.observation.oclIsTypeOf(consol::ProgressTowardGoalObservation))->forAll(ent : cda::EntryRelationship | ent.inversionInd=true) + + + + + Analysis + The entryReference for the entryRelationship which contains @typeCode="GEVL" and contains an entryReference template SHALL reference an instance of a Goal Observation template + + + + + Analysis + The entryReference for the entryRelationship which contains @typeCode="RSON" and contains an entryReference template SHALL reference an instance of an Intervention Act template + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The following entryRelationship represents the relationship between an Outcome Observation and a Goal Observation. Because the Goal Observation is already described in the CDA document instance's Goals section, rather than repeating the full content of the Goal Observation, the Entry Reference template can be used to reference this entry. + + + + + + + + The following entryRelationship represents the relationship between an Outcome Observation and a Progress Toward Goal Observation (Outcome Observation SUPPORTS Progress Toward Goal Observation). In the Care Planning workflow, the judgment about how well the person is progressing towards the goal is based on the observations made about the status of the patient with respect to interventions performed in the pursuit of achieving that goal. + + + + + + + + Where an Outcome Observation needs to reference an Intervention Act already described in the CDA document instance, rather than repeating the full content of the Intervention Act, the Entry Reference template may be used to reference this entry. + + + + + + + + + + + + + + + + + + + + + + + + + + + INLINE + + + + + + + + + + + + + + + + + + CONF:1098-31221 + CONF:1098-31222 + + + CONF:1098-31219 + + + CONF:1098-31220 + + + CONF:1098-31223 + + + + + + CONF:1098-31224 + CONF:1098-31225 + CONF:1098-32465 + + + + + + CONF:1098-31688 + CONF:1098-31689 + CONF:1098-31690 + + + + This template represents observations regarding the outcome of care from the interventions used to treat the patient. These observations represent status, at points in time, related to established care plan goals and/or interventions. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CONF:1098-29578 + CONF:1098-29579 + + + CONF:1098-29580 + + + CONF:1098-29589 + + + CONF:1098-29590 + + + + CONF:1098-29581 + CONF:1098-29582 + + + + + + CONF:1098-31227 + CONF:1098-31228 + + + + + + CONF:1098-31672 + + + + + + CONF:1098-31553 + + + + + + CONF:1098-31427 + CONF:1098-31428 + CONF:1098-31430 + + + CONF:1098-31429 + + + + This template represents medications that the patient is intended to take (or stop) after discharge. + + + + + + + + + + + + + + + + + + INLINE + + + + + + + + + + + + + + CONF:1098-16760 + CONF:1098-16761 + CONF:1098-32513 + + + + + CONF:1098-19161 + DSTU:820 + CONF:1098-32159 + + + CONF:1098-7691 + + + + This template represents problems or diagnoses present at the time of discharge which occurred during the hospitalization or need to be monitored after hospitalization. It requires at least one Problem Observation entry. + + + + + + + + + + + + + + CONF:1198-16764, CONF:1198-16765, CONF:1198-32534 + + + + + CONF:1198-19148, CONF:1198-32163 + + + CONF:1198-19147 + + + + + + CONF:1098-7692 + CONF:1098-7693 + CONF:1098-15525 + + + + + + CONF:1198-7666, CONF:1198-7667, CONF:1198-15536 + + + + <p>This template represents problems or diagnoses present at the time of discharge which occurred during the hospitalization. This section includes an optional entry to record patient diagnoses specific to this visit. Problems that need ongoing tracking should also be included in the Problem Section. DSTU:1238</p> + + + + + + + + + + + INLINE + + + + + + + + + + + + + + CONF:1198-7979, CONF:1198-10394, CONF:1198-15355 + + + + + CONF:1198-15356, CONF:1198-30861 + + + CONF:1198-15355 + + + + + + CONF:1198-7983, CONF:1198-15489 + + + + This section contains the medications the patient is intended to take or stop after discharge. Current, active medications must be listed. The section may also include a patient's prescription history and indicate the source of the medication list. + + + + + + + + + + + INLINE + + + + + + + + + + + + + + CONF:1198-7816, CONF:1198-10396, CONF:1198-32561 + + + + + + + CONF:1198-7820, CONF:1198-15490 + + + + This section contains the medications the patient is intended to take or stop after discharge. Current, active medications must be listed. The section may also include a patient's prescription history and indicate the source of the medication list. + + + + + + + + + + + + + + If section/@nullFlavor is not present: + + + + + + + + + + + + + + + + + INLINE + + + + + + + + + + + + + + CONF:1198-7822, CONF:1198-10397, CONF:1198-32562 + + + + + CONF:1198-15362, CONF:1198-32145 + + + CONF:1198-15361 + + + + + + CONF:1198-7826 + CONF:1198-15491 + DSTU:820 + + + CONF:1198-7825 + + + CONF:1198-7824 + + + + CONF:1198-15360, CONF:1198-32480 + + + CONF:1198-15359 + + + CONF:1198-32812 + + + CONF:1098-32779 + + + + CONF:1098-32780 + + + CONF:1098-32821 + + + CONF:1098-32422 + + + CONF:1098-32392 + + + CONF:1098-32394 + + + + + CONF:1098-32746 + + + CONF:1098-32747 + + + CONF:1098-32461 + + + CONF:1098-32462 + + + + + + CONF:1098-32763 + + + CONF:1098-32764 + + + + + + CONF:1098-32765 + + + + + + CONF:1098-32782 + + + CONF:1198-32834 + + + + CONF:1198-32835 + CONF:1198-32836 + + + CONF:1198-32857 + + + + CONF:1198-32858 + CONF:1198-32859 + + + CONF:1198-32854 + + + + CONF:1198-32855 + CONF:1198-32856 + + + CONF:NEW + DSTU:820 + + + + CONF:NEW + DSTU:820 + + diff --git a/models/org.openhealthtools.mdht.uml.cda.consol2.model/model/.controlled/consol-encounters.uml b/models/org.openhealthtools.mdht.uml.cda.consol2.model/model/.controlled/consol-encounters.uml index 991093f2a..81e03c3a8 100644 --- a/models/org.openhealthtools.mdht.uml.cda.consol2.model/model/.controlled/consol-encounters.uml +++ b/models/org.openhealthtools.mdht.uml.cda.consol2.model/model/.controlled/consol-encounters.uml @@ -51,6 +51,7 @@ + diff --git a/models/org.openhealthtools.mdht.uml.cda.consol2.model/model/.controlled/consol-familyhistory.uml b/models/org.openhealthtools.mdht.uml.cda.consol2.model/model/.controlled/consol-familyhistory.uml index 1d0eb4d35..4db4c6592 100644 --- a/models/org.openhealthtools.mdht.uml.cda.consol2.model/model/.controlled/consol-familyhistory.uml +++ b/models/org.openhealthtools.mdht.uml.cda.consol2.model/model/.controlled/consol-familyhistory.uml @@ -1,502 +1,503 @@ - - - - - This clinical statement records whether the family member is deceased - - - - - - - - - - - - - - - - - - - - - - - - - - - - CONF:8623 - CONF:10495 - - - - - - - CONF:8622 - - - - CONF:8625 - - - - Family History Observations related to a particular family member are contained within a Family History Organizer. The effectiveTime in the Family History Observation is the biologically or clinically relevant time of the observation. The biologically or clinically relevant time is the time at which the observation holds (is effective) for the family member (the subject of the observation). - - - - Analysis - OCL - entryRelationship with target entry Age Observation SHALL contain exactly one [1..1] @inversionInd="true" True - self.entryRelationship->forAll(ent : cda::EntryRelationship | ent.observation.oclIsTypeOf(consol::AgeObservation) implies ent.inversionInd=true) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CONF:10496 - - - - - - - - - - CONF:8592, R2.1=CONF:1198-8592 - - - - CONF:8589 - - - - CONF:8590, R2.1=CONF:1198-19098 - - - CONF:8675, CONF:8676, CONF:15526, R2.1=CONF:1198-8675, R2.1=CONF:1198-8676, R2.1=CONF:1198-15526 - - - - The Family History Oranizer associates a set of observations with a family member. For example, the Family History Organizer can group a set of observations about the patient's father. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - INLINE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - UNIMPLEMENTABLE - - - Analysis - age of a relative at the time of a family history observation SHOULD be inferred by comparing RelatedSubject/subject/birthTime with Observation/effectiveTime - - - - - - - - - - - - - - - - - - - - The prefix sdtc: SHALL be bound to the namespace "urn:hl7-org:sdtc". The use of the namespace provides a necessary extension to CDA R2 for the use of the deceasedInd element. - - - - - - - - The prefix sdtc: SHALL be bound to the namespace "urn:hl7-org:sdtc". The use of the namespace provides a necessary extension to CDA R2 for the use of the deceasedTime element. - - - - - - - - The prefix sdtc: SHALL be bound to the namespace "urn:hl7-org:sdtc". The use of the namespace provides a necessary extension to CDA R2 for the use of the id element. - - - - - - - - - - - - - - - CONF:10497 - - - - - - - - - - - - - - - - - - - - - CONF:8600, R2.1=CONF:1198-8600 - - - CONF:8601, R2.1=CONF:1198-8601 - - - - - - - CONF:8607, CONF:16888 - - - - This section contains data defining the patient's genetic relatives in terms of possible or relevant health risk factors that have a potential impact on the patient's healthcare risk profile. - - - - - - - - - - - - - - - - - - - - - - - - - CONF:10388 - - - - CONF:15470, R2.1=CONF:1198-15470, R2.1=CONF:1198-32481 - - - CONF:7934, R2.1=CONF:1198-7934 - - - CONF:7935, R2.1=CONF:1198-7935 - - - CONF:7955 - - - CONF:8586, R2.1=CONF:1198-8586 - - - CONF:8587, R2.1=CONF:1198-8587 - - - CONF:8593, R2.1=CONF:1198-8593 - - - - CONF:8591, CONF:1198-8591 - - - CONF:8678, CONF:8679, CONF:15527, R2.1=CONF:1198-8678, R2.1=CONF:1198-8679, R2.1=CONF:1198-15527 - - - CONF:8677, R2.1=CONF:1198-8677 - - - CONF:8621 - - - - CONF:16889 - - - - CONF:Pending - - - - CONF:15245, R2.1=CONF:1198-15245 - - - - CONF:15247 - R2.1=CONF:1198-15247 - DSTU:915 - - - CONF:15246, R2.1=CONF:1198-15246 - - - CONF:15249, R2.1=CONF:1198-15249 - - - CONF:15974, R2.1=CONF:1198-15974 - - - CONF:15976, R2.1=CONF:1198-15976 - - - CONF:15981, R2.1=CONF:1198-15981 - - - CONF:15982, R2.1=CONF:1198-15982 - - - CONF:15983, R2.1=CONF:1198-15983 - - - - CONF:15975, R2.1=CONF:1198-15975 - - - CONF:15469, R2.1=CONF:1198-15469 - - - CONF:8626 - - - - Family History Observations related to a particular family member are contained within a Family History Organizer. The effectiveTime in the Family History Observation is the biologically or clinically relevant time of the observation. The biologically or clinically relevant time is the time at which the observation holds (is effective) for the family member (the subject of the observation). - - - - - - - INLINE - - - - - - - - - - - - - - CONF:1198-8599, CONF:1198-10496, CONF:1198-32605 - - - - - CONF:1198-32427 - - - - R2.1=CONF:1198-8590 - - - - The Family History Organizer associates a set of observations with a family member. For example, the Family History Organizer can group a set of observations about the patient's father. - - - - - - - - - - - - - - - - CONF:1198-8604, CONF:1198-10497, CONF:1198-32606 - - - CONF:1198-32485 - - - R2.1=CONF:1198-8602 - - - - CONF:8602, R2.1=CONF:1198-19099 - - - - - - CONF:1198-32428, CONF:1198-32429 - - - - This section contains data defining the patient's genetic relatives in terms of possible or relevant health risk factors that have a potential impact on the patient's healthcare risk profile. - - - - - - - - - - CONF:1198-7932, CONF:1198-10388, CONF:1198-32607 - - - - - - - CONF:1198-32430, CONF:1198-32431 - - - - - CONF:1198-32847 - - - + + + + + This clinical statement records whether the family member is deceased + + + + + + + + + + + + + + + + + + + + + + + + + + + + CONF:8623 + CONF:10495 + + + + + + + CONF:8622 + + + + CONF:8625 + + + + Family History Observations related to a particular family member are contained within a Family History Organizer. The effectiveTime in the Family History Observation is the biologically or clinically relevant time of the observation. The biologically or clinically relevant time is the time at which the observation holds (is effective) for the family member (the subject of the observation). + + + + Analysis + OCL + entryRelationship with target entry Age Observation SHALL contain exactly one [1..1] @inversionInd="true" True + self.entryRelationship->forAll(ent : cda::EntryRelationship | ent.observation.oclIsTypeOf(consol::AgeObservation) implies ent.inversionInd=true) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CONF:10496 + + + + + + + + + + CONF:8592, R2.1=CONF:1198-8592 + + + + CONF:8589 + + + + CONF:8590, R2.1=CONF:1198-19098 + + + CONF:8675, CONF:8676, CONF:15526, R2.1=CONF:1198-8675, R2.1=CONF:1198-8676, R2.1=CONF:1198-15526 + + + + The Family History Oranizer associates a set of observations with a family member. For example, the Family History Organizer can group a set of observations about the patient's father. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + INLINE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UNIMPLEMENTABLE + + + Analysis + age of a relative at the time of a family history observation SHOULD be inferred by comparing RelatedSubject/subject/birthTime with Observation/effectiveTime + + + + + + + + + + + + + + + + + + + + The prefix sdtc: SHALL be bound to the namespace "urn:hl7-org:sdtc". The use of the namespace provides a necessary extension to CDA R2 for the use of the deceasedInd element. + + + + + + + + The prefix sdtc: SHALL be bound to the namespace "urn:hl7-org:sdtc". The use of the namespace provides a necessary extension to CDA R2 for the use of the deceasedTime element. + + + + + + + + The prefix sdtc: SHALL be bound to the namespace "urn:hl7-org:sdtc". The use of the namespace provides a necessary extension to CDA R2 for the use of the id element. + + + + + + + + + + + + + + + CONF:10497 + + + + + + + + + + + + + + + + + + + + + CONF:8600, R2.1=CONF:1198-8600 + + + CONF:8601, R2.1=CONF:1198-8601 + + + + + + + CONF:8607, CONF:16888 + + + + This section contains data defining the patient's genetic relatives in terms of possible or relevant health risk factors that have a potential impact on the patient's healthcare risk profile. + + + + + + + + + + + + + + + + + + + + + + + + + + CONF:10388 + + + + CONF:15470, R2.1=CONF:1198-15470, R2.1=CONF:1198-32481 + + + CONF:7934, R2.1=CONF:1198-7934 + + + CONF:7935, R2.1=CONF:1198-7935 + + + CONF:7955 + + + CONF:8586, R2.1=CONF:1198-8586 + + + CONF:8587, R2.1=CONF:1198-8587 + + + CONF:8593, R2.1=CONF:1198-8593 + + + + CONF:8591, CONF:1198-8591 + + + CONF:8678, CONF:8679, CONF:15527, R2.1=CONF:1198-8678, R2.1=CONF:1198-8679, R2.1=CONF:1198-15527 + + + CONF:8677, R2.1=CONF:1198-8677 + + + CONF:8621 + + + + CONF:16889 + + + + CONF:Pending + + + + CONF:15245, R2.1=CONF:1198-15245 + + + + CONF:15247 + R2.1=CONF:1198-15247 + DSTU:915 + + + CONF:15246, R2.1=CONF:1198-15246 + + + CONF:15249, R2.1=CONF:1198-15249 + + + CONF:15974, R2.1=CONF:1198-15974 + + + CONF:15976, R2.1=CONF:1198-15976 + + + CONF:15981, R2.1=CONF:1198-15981 + + + CONF:15982, R2.1=CONF:1198-15982 + + + CONF:15983, R2.1=CONF:1198-15983 + + + + CONF:15975, R2.1=CONF:1198-15975 + + + CONF:15469, R2.1=CONF:1198-15469 + + + CONF:8626 + + + + Family History Observations related to a particular family member are contained within a Family History Organizer. The effectiveTime in the Family History Observation is the biologically or clinically relevant time of the observation. The biologically or clinically relevant time is the time at which the observation holds (is effective) for the family member (the subject of the observation). + + + + + + + INLINE + + + + + + + + + + + + + + CONF:1198-8599, CONF:1198-10496, CONF:1198-32605 + + + + + CONF:1198-32427 + + + + R2.1=CONF:1198-8590 + + + + The Family History Organizer associates a set of observations with a family member. For example, the Family History Organizer can group a set of observations about the patient's father. + + + + + + + + + + + + + + + + CONF:1198-8604, CONF:1198-10497, CONF:1198-32606 + + + CONF:1198-32485 + + + R2.1=CONF:1198-8602 + + + + CONF:8602, R2.1=CONF:1198-19099 + + + + + + CONF:1198-32428, CONF:1198-32429 + + + + This section contains data defining the patient's genetic relatives in terms of possible or relevant health risk factors that have a potential impact on the patient's healthcare risk profile. + + + + + + + + + + CONF:1198-7932, CONF:1198-10388, CONF:1198-32607 + + + + + + + CONF:1198-32430, CONF:1198-32431 + + + + + CONF:1198-32847 + + + diff --git a/models/org.openhealthtools.mdht.uml.cda.consol2.model/model/.controlled/consol-immunizations.uml b/models/org.openhealthtools.mdht.uml.cda.consol2.model/model/.controlled/consol-immunizations.uml index 751bc8aa7..f6e4f3689 100644 --- a/models/org.openhealthtools.mdht.uml.cda.consol2.model/model/.controlled/consol-immunizations.uml +++ b/models/org.openhealthtools.mdht.uml.cda.consol2.model/model/.controlled/consol-immunizations.uml @@ -1,1562 +1,1563 @@ - - - - - <p>An Immunization Activity describes immunization substance administrations that have actually occurred or are intended to occur. Immunization Activities in "INT" mood are reflections of immunizations a clinician intends a patient to receive. Immunization Activities in "EVN" mood reflect immunizations actually received.</p> - -<p>An Immunization Activity is very similar to a Medication Activity with some key differentiators. The drug code system is constrained to CVX codes. Administration timing is less complex. Patient refusal reasons should be captured. All vaccines administered should be fully documented in the patient's permanent medical record. Healthcare providers who administer vaccines covered by the National Childhood Vaccine Injury Act are required to ensure that the permanent medical record of the recipient indicates: </p> - -<ol> -<li>Date of administration </li> -<li>Vaccine manufacturer </li> -<li>Vaccine lot number </li> -<li>Name and title of the person who administered the vaccine and the address of the clinic or facility where the permanent record will reside </li> -<li>Vaccine information statement (VIS) -<ol> -<li>date printed on the VIS</li> -<li>date VIS given to patient or parent/guardian.</li> -</ol> -</li> -</ol> - - - - In a CDA document, the URI given in the value attribute of the 'reference' element points to an element in the narrative content that contains the complete text describing the immunization activity. In an HL7 message, the content of the text element shall contain the complete text describing the immunization activity. - - - UNIMPLEMENTABLE - - - Analysis - OCL - This text, if present, SHOULD contain zero or one [0..1] reference - not self.text.oclIsUndefined() implies self.text->forAll(reference->size() = 1) - - - - - Analysis - OCL - reference, if present, SHOULD contain zero or one [0..1] @value - self.text->forAll(reference->size() = 1) implies self.text->forAll(reference->one(value->size() = 1)) - - - - - Analysis - OCL - This reference/@value SHALL begin with a '#' and SHALL point to its corresponding narrative (using the approach defined in CDA Release 2, section 4.3.5.1. - not self.text.reference.value.oclIsUndefined() implies not self.getSection().text.getText(self.text.reference.value.substring(2, self.text.reference.value.size())).oclIsUndefined() - - - - - Analysis - OCL - 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 - not self.doseQuantity.oclIsUndefined() implies not self.doseQuantity.unit.oclIsUndefined() - - - - - Analysis - OCL - entryRelationship with target entry Instructions SHALL contain exactly one [1..1] @inversionInd="true" True - self.entryRelationship->select(er : cda::EntryRelationship | er.act.oclIsTypeOf(consol::Instructions))->forAll(ent : cda::EntryRelationship | ent.inversionInd=true) - - - - - Analysis - OCL - participant with target entry Drug Vehicle SHALL contain exactly one [1..1] @typeCode="CSM" (CodeSystem: HL7ParticipationType 2.16.840.1.113883.5.90) - self.participant->select(par : cda::Participant2 | par.participantRole.oclIsKindOf(consol::DrugVehicle))->forAll(p : cda::Participant2 | p.typeCode=vocab::ParticipationType::CSM) - - - - - - - - - - - - - - - - - - Use negationInd="true" to indicate that the immunization was not given. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - In "INT" (intent) mood, the repeatNumber defines the number of allowed administrations. For example, a repeatNumber of "3" means that the substance can be administered up to 3 times. In "EVN" (event) mood, the repeatNumber is the number of occurrences. For example, a repeatNumber of "3" in a dispense act means that the current dispensation is the 3rd. A repeatNumber of "3" in a substance administration event means that the current administration is the 3rd in a series. (CONF:8987). - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - INLINE - - - - - - - - - - - - - INLINE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CONF:10498 - - - CONF-305 - - - CONF-311 - - - CONF-314 - - - CONF-315 - - - CONF-327 - - - CONF-328 - - - CONF-329 - - - CONF-354 - - - - CONF:8829, R2.1=CONF:1198-8829 - - - CONF:8833 - - - CONF:8834, R2.1=CONF:1198-8834 - - - - CONF-312 - - - CONF:8850, CONF:8851, CONF:15547 - - - - The Immunization Medication Information represents product information about the immunization substance. The vaccine manufacturer and vaccine lot number are typically recorded in the medical record and should be included if known. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - INLINE - - - - Analysis - OCL - code SHOULD contain zero or one [0..1] originalText - self.code.originalText->size() = 1 - - - - - Analysis - OCL - originalText, if present, SHOULD contain zero or one [0..1] reference - self.code.originalText->size() = 1 implies self.code.originalText->one(reference->size() = 1) - - - - - Analysis - OCL - reference, if present, SHOULD contain zero or one [0..1] @value - self.code.originalText.reference->size() = 1 implies self.code.originalText.reference.value->size() = 1 - - - - - Analysis - reference/@value SHALL begin with a '#' and SHALL point to its corresponding narrative (using the approach defined in CDA Release 2, section 4.3.5.1) - - - - - Translations can be used to represent generic product name, packaged product code, etc. - - - Analysis - OCL - code MAY contain zero or more [0..*] translation - self.code->size() = 1 implies self.code.translation->size() > 0 - - - - - - - - - - - - - - - - - - - - - CONF:9004 - CONF:10499 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CONF:8993 - CONF:10500 - - - - - couple - - - - - - - - - - - - - - - - - - - - - - - CONF-298 - - - CONF-299 - - - CONF-303 - - - 3. - CONF:7967 - - - CONF:9017 - - - CONF:9018 - - - CONF:9019 - CONF:9020 - - - - The Immunizations section defines a patient's current immunization status and pertinent immunization history. The primary use case for the Immunization section is to enable communication of a patient's immunization status. The section should include current immunization status, and may contain the entire immunization history that is relevant to the period of time being summarized. - - - - - - - - - - - - - - - - - - - - - - CONF:7965, CONF:10399 - - - - CONF:15368 - - - CONF:7967., R2.1=CONF:1198-7967 - - - CONF:7968, R2.1=CONF:1198-7968 - - - CONF:7969 - CONF:7970 - - - CONF:8826, R2.1=CONF:1198-8826 - - - CONF:8985 - R2.1=CONF:1198-8985 - - - CONF:8831 - - - CONF:8838 - - - - CONF:8839 - - - - CONF:8840, R2.1=CONF:1198-8840 - - - CONF:8841, R2.1=CONF:1198-8841 - - - CONF:8846 - - - CONF:8988, CONF:8989, CONF:15542, R2.1=CONF:1198-8988, R2.1=CONF:1198-8989, R2.1=CONF:1198-15542 - - - CONF:8853, CONF:8854, CONF:15537 - - - CONF:8856, CONF:8857, CONF:15538 - - - CONF:8863, CONF:8864, CONF:15540 - - - CONF:8866, CONF:8867, CONF:15541 - - - - CONF:8827, R2.1=CONF:1198-8827 - - - CONF:8847 - - - CONF:9002 - R2.0=CONF:1098-9002 - - - CONF:8991 - - - CONF:8992 - - - - CONF:8995 - - - CONF:8994 - - - - - - - - - - - - - - This procedure activity is intended to contain information about procedures that were performed in response to an allergy reaction (CONF:16853). - - - - - - - - - - This medication activity is intended to contain information about medications that were administered in response to an allergy reaction (CONF:16840) - - - - - - - - - CONF:9005 - R2.0=CONF:1098-9005 - - - - CONF:8996 - - - - - - - - - CONF:8830 - - - - - - CONF:8858 - - - - - CONF:15370 - - - CONF:9015 - CONF:10400 - - - - - - CONF:15545 - - - CONF:15543 - - - CONF:8842, R2.1=CONF:1198-8842 - - - CONF:8851, R2.1=CONF:1198-8851 - - - - - - CONF:15546 - - - - CONF:9008 - - - CONF:15555 - - - CONF:15557 - - - CONF:9011 - - - - CONF:9007 - - - CONF:9014 - - - CONF:15367 - - - CONF:15369 - - - CONF:15544 - - - CONF:15556 - - - - <p> -This template represents planned immunizations. Planned Immunization Activity is very similar to Planned Medication Activity with some key differences, for example, the drug code system is constrained to CVX codes. -</p> -<p> -The priority of the immunization activity to the patient and provider is communicated through Priority Preference. The effectiveTime indicates the time when the immunization activity is intended to take place and authorTime indicates when the documentation of the plan occurred. -</p> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The effectiveTime in a planned immunization activity represents the time that the immunization activity should occur. - - - - - - - - - In a Planned Immunization Activity, repeatNumber defines the number of allowed administrations. For example, a repeatNumber of "3" means that the substance can be administered up to 3 times. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The author in a planned immunization activity represents the clinician who is requesting or planning the immunization activity. - - - - - - - - The following entryRelationship represents the priority that a patient or a provider places on the immunization activity. - - - - - - - - The following entryRelationship represents the indication for the immunization activity. - - - - - - - - The following entryRelationship captures any instructions associated with the planned immunization activity. - - - - - - - - - - - - INLINE - - - - UNIMPLEMENTABLE - - - Analysis - The doseQuantity/@unit SHALL be selected from ValueSet UnitsOfMeasureCaseSensitive 2.16.840.1.113883.1.11.12839 DYNAMIC - - - - - - - - - - - - - - - - INLINE - - - - - - - - - - - - - - - - - - - - - - - INLINE - - - - - - - - - - - - - - - - - - - - - - - CONF:1098-32098 - CONF:1098-32099 - - - CONF:1098-32091 - - - CONF:1098-32100 - - - CONF:1098-32101 - - - CONF:1098-32103 - - - CONF:1098-32126 - - - - - CONF:1098-32129 - - - - CONF:1098-32102 - - - - CONF:1098-32127 - DSTU:1276 - - - - CONF:1098-32128 - - - CONF:1098-32130 - - - CONF:1098-32130 - - - - The clinician who is expected to perform the planned immunization activity could be identified using substanceAdministration/performer. - - - - - CONF:1098-32104 - - - - CONF:1098-32097 - - - - - - CONF:1098-32105 - - - - - - CONF:1098-32108 - CONF:1098-32109 - CONF:1098-32110 - - - - - <p> -An Immunization Activity describes immunization substance administrations that have actually occurred or are intended to occur. Immunization Activities in "INT" mood are reflections of immunizations a clinician intends a patient to receive. Immunization Activities in "EVN" mood reflect immunizations actually received. -</p> -<p> -An Immunization Activity is very similar to a Medication Activity with some key differentiators. The drug code system is constrained to CVX codes. Administration timing is less complex. Patient refusal reasons should be captured. All vaccines administered should be fully documented in the patient's permanent medical record. Healthcare providers who administer vaccines covered by the National Childhood Vaccine Injury Act are required to ensure that the permanent medical record of the recipient indicates: -<ul> -<li>1) Date of administration</li> -<li>2) Vaccine manufacturer</li> -<li>3) Vaccine lot number</li> -<li>4) Name and title of the person who administered the vaccine and the address of the clinic or facility where the permanent record will reside</li> -<li>5) Vaccine information statement (VIS)</li> -<ul> -<li>a. Date printed on the VIS</li> -<li>b. Date VIS given to patient or parent/guardian.</li> -</li> -</ul> -</p> -<p> -This information should be included in an Immunization Activity when available. (Reference: <a href=http://www.cdc.gov/vaccines/pubs/pinkbook/downloads/appendices/D/vacc_admin.pdf>http://www.cdc.gov/vaccines/pubs/pinkbook/downloads/appendices/D/vacc_admin.pdf</a>) -</p> - - - - Analysis - OCL - This constraint is being overridden as it has been removed in v2 and should never fire - true - - - - - Analysis - OCL - This constraint is being overridden as it has been removed in v2 and should never fire - true - - - - - Analysis - OCL - This constraint is being overridden as it has been removed in v2 and should never fire - true - - - - - Analysis - OCL - entryRelationship with target entry Instruction2 SHALL contain exactly one [1..1] @inversionInd="true" True - self.entryRelationship->select(er : cda::EntryRelationship | er.act.oclIsTypeOf(consol::Instruction2))->forAll(ent : cda::EntryRelationship | ent.inversionInd=true) - - - - - - - - - - - - Note: SubstanceAdministration.code is an optional field. Per HL7 Pharmacy Committee, "this is intended to further specify the nature of the substance administration act. To date the committee has made no use of this attribute". Because the type of substance administration is generally implicit in the routeCode, in the consumable participant, etc., the field is generally not used and there is no defined value set. - - - - - - - - - - - - - - In "INT" (intent) mood, the repeatNumber defines the number of allowed administrations. For example, a repeatNumber of "3" means that the substance can be administered up to 3 times. In "EVN" (event) mood, the repeatNumber is the number of occurrences. For example, a repeatNumber of "3" in a substance administration event means that the current administration is the 3rd in a series. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - INLINE - - - - - - - - - - INLINE - - - - - - - - - - - - - - - - - - - - INLINE&typeCode=vocab::x_ActRelationshipEntryRelationship::COMP - - - The following entryRelationship is used to indicate a given immunization's order in a series. The nested Substance Administered Act identifies an administration in the series. The entryRelationship/sequenceNumber shows the order of this particular administration in that series. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CONF:1198-8828, CONF:1198-10498, CONF:1198-32528 - - - - - - - CONF:1198-31151 - - - CONF:1198-8830 - - - CONF:1198-8833 - - - - CONF:1198-32359 - - - CONF:1198-8838 - - - - - CONF:1198-8846 - - - CONF:1198-8985 - - - - The Immunization Medication Information represents product information about the immunization substance. The vaccine manufacturer and vaccine lot number are typically recorded in the medical record and should be included if known. - - - - - - - - - - - INLINE - - - - Analysis - OCL - This constraint is being overridden as it has been removed in v2 and should never fire - true - - - - - Analysis - OCL - This constraint is being overridden as it has been removed in v2 and should never fire - true - - - - - Analysis - OCL - This constraint is being overridden as it has been removed in v2 and should never fire - true - - - - - Analysis - OCL - This constraint is being overridden as it has been removed in v2 and should never fire - true - - - - - Analysis - OCL - This constraint is being overridden as it has been removed in v2 and should never fire - true - - - - - - - - - - Note: lotNumberText should be included if known. - - - - - - - - - - - - - - - - - - - - CONF:1098-9004 - CONF:1098-10499 - CONF:1098-32602 - - - - - CONF:1098-9007 - - - CONF:1098-31543 - - - - - - CONF:1198-8853, CONF:1198-8854, CONF:1198-15537 - - - - - - CONF:1198-8860, CONF:1198-8861, CONF:1198-15539 - - - - - - CONF:1198-8863, CONF:1198-8864, CONF:1198-15540 - - - - - - CONF:1198-8866, CONF:1198-8867, CONF:1198-15541 - - - - - - CONF:1198-8856, CONF:1198-8857, CONF:1198-31392 - - - - - - CONF:1198-8847 - - - - - - CONF:1198-15546 - - - - The Immunizations Section defines a patient's current immunization status and pertinent immunization history. The primary use case for the Immunization Section is to enable communication of a patient's immunization status. The section should include current immunization status, and may contain the entire immunization history that is relevant to the period of time being summarized. - - - - - - - - - - - - - CONF:1198-7965, CONF:1198-10399, CONF:1198-32529 - - - - - CONF:1198-15368, CONF:1198-32146 - - - CONF:1198-15367 - - - - - - CONF:1198-7969, CONF:1198-15494 - - - - The Immunizations Section defines a patient's current immunization status and pertinent immunization history. The primary use case for the Immunization Section is to enable communication of a patient's immunization status. The section should include current immunization status, and may contain the entire immunization history that is relevant to the period of time being summarized. - - - - - - - - - - - - - - - - If section/@nullFlavor is not present: - - - - - - - - - - - - - - - CONF:1198-9015, CONF:1198-10400, CONF:1198-32530 - - - - - CONF:1198-15370, CONF:1198-32147 - - - CONF:1198-15369 - - - - - - CONF:1198-9019, CONF:1198-15495 - - - CONF:1198-9018 - - - - - - CONF:8869 - - - CONF:8870 - - - - - - CONF:15548 - - - - - - CONF:1098-32114 - CONF:1098-32115 - CONF:1098-32116 - - - - - - CONF:1098-32117 - CONF:1098-32118 - CONF:1098-32119 - - - - - - CONF:1098-32123 - - - CONF:1098-32124 - - - - - - CONF:1098-32125 - - - - - - CONF:1098-32131 - - - - - - CONF:1098-32132 - - - - - - CONF:1198-8869 - - - CONF:1198-8870 - - - - - - CONF:1198-15548 - - - CONF:1198-9017 - - - CONF:1198-32833 - - - CONF:1198-8858 - - - - - - CONF:1198-31510 - - - CONF:1198-31511 - - - CONF:1198-31512 - - - CONF:1198-31513 - - - - - - CONF:1198-31514 - - - CONF:1098-9014 - DSTU:995 - - - - CONF:1098-31881 - DSTU:1329 - - - - - - - - - - - - - - CONF:1198-8839 - DSTU:1276 - - - - - - CONF:1198-32960 - DSTU:1276 - - - - - CONF:1098-32951 - DSTU:1276 - - - + + + + + <p>An Immunization Activity describes immunization substance administrations that have actually occurred or are intended to occur. Immunization Activities in "INT" mood are reflections of immunizations a clinician intends a patient to receive. Immunization Activities in "EVN" mood reflect immunizations actually received.</p> + +<p>An Immunization Activity is very similar to a Medication Activity with some key differentiators. The drug code system is constrained to CVX codes. Administration timing is less complex. Patient refusal reasons should be captured. All vaccines administered should be fully documented in the patient's permanent medical record. Healthcare providers who administer vaccines covered by the National Childhood Vaccine Injury Act are required to ensure that the permanent medical record of the recipient indicates: </p> + +<ol> +<li>Date of administration </li> +<li>Vaccine manufacturer </li> +<li>Vaccine lot number </li> +<li>Name and title of the person who administered the vaccine and the address of the clinic or facility where the permanent record will reside </li> +<li>Vaccine information statement (VIS) +<ol> +<li>date printed on the VIS</li> +<li>date VIS given to patient or parent/guardian.</li> +</ol> +</li> +</ol> + + + + In a CDA document, the URI given in the value attribute of the 'reference' element points to an element in the narrative content that contains the complete text describing the immunization activity. In an HL7 message, the content of the text element shall contain the complete text describing the immunization activity. + + + UNIMPLEMENTABLE + + + Analysis + OCL + This text, if present, SHOULD contain zero or one [0..1] reference + not self.text.oclIsUndefined() implies self.text->forAll(reference->size() = 1) + + + + + Analysis + OCL + reference, if present, SHOULD contain zero or one [0..1] @value + self.text->forAll(reference->size() = 1) implies self.text->forAll(reference->one(value->size() = 1)) + + + + + Analysis + OCL + This reference/@value SHALL begin with a '#' and SHALL point to its corresponding narrative (using the approach defined in CDA Release 2, section 4.3.5.1. + not self.text.reference.value.oclIsUndefined() implies not self.getSection().text.getText(self.text.reference.value.substring(2, self.text.reference.value.size())).oclIsUndefined() + + + + + Analysis + OCL + 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 + not self.doseQuantity.oclIsUndefined() implies not self.doseQuantity.unit.oclIsUndefined() + + + + + Analysis + OCL + entryRelationship with target entry Instructions SHALL contain exactly one [1..1] @inversionInd="true" True + self.entryRelationship->select(er : cda::EntryRelationship | er.act.oclIsTypeOf(consol::Instructions))->forAll(ent : cda::EntryRelationship | ent.inversionInd=true) + + + + + Analysis + OCL + participant with target entry Drug Vehicle SHALL contain exactly one [1..1] @typeCode="CSM" (CodeSystem: HL7ParticipationType 2.16.840.1.113883.5.90) + self.participant->select(par : cda::Participant2 | par.participantRole.oclIsKindOf(consol::DrugVehicle))->forAll(p : cda::Participant2 | p.typeCode=vocab::ParticipationType::CSM) + + + + + + + + + + + + + + + + + + Use negationInd="true" to indicate that the immunization was not given. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + In "INT" (intent) mood, the repeatNumber defines the number of allowed administrations. For example, a repeatNumber of "3" means that the substance can be administered up to 3 times. In "EVN" (event) mood, the repeatNumber is the number of occurrences. For example, a repeatNumber of "3" in a dispense act means that the current dispensation is the 3rd. A repeatNumber of "3" in a substance administration event means that the current administration is the 3rd in a series. (CONF:8987). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + INLINE + + + + + + + + + + + + + INLINE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CONF:10498 + + + CONF-305 + + + CONF-311 + + + CONF-314 + + + CONF-315 + + + CONF-327 + + + CONF-328 + + + CONF-329 + + + CONF-354 + + + + CONF:8829, R2.1=CONF:1198-8829 + + + CONF:8833 + + + CONF:8834, R2.1=CONF:1198-8834 + + + + CONF-312 + + + CONF:8850, CONF:8851, CONF:15547 + + + + The Immunization Medication Information represents product information about the immunization substance. The vaccine manufacturer and vaccine lot number are typically recorded in the medical record and should be included if known. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + INLINE + + + + Analysis + OCL + code SHOULD contain zero or one [0..1] originalText + self.code.originalText->size() = 1 + + + + + Analysis + OCL + originalText, if present, SHOULD contain zero or one [0..1] reference + self.code.originalText->size() = 1 implies self.code.originalText->one(reference->size() = 1) + + + + + Analysis + OCL + reference, if present, SHOULD contain zero or one [0..1] @value + self.code.originalText.reference->size() = 1 implies self.code.originalText.reference.value->size() = 1 + + + + + Analysis + reference/@value SHALL begin with a '#' and SHALL point to its corresponding narrative (using the approach defined in CDA Release 2, section 4.3.5.1) + + + + + Translations can be used to represent generic product name, packaged product code, etc. + + + Analysis + OCL + code MAY contain zero or more [0..*] translation + self.code->size() = 1 implies self.code.translation->size() > 0 + + + + + + + + + + + + + + + + + + + + + CONF:9004 + CONF:10499 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CONF:8993 + CONF:10500 + + + + + couple + + + + + + + + + + + + + + + + + + + + + + + CONF-298 + + + CONF-299 + + + CONF-303 + + + 3. + CONF:7967 + + + CONF:9017 + + + CONF:9018 + + + CONF:9019 + CONF:9020 + + + + The Immunizations section defines a patient's current immunization status and pertinent immunization history. The primary use case for the Immunization section is to enable communication of a patient's immunization status. The section should include current immunization status, and may contain the entire immunization history that is relevant to the period of time being summarized. + + + + + + + + + + + + + + + + + + + + + + + CONF:7965, CONF:10399 + + + + CONF:15368 + + + CONF:7967., R2.1=CONF:1198-7967 + + + CONF:7968, R2.1=CONF:1198-7968 + + + CONF:7969 + CONF:7970 + + + CONF:8826, R2.1=CONF:1198-8826 + + + CONF:8985 + R2.1=CONF:1198-8985 + + + CONF:8831 + + + CONF:8838 + + + + CONF:8839 + + + + CONF:8840, R2.1=CONF:1198-8840 + + + CONF:8841, R2.1=CONF:1198-8841 + + + CONF:8846 + + + CONF:8988, CONF:8989, CONF:15542, R2.1=CONF:1198-8988, R2.1=CONF:1198-8989, R2.1=CONF:1198-15542 + + + CONF:8853, CONF:8854, CONF:15537 + + + CONF:8856, CONF:8857, CONF:15538 + + + CONF:8863, CONF:8864, CONF:15540 + + + CONF:8866, CONF:8867, CONF:15541 + + + + CONF:8827, R2.1=CONF:1198-8827 + + + CONF:8847 + + + CONF:9002 + R2.0=CONF:1098-9002 + + + CONF:8991 + + + CONF:8992 + + + + CONF:8995 + + + CONF:8994 + + + + + + + + + + + + + + This procedure activity is intended to contain information about procedures that were performed in response to an allergy reaction (CONF:16853). + + + + + + + + + + This medication activity is intended to contain information about medications that were administered in response to an allergy reaction (CONF:16840) + + + + + + + + + CONF:9005 + R2.0=CONF:1098-9005 + + + + CONF:8996 + + + + + + + + + CONF:8830 + + + + + + CONF:8858 + + + + + CONF:15370 + + + CONF:9015 + CONF:10400 + + + + + + CONF:15545 + + + CONF:15543 + + + CONF:8842, R2.1=CONF:1198-8842 + + + CONF:8851, R2.1=CONF:1198-8851 + + + + + + CONF:15546 + + + + CONF:9008 + + + CONF:15555 + + + CONF:15557 + + + CONF:9011 + + + + CONF:9007 + + + CONF:9014 + + + CONF:15367 + + + CONF:15369 + + + CONF:15544 + + + CONF:15556 + + + + <p> +This template represents planned immunizations. Planned Immunization Activity is very similar to Planned Medication Activity with some key differences, for example, the drug code system is constrained to CVX codes. +</p> +<p> +The priority of the immunization activity to the patient and provider is communicated through Priority Preference. The effectiveTime indicates the time when the immunization activity is intended to take place and authorTime indicates when the documentation of the plan occurred. +</p> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The effectiveTime in a planned immunization activity represents the time that the immunization activity should occur. + + + + + + + + + In a Planned Immunization Activity, repeatNumber defines the number of allowed administrations. For example, a repeatNumber of "3" means that the substance can be administered up to 3 times. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The author in a planned immunization activity represents the clinician who is requesting or planning the immunization activity. + + + + + + + + The following entryRelationship represents the priority that a patient or a provider places on the immunization activity. + + + + + + + + The following entryRelationship represents the indication for the immunization activity. + + + + + + + + The following entryRelationship captures any instructions associated with the planned immunization activity. + + + + + + + + + + + + INLINE + + + + UNIMPLEMENTABLE + + + Analysis + The doseQuantity/@unit SHALL be selected from ValueSet UnitsOfMeasureCaseSensitive 2.16.840.1.113883.1.11.12839 DYNAMIC + + + + + + + + + + + + + + + + INLINE + + + + + + + + + + + + + + + + + + + + + + + INLINE + + + + + + + + + + + + + + + + + + + + + + + CONF:1098-32098 + CONF:1098-32099 + + + CONF:1098-32091 + + + CONF:1098-32100 + + + CONF:1098-32101 + + + CONF:1098-32103 + + + CONF:1098-32126 + + + + + CONF:1098-32129 + + + + CONF:1098-32102 + + + + CONF:1098-32127 + DSTU:1276 + + + + CONF:1098-32128 + + + CONF:1098-32130 + + + CONF:1098-32130 + + + + The clinician who is expected to perform the planned immunization activity could be identified using substanceAdministration/performer. + + + + + CONF:1098-32104 + + + + CONF:1098-32097 + + + + + + CONF:1098-32105 + + + + + + CONF:1098-32108 + CONF:1098-32109 + CONF:1098-32110 + + + + + <p> +An Immunization Activity describes immunization substance administrations that have actually occurred or are intended to occur. Immunization Activities in "INT" mood are reflections of immunizations a clinician intends a patient to receive. Immunization Activities in "EVN" mood reflect immunizations actually received. +</p> +<p> +An Immunization Activity is very similar to a Medication Activity with some key differentiators. The drug code system is constrained to CVX codes. Administration timing is less complex. Patient refusal reasons should be captured. All vaccines administered should be fully documented in the patient's permanent medical record. Healthcare providers who administer vaccines covered by the National Childhood Vaccine Injury Act are required to ensure that the permanent medical record of the recipient indicates: +<ul> +<li>1) Date of administration</li> +<li>2) Vaccine manufacturer</li> +<li>3) Vaccine lot number</li> +<li>4) Name and title of the person who administered the vaccine and the address of the clinic or facility where the permanent record will reside</li> +<li>5) Vaccine information statement (VIS)</li> +<ul> +<li>a. Date printed on the VIS</li> +<li>b. Date VIS given to patient or parent/guardian.</li> +</li> +</ul> +</p> +<p> +This information should be included in an Immunization Activity when available. (Reference: <a href=http://www.cdc.gov/vaccines/pubs/pinkbook/downloads/appendices/D/vacc_admin.pdf>http://www.cdc.gov/vaccines/pubs/pinkbook/downloads/appendices/D/vacc_admin.pdf</a>) +</p> + + + + Analysis + OCL + This constraint is being overridden as it has been removed in v2 and should never fire + true + + + + + Analysis + OCL + This constraint is being overridden as it has been removed in v2 and should never fire + true + + + + + Analysis + OCL + This constraint is being overridden as it has been removed in v2 and should never fire + true + + + + + Analysis + OCL + entryRelationship with target entry Instruction2 SHALL contain exactly one [1..1] @inversionInd="true" True + self.entryRelationship->select(er : cda::EntryRelationship | er.act.oclIsTypeOf(consol::Instruction2))->forAll(ent : cda::EntryRelationship | ent.inversionInd=true) + + + + + + + + + + + + Note: SubstanceAdministration.code is an optional field. Per HL7 Pharmacy Committee, "this is intended to further specify the nature of the substance administration act. To date the committee has made no use of this attribute". Because the type of substance administration is generally implicit in the routeCode, in the consumable participant, etc., the field is generally not used and there is no defined value set. + + + + + + + + + + + + + + In "INT" (intent) mood, the repeatNumber defines the number of allowed administrations. For example, a repeatNumber of "3" means that the substance can be administered up to 3 times. In "EVN" (event) mood, the repeatNumber is the number of occurrences. For example, a repeatNumber of "3" in a substance administration event means that the current administration is the 3rd in a series. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + INLINE + + + + + + + + + + INLINE + + + + + + + + + + + + + + + + + + + + INLINE&typeCode=vocab::x_ActRelationshipEntryRelationship::COMP + + + The following entryRelationship is used to indicate a given immunization's order in a series. The nested Substance Administered Act identifies an administration in the series. The entryRelationship/sequenceNumber shows the order of this particular administration in that series. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CONF:1198-8828, CONF:1198-10498, CONF:1198-32528 + + + + + + + CONF:1198-31151 + + + CONF:1198-8830 + + + CONF:1198-8833 + + + + CONF:1198-32359 + + + CONF:1198-8838 + + + + + CONF:1198-8846 + + + CONF:1198-8985 + + + + The Immunization Medication Information represents product information about the immunization substance. The vaccine manufacturer and vaccine lot number are typically recorded in the medical record and should be included if known. + + + + + + + + + + + INLINE + + + + Analysis + OCL + This constraint is being overridden as it has been removed in v2 and should never fire + true + + + + + Analysis + OCL + This constraint is being overridden as it has been removed in v2 and should never fire + true + + + + + Analysis + OCL + This constraint is being overridden as it has been removed in v2 and should never fire + true + + + + + Analysis + OCL + This constraint is being overridden as it has been removed in v2 and should never fire + true + + + + + Analysis + OCL + This constraint is being overridden as it has been removed in v2 and should never fire + true + + + + + + + + + + Note: lotNumberText should be included if known. + + + + + + + + + + + + + + + + + + + + CONF:1098-9004 + CONF:1098-10499 + CONF:1098-32602 + + + + + CONF:1098-9007 + + + CONF:1098-31543 + + + + + + CONF:1198-8853, CONF:1198-8854, CONF:1198-15537 + + + + + + CONF:1198-8860, CONF:1198-8861, CONF:1198-15539 + + + + + + CONF:1198-8863, CONF:1198-8864, CONF:1198-15540 + + + + + + CONF:1198-8866, CONF:1198-8867, CONF:1198-15541 + + + + + + CONF:1198-8856, CONF:1198-8857, CONF:1198-31392 + + + + + + CONF:1198-8847 + + + + + + CONF:1198-15546 + + + + The Immunizations Section defines a patient's current immunization status and pertinent immunization history. The primary use case for the Immunization Section is to enable communication of a patient's immunization status. The section should include current immunization status, and may contain the entire immunization history that is relevant to the period of time being summarized. + + + + + + + + + + + + + CONF:1198-7965, CONF:1198-10399, CONF:1198-32529 + + + + + CONF:1198-15368, CONF:1198-32146 + + + CONF:1198-15367 + + + + + + CONF:1198-7969, CONF:1198-15494 + + + + The Immunizations Section defines a patient's current immunization status and pertinent immunization history. The primary use case for the Immunization Section is to enable communication of a patient's immunization status. The section should include current immunization status, and may contain the entire immunization history that is relevant to the period of time being summarized. + + + + + + + + + + + + + + + + If section/@nullFlavor is not present: + + + + + + + + + + + + + + + CONF:1198-9015, CONF:1198-10400, CONF:1198-32530 + + + + + CONF:1198-15370, CONF:1198-32147 + + + CONF:1198-15369 + + + + + + CONF:1198-9019, CONF:1198-15495 + + + CONF:1198-9018 + + + + + + CONF:8869 + + + CONF:8870 + + + + + + CONF:15548 + + + + + + CONF:1098-32114 + CONF:1098-32115 + CONF:1098-32116 + + + + + + CONF:1098-32117 + CONF:1098-32118 + CONF:1098-32119 + + + + + + CONF:1098-32123 + + + CONF:1098-32124 + + + + + + CONF:1098-32125 + + + + + + CONF:1098-32131 + + + + + + CONF:1098-32132 + + + + + + CONF:1198-8869 + + + CONF:1198-8870 + + + + + + CONF:1198-15548 + + + CONF:1198-9017 + + + CONF:1198-32833 + + + CONF:1198-8858 + + + + + + CONF:1198-31510 + + + CONF:1198-31511 + + + CONF:1198-31512 + + + CONF:1198-31513 + + + + + + CONF:1198-31514 + + + CONF:1098-9014 + DSTU:995 + + + + CONF:1098-31881 + DSTU:1329 + + + + + + + + + + + + + + CONF:1198-8839 + DSTU:1276 + + + + + + CONF:1198-32960 + DSTU:1276 + + + + + CONF:1098-32951 + DSTU:1276 + + + diff --git a/models/org.openhealthtools.mdht.uml.cda.consol2.model/model/.controlled/consol-other.uml b/models/org.openhealthtools.mdht.uml.cda.consol2.model/model/.controlled/consol-other.uml index fa288f77f..c31b648a7 100644 --- a/models/org.openhealthtools.mdht.uml.cda.consol2.model/model/.controlled/consol-other.uml +++ b/models/org.openhealthtools.mdht.uml.cda.consol2.model/model/.controlled/consol-other.uml @@ -10,6 +10,7 @@ The Assessment and Plan section represents both the clinician's conclusions and + diff --git a/models/org.openhealthtools.mdht.uml.cda.consol2.model/model/.controlled/consol-vitalsigns.uml b/models/org.openhealthtools.mdht.uml.cda.consol2.model/model/.controlled/consol-vitalsigns.uml index 33dc4934a..eb175f37a 100644 --- a/models/org.openhealthtools.mdht.uml.cda.consol2.model/model/.controlled/consol-vitalsigns.uml +++ b/models/org.openhealthtools.mdht.uml.cda.consol2.model/model/.controlled/consol-vitalsigns.uml @@ -1,820 +1,820 @@ - - - - - - couple - - - - - - - - - - - - - - - - - - - - - - - - - - - CONF:7273 - CONF:10452 - - - CONF-385 - - - C83-[CT-119-2] - - - CONF-384 - - - CONF:7275 - - - CONF:7276 - CONF:7277 - - - - <p>The Vital Signs section contains relevant vital signs for the context and use case of the document type, such as blood pressure, heart rate, respiratory rate, height, weight, body mass index, head circumference, and pulse oximetry. The section should include notable vital signs such as the most recent, maximum and/or minimum, baseline, or relevant trends.</p> - -<p>Vital signs are represented in the same way as other results, but are aggregated into their own section to follow clinical conventions.</p> - - - - skip - - - - - - - - - - - - - - - - - - - - - - - - CONF:7268, CONF:10451 - - - - Vital signs are represented as are other results, with additional vocabulary constraints. - - - - Analysis - OCL - text, if present, SHOULD contain zero or one [0..1] reference - not self.text.oclIsUndefined() implies self.text->forAll(reference->size() = 1) - - - - - Analysis - OCL - reference, if present, SHOULD contain zero or one [0..1] @value - self.text->forAll(reference->size() = 1) implies self.text->forAll(reference->one(value->size() = 1)) - - - - - Analysis - OCL - reference/@value SHALL begin with a '#' and SHALL point to its corresponding narrative (using the approach defined in CDA Release 2, section 4.3.5.1) - not self.text.reference.value.oclIsUndefined() implies not self.getSection().text.getText(self.text.reference.value.substring(2, self.text.reference.value.size())).oclIsUndefined() - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Represents the biologically relevant time (e.g. time the specimen was obtained from the patient). - - - - - - - - - - - The interpretation code may be present to provide an interpretation of the vital signs measure (e.g., High, Normal, Low, et cetera). - - - - - - - - The method code element may be present to indicate the method used to obtain the measure. Note that method used is distinct from, but possibly related to the target site. - - - - - - - - The target site of the measure may be identified in the targetSiteCode element (e.g., Left arm [blood pressure], oral [temperature], et cetera). - - - - - - - - - - - - - - - - - - - - - (CONF:7299 - CONF:10527 - - - CONF-413 - - - CONF-415 - - - CONF-417 - - - CONF-419 - - - CONF-420 - - - CONF-421 - - - - CONF:7298 - R2.0=CONF:1098-7298 - - - CONF:7300 - R2.0=CONF:1098-7300 - - - - CONF:7301 - R2.0=CONF:1098-7301 - - - CONF:7304 - - - CONF:7305 - - - CONF:7307 - - - CONF:7308 - R2.0=CONF:1098-7308 - - - CONF:7309 - R2.0=CONF:1098-7309 - - - - <p>The Vital Signs Organizer groups vital signs, which is similar to the Result Organizer, but with further constraints. </p> - -<p>An appropriate nullFlavor can be used when organizer/code or organizer/id is unknown.</p> - - - - - - - <p> -The vital signs organizer is a cluster of vital signs observations. -</p> - - - - - - - - - - - - - - - The organizer shall have an &lt;id> element. - - - - - - - - - - - The observations have all been completed. - - - - - - represents clinically effective time of the measurement, which is most likely when the measurement was performed (e.g., a BP measurement). (CONF:7289). - - - - - - - - - - - - - - - CONF:7281, CONF:10528 - - - CONF-398 - - - CONF-400 - - - CONF-401 - - - CONF-402 - - - CONF-403 - - - CONF-404 - - - CONF-387 - - - 6.3.4.21.3 - - - - CONF:7283 - - - - CONF:7284, R2.1=CONF:1198-19120 - - - CONF:7288 - - - - CONF:7285, CONF:15946 - - - - CONF:7270, R2.1=CONF:1198-7270 - - - CONF:7271 - CONF:7272 - - - CONF:7297 - R2.0=CONF:1098-7297 - - - - CONF:7303 - R2.0=CONF:1098-19119 - - - - CONF:15243 - - - - CONF:15963 - - - - - - CONF:7302 - - - CONF:9966, R2.1=CONF:1198-9966 - - - CONF:9967 - - - CONF:7279, R2.1=CONF:1198-7279 - - - CONF:7280, R2.1=CONF:1198-7280 - - - CONF:7282, R2.1=CONF:1198-7282 - - - CONF:15242 - - - CONF:15962 - - - - CONF:15943 - - - CONF:15944 - - - CONF:15945 - - - - This template represents the observation that a patient has died. It also represents the cause of death, indicated by an entryRelationship type of 'CAUS'. This template allows for more specific representation of data than is available with the use of dischargeDispositionCode. - - - - - - - - - - - - - - CONF:1198-14871, CONF:1198-14872, CONF:1198-32541 - - - - - CONF:1198-19135, CONF:1198-32158 - - - CONF:1198-14853 - - - - This template represents measurement of common vital signs. Vital signs are represented with additional vocabulary constraints for type of vital sign and unit of measure. - - - - Analysis - OCL - This constraint is being overridden as it has been removed in v2 and should never fire - true - - - - - Analysis - OCL - This constraint is being overridden as it has been removed in v2 and should never fire - true - - - - - Analysis - OCL - This constraint is being overridden as it has been removed in v2 and should never fire - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CONF:1098-7299 - CONF:1098-10527 - CONF:1098-32574 - - - - CONF:1098-7305 - - - - - - CONF:1098-7310 - - - - This template provides a mechanism for grouping vital signs (e.g., grouping systolic blood pressure and diastolic blood pressure). - - - - - - Compatibility support for C-CDA R1.1 and C-CDA 2.1: A vitals organizer conformant to both C-CDA 1.1 and C-CDA 2.1 would contain the SNOMED code (46680005) from R1.1 in the root code and a LOINC code in the translation. A vitals organizer conformant to only C-CDA 2.1 would only contain the LOINC code in the root code. - - - - - - - Note: The effectiveTime may be a timestamp or an interval that spans the effectiveTimes of the contained vital signs observations. DSTU:1371 - - - - - - - - - - - - - - - - - INLINE - - - - - - - - - - - - - - CONF:1198-7281 - CONF:1198-10528 - CONF:1198-32582 - - - - CONF:1198-7288 - DSTU:1371 - - - - - - CONF:1198-7285, CONF:1198-15946 - - - - CONF:1198-32741, CONF:1198-32742 - - - CONF:1198-32740 - - - - - - CONF:1198-31153 - - - - - - CONF:1198-14868, CONF:1198-14875, CONF:1198-14870 - - - - <p> -The Vital Signs Section contains relevant vital signs for the context and use case of the document type, such as blood pressure, heart rate, respiratory rate, height, weight, body mass index, head circumference, pulse oximetry, temperature, and body surface area. The section should include notable vital signs such as the most recent, maximum and/or minimum, baseline, or relevant trends. -</p> -<p> -Vital signs are represented in the same way as other results, but are aggregated into their own section to follow clinical conventions. -</p> - - - - - - - - - - - - - CONF:1198-7268, CONF:1198-10451, CONF:1198-32584 - - - - - CONF:1198-15243, CONF:1198-30902 - - - CONF:1198-15242 - - - - - - CONF:1198-7271, CONF:1198-15517 - - - - <p> -The Vital Signs Section contains relevant vital signs for the context and use case of the document type, such as blood pressure, heart rate, respiratory rate, height, weight, body mass index, head circumference, pulse oximetry, temperature, and body surface area. The section should include notable vital signs such as the most recent, maximum and/or minimum, baseline, or relevant trends. -</p> -<p> -Vital signs are represented in the same way as other results, but are aggregated into their own section to follow clinical conventions. -</p> - - - - - - - - - - - - - - - - If section/@nullFlavor is not present: - - - - - - - - - - - - - - - - - CONF:1198-7273, CONF:1198-10452, CONF:1198-32585 - - - - - CONF:1198-15963, CONF:1198-30903 - - - CONF:1198-15962 - - - - - - CONF:1198-7276, CONF:1198-15964 - - - CONF:1198-7275 - - - CONF:1198-9967 - - - CONF:1198-32874 - - - R2.0=CONF:1098-7303 - - - CONF:1098-7304 - - - CONF:1098-7307 - - - - CONF:1098-32886 - DSTU:1220 - DSTU:814 - - - - R2.1=CONF:1198-7284 - - - - - - CONF:1198-32743 - - - - CONF:1198-32744 - CONF:1198-32746 - - - - This clinical statement represents the observation that a patient has expired. It also represents the cause of death, indicated by an entryRelationship type of "CAUS". - - - - Analysis - OCL - effectiveTime SHALL contain exactly one [1..1] low - not self.effectiveTime.oclIsUndefined() implies self.effectiveTime.low->size() = 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CONF:14871, CONF:14872 - - - CONF:14874, R2.1=CONF:1198-14874 - - - CONF:14851, R2.1=CONF:1198-14851 - - - CONF:14852, R2.1=CONF:1198-14852 - - - CONF:14873, R2.1=CONF:1198-14873 - - - - - - CONF:14853 - - - CONF:14854, R2.1=CONF:1198-14854 - - - - R2.1=CONF:1198-19095 - - - CONF:14855, R2.1=CONF:1198-14855 - - - CONF:14857, R2.1=CONF:1198-14857 - - - - CONF:15142, R2.1=CONF:1198-15142 - - - CONF:14868, CONF:14875, CONF:14870 - - + + + + + + couple + + + + + + + + + + + + + + + + + + + + + + + + + + + CONF:7273 + CONF:10452 + + + CONF-385 + + + C83-[CT-119-2] + + + CONF-384 + + + CONF:7275 + + + CONF:7276 + CONF:7277 + + + + <p>The Vital Signs section contains relevant vital signs for the context and use case of the document type, such as blood pressure, heart rate, respiratory rate, height, weight, body mass index, head circumference, and pulse oximetry. The section should include notable vital signs such as the most recent, maximum and/or minimum, baseline, or relevant trends.</p> + +<p>Vital signs are represented in the same way as other results, but are aggregated into their own section to follow clinical conventions.</p> + + + + skip + + + + + + + + + + + + + + + + + + + + + + + + CONF:7268, CONF:10451 + + + + Vital signs are represented as are other results, with additional vocabulary constraints. + + + + Analysis + OCL + text, if present, SHOULD contain zero or one [0..1] reference + not self.text.oclIsUndefined() implies self.text->forAll(reference->size() = 1) + + + + + Analysis + OCL + reference, if present, SHOULD contain zero or one [0..1] @value + self.text->forAll(reference->size() = 1) implies self.text->forAll(reference->one(value->size() = 1)) + + + + + Analysis + OCL + reference/@value SHALL begin with a '#' and SHALL point to its corresponding narrative (using the approach defined in CDA Release 2, section 4.3.5.1) + not self.text.reference.value.oclIsUndefined() implies not self.getSection().text.getText(self.text.reference.value.substring(2, self.text.reference.value.size())).oclIsUndefined() + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents the biologically relevant time (e.g. time the specimen was obtained from the patient). + + + + + + + + + + + The interpretation code may be present to provide an interpretation of the vital signs measure (e.g., High, Normal, Low, et cetera). + + + + + + + + The method code element may be present to indicate the method used to obtain the measure. Note that method used is distinct from, but possibly related to the target site. + + + + + + + + The target site of the measure may be identified in the targetSiteCode element (e.g., Left arm [blood pressure], oral [temperature], et cetera). + + + + + + + + + + + + + + + + + + + + + (CONF:7299 + CONF:10527 + + + CONF-413 + + + CONF-415 + + + CONF-417 + + + CONF-419 + + + CONF-420 + + + CONF-421 + + + + CONF:7298 + R2.0=CONF:1098-7298 + + + CONF:7300 + R2.0=CONF:1098-7300 + + + + CONF:7301 + R2.0=CONF:1098-7301 + + + CONF:7304 + + + CONF:7305 + + + CONF:7307 + + + CONF:7308 + R2.0=CONF:1098-7308 + + + CONF:7309 + R2.0=CONF:1098-7309 + + + + <p>The Vital Signs Organizer groups vital signs, which is similar to the Result Organizer, but with further constraints. </p> + +<p>An appropriate nullFlavor can be used when organizer/code or organizer/id is unknown.</p> + + + + + + + <p> +The vital signs organizer is a cluster of vital signs observations. +</p> + + + + + + + + + + + + + + + The organizer shall have an &lt;id> element. + + + + + + + + + + + The observations have all been completed. + + + + + + represents clinically effective time of the measurement, which is most likely when the measurement was performed (e.g., a BP measurement). (CONF:7289). + + + + + + + + + + + + + + + CONF:7281, CONF:10528 + + + CONF-398 + + + CONF-400 + + + CONF-401 + + + CONF-402 + + + CONF-403 + + + CONF-404 + + + CONF-387 + + + 6.3.4.21.3 + + + + CONF:7283 + + + + CONF:7284, R2.1=CONF:1198-19120 + + + CONF:7288 + + + + CONF:7285, CONF:15946 + + + + CONF:7270, R2.1=CONF:1198-7270 + + + CONF:7271 + CONF:7272 + + + CONF:7297 + R2.0=CONF:1098-7297 + + + + CONF:7303 + R2.0=CONF:1098-19119 + + + + CONF:15243 + + + + CONF:15963 + + + + + + CONF:7302 + + + CONF:9966, R2.1=CONF:1198-9966 + + + CONF:9967 + + + CONF:7279, R2.1=CONF:1198-7279 + + + CONF:7280, R2.1=CONF:1198-7280 + + + CONF:7282, R2.1=CONF:1198-7282 + + + CONF:15242 + + + CONF:15962 + + + + CONF:15943 + + + CONF:15944 + + + CONF:15945 + + + + This template represents the observation that a patient has died. It also represents the cause of death, indicated by an entryRelationship type of 'CAUS'. This template allows for more specific representation of data than is available with the use of dischargeDispositionCode. + + + + + + + + + + + + + + CONF:1198-14871, CONF:1198-14872, CONF:1198-32541 + + + + + CONF:1198-19135, CONF:1198-32158 + + + CONF:1198-14853 + + + + This template represents measurement of common vital signs. Vital signs are represented with additional vocabulary constraints for type of vital sign and unit of measure. + + + + Analysis + OCL + This constraint is being overridden as it has been removed in v2 and should never fire + true + + + + + Analysis + OCL + This constraint is being overridden as it has been removed in v2 and should never fire + true + + + + + Analysis + OCL + This constraint is being overridden as it has been removed in v2 and should never fire + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CONF:1098-7299 + CONF:1098-10527 + CONF:1098-32574 + + + + CONF:1098-7305 + + + + + + CONF:1098-7310 + + + + This template provides a mechanism for grouping vital signs (e.g., grouping systolic blood pressure and diastolic blood pressure). + + + + + + Compatibility support for C-CDA R1.1 and C-CDA 2.1: A vitals organizer conformant to both C-CDA 1.1 and C-CDA 2.1 would contain the SNOMED code (46680005) from R1.1 in the root code and a LOINC code in the translation. A vitals organizer conformant to only C-CDA 2.1 would only contain the LOINC code in the root code. + + + + + + + Note: The effectiveTime may be a timestamp or an interval that spans the effectiveTimes of the contained vital signs observations. DSTU:1371 + + + + + + + + + + + + + + + + + INLINE + + + + + + + + + + + + + + CONF:1198-7281 + CONF:1198-10528 + CONF:1198-32582 + + + + CONF:1198-7288 + DSTU:1371 + + + + + + CONF:1198-7285, CONF:1198-15946 + + + + CONF:1198-32741, CONF:1198-32742 + + + CONF:1198-32740 + + + + + + CONF:1198-31153 + + + + + + CONF:1198-14868, CONF:1198-14875, CONF:1198-14870 + + + + <p> +The Vital Signs Section contains relevant vital signs for the context and use case of the document type, such as blood pressure, heart rate, respiratory rate, height, weight, body mass index, head circumference, pulse oximetry, temperature, and body surface area. The section should include notable vital signs such as the most recent, maximum and/or minimum, baseline, or relevant trends. +</p> +<p> +Vital signs are represented in the same way as other results, but are aggregated into their own section to follow clinical conventions. +</p> + + + + + + + + + + + + + CONF:1198-7268, CONF:1198-10451, CONF:1198-32584 + + + + + CONF:1198-15243, CONF:1198-30902 + + + CONF:1198-15242 + + + + + + CONF:1198-7271, CONF:1198-15517 + + + + <p> +The Vital Signs Section contains relevant vital signs for the context and use case of the document type, such as blood pressure, heart rate, respiratory rate, height, weight, body mass index, head circumference, pulse oximetry, temperature, and body surface area. The section should include notable vital signs such as the most recent, maximum and/or minimum, baseline, or relevant trends. +</p> +<p> +Vital signs are represented in the same way as other results, but are aggregated into their own section to follow clinical conventions. +</p> + + + + + + + + + + + + + + + + If section/@nullFlavor is not present: + + + + + + + + + + + + + + + + + CONF:1198-7273, CONF:1198-10452, CONF:1198-32585 + + + + + CONF:1198-15963, CONF:1198-30903 + + + CONF:1198-15962 + + + + + + CONF:1198-7276, CONF:1198-15964 + + + CONF:1198-7275 + + + CONF:1198-9967 + + + CONF:1198-32874 + + + R2.0=CONF:1098-7303 + + + CONF:1098-7304 + + + CONF:1098-7307 + + + + CONF:1098-32886 + DSTU:1220 + DSTU:814 + + + + R2.1=CONF:1198-7284 + + + + + + CONF:1198-32743 + + + + CONF:1198-32744 + CONF:1198-32746 + + + + This clinical statement represents the observation that a patient has expired. It also represents the cause of death, indicated by an entryRelationship type of "CAUS". + + + + Analysis + OCL + effectiveTime SHALL contain exactly one [1..1] low + not self.effectiveTime.oclIsUndefined() implies self.effectiveTime.low->size() = 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + CONF:14871, CONF:14872 + + + CONF:14874, R2.1=CONF:1198-14874 + + + CONF:14851, R2.1=CONF:1198-14851 + + + CONF:14852, R2.1=CONF:1198-14852 + + + CONF:14873, R2.1=CONF:1198-14873 + + + + + + CONF:14853 + + + CONF:14854, R2.1=CONF:1198-14854 + + + + R2.1=CONF:1198-19095 + + + CONF:14855, R2.1=CONF:1198-14855 + + + CONF:14857, R2.1=CONF:1198-14857 + + + + CONF:15142, R2.1=CONF:1198-15142 + + + CONF:14868, CONF:14875, CONF:14870 + + diff --git a/tests/org.openhealthtools.mdht.uml.cda.consol2.tests/src/test/java/org/openhealthtools/mdht/uml/cda/consol/tests/AdvanceDirectivesSectionTest.java b/tests/org.openhealthtools.mdht.uml.cda.consol2.tests/src/test/java/org/openhealthtools/mdht/uml/cda/consol/tests/AdvanceDirectivesSectionTest.java index 00c856898..99ffabfdf 100644 --- a/tests/org.openhealthtools.mdht.uml.cda.consol2.tests/src/test/java/org/openhealthtools/mdht/uml/cda/consol/tests/AdvanceDirectivesSectionTest.java +++ b/tests/org.openhealthtools.mdht.uml.cda.consol2.tests/src/test/java/org/openhealthtools/mdht/uml/cda/consol/tests/AdvanceDirectivesSectionTest.java @@ -33,13 +33,13 @@ *

* The following operations are supported: *

    - *
  • {@link org.openhealthtools.mdht.uml.cda.consol.AdvanceDirectivesSection#validateAdvanceDirectivesSectionCodeP(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Advance Directives Section Code P}
  • - *
  • {@link org.openhealthtools.mdht.uml.cda.consol.AdvanceDirectivesSection#validateAdvanceDirectivesSectionCode(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Advance Directives Section Code}
  • *
  • {@link org.openhealthtools.mdht.uml.cda.consol.AdvanceDirectivesSection#validateAdvanceDirectivesSectionTitle(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Advance Directives Section Title}
  • *
  • {@link org.openhealthtools.mdht.uml.cda.consol.AdvanceDirectivesSection#validateAdvanceDirectivesSectionText(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Advance Directives Section Text}
  • *
  • {@link org.openhealthtools.mdht.uml.cda.consol.AdvanceDirectivesSection#validateAdvanceDirectivesSectionAdvanceDirectiveObservation(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Advance Directives Section Advance Directive Observation}
  • *
  • {@link org.openhealthtools.mdht.uml.cda.consol.AdvanceDirectivesSection#getConsolAdvanceDirectiveObservations() Get Consol Advance Directive Observations}
  • *
  • {@link org.openhealthtools.mdht.uml.cda.consol.AdvanceDirectivesSection#validateAdvanceDirectivesSectionEntriesOptionalTemplateId(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Advance Directives Section Entries Optional Template Id}
  • + *
  • {@link org.openhealthtools.mdht.uml.cda.consol.AdvanceDirectivesSection#validateAdvanceDirectivesSectionEntriesOptionalCodeP(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Advance Directives Section Entries Optional Code P}
  • + *
  • {@link org.openhealthtools.mdht.uml.cda.consol.AdvanceDirectivesSection#validateAdvanceDirectivesSectionEntriesOptionalCode(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Advance Directives Section Entries Optional Code}
  • *
*

* @@ -53,10 +53,10 @@ public class AdvanceDirectivesSectionTest extends CDAValidationTest { * @generated */ @Test - public void testValidateAdvanceDirectivesSectionCodeP() { - OperationsTestCase validateAdvanceDirectivesSectionCodePTestCase = new OperationsTestCase( - "validateAdvanceDirectivesSectionCodeP", - operationsForOCL.getOCLValue("VALIDATE_ADVANCE_DIRECTIVES_SECTION_CODE_P__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP"), + public void testValidateAdvanceDirectivesSectionTitle() { + OperationsTestCase validateAdvanceDirectivesSectionTitleTestCase = new OperationsTestCase( + "validateAdvanceDirectivesSectionTitle", + operationsForOCL.getOCLValue("VALIDATE_ADVANCE_DIRECTIVES_SECTION_TITLE__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP"), objectFactory) { @Override @@ -68,18 +68,21 @@ protected void updateToFail(AdvanceDirectivesSection target) { protected void updateToPass(AdvanceDirectivesSection target) { target.init(); + ST title = DatatypesFactory.eINSTANCE.createST("title"); + target.setTitle(title); + } @Override protected boolean validate(EObject objectToTest, BasicDiagnostic diagnostician, Map map) { - return AdvanceDirectivesSectionOperations.validateAdvanceDirectivesSectionCodeP( + return AdvanceDirectivesSectionOperations.validateAdvanceDirectivesSectionTitle( (AdvanceDirectivesSection) objectToTest, diagnostician, map); } }; - validateAdvanceDirectivesSectionCodePTestCase.doValidationTest(); + validateAdvanceDirectivesSectionTitleTestCase.doValidationTest(); } /** @@ -87,10 +90,10 @@ protected boolean validate(EObject objectToTest, BasicDiagnostic diagnostician, * @generated */ @Test - public void testValidateAdvanceDirectivesSectionCode() { - OperationsTestCase validateAdvanceDirectivesSectionCodeTestCase = new OperationsTestCase( - "validateAdvanceDirectivesSectionCode", - operationsForOCL.getOCLValue("VALIDATE_ADVANCE_DIRECTIVES_SECTION_CODE__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP"), + public void testValidateAdvanceDirectivesSectionText() { + OperationsTestCase validateAdvanceDirectivesSectionTextTestCase = new OperationsTestCase( + "validateAdvanceDirectivesSectionText", + operationsForOCL.getOCLValue("VALIDATE_ADVANCE_DIRECTIVES_SECTION_TEXT__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP"), objectFactory) { @Override @@ -102,62 +105,56 @@ protected void updateToFail(AdvanceDirectivesSection target) { protected void updateToPass(AdvanceDirectivesSection target) { target.init(); - } + StrucDocText text = CDAFactory.eINSTANCE.createStrucDocText(); + target.setText(text); - @Override - protected void setDependency(AdvanceDirectivesSection target) { - Collection passToken = new java.util.ArrayList(3); - passToken.add(target); - map.put("org.openhealthtools.mdht.uml.cda.consol.AdvanceDirectivesSectionCodeP", passToken); } @Override protected boolean validate(EObject objectToTest, BasicDiagnostic diagnostician, Map map) { - return AdvanceDirectivesSectionOperations.validateAdvanceDirectivesSectionCode( + return AdvanceDirectivesSectionOperations.validateAdvanceDirectivesSectionText( (AdvanceDirectivesSection) objectToTest, diagnostician, map); } }; - validateAdvanceDirectivesSectionCodeTestCase.doValidationTest(); + validateAdvanceDirectivesSectionTextTestCase.doValidationTest(); } /** * - * @generated + * @generated not */ @Test - public void testValidateAdvanceDirectivesSectionTitle() { - OperationsTestCase validateAdvanceDirectivesSectionTitleTestCase = new OperationsTestCase( - "validateAdvanceDirectivesSectionTitle", - operationsForOCL.getOCLValue("VALIDATE_ADVANCE_DIRECTIVES_SECTION_TITLE__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP"), + public void testValidateAdvanceDirectivesSectionAdvanceDirectiveObservation() { + OperationsTestCase validateAdvanceDirectivesSectionAdvanceDirectiveObservationTestCase = new OperationsTestCase( + "validateAdvanceDirectivesSectionAdvanceDirectiveObservation", + operationsForOCL.getOCLValue( + "VALIDATE_ADVANCE_DIRECTIVES_SECTION_ADVANCE_DIRECTIVE_OBSERVATION__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP"), objectFactory) { @Override protected void updateToFail(AdvanceDirectivesSection target) { - + target.init(); } @Override protected void updateToPass(AdvanceDirectivesSection target) { - target.init(); - - ST title = DatatypesFactory.eINSTANCE.createST("title"); - target.setTitle(title); + target.addObservation(ConsolFactory.eINSTANCE.createAdvanceDirectiveObservation().init()); } @Override protected boolean validate(EObject objectToTest, BasicDiagnostic diagnostician, Map map) { - return AdvanceDirectivesSectionOperations.validateAdvanceDirectivesSectionTitle( + return AdvanceDirectivesSectionOperations.validateAdvanceDirectivesSectionAdvanceDirectiveObservation( (AdvanceDirectivesSection) objectToTest, diagnostician, map); } }; - validateAdvanceDirectivesSectionTitleTestCase.doValidationTest(); + validateAdvanceDirectivesSectionAdvanceDirectiveObservationTestCase.doValidationTest(); } /** @@ -165,10 +162,23 @@ protected boolean validate(EObject objectToTest, BasicDiagnostic diagnostician, * @generated */ @Test - public void testValidateAdvanceDirectivesSectionText() { - OperationsTestCase validateAdvanceDirectivesSectionTextTestCase = new OperationsTestCase( - "validateAdvanceDirectivesSectionText", - operationsForOCL.getOCLValue("VALIDATE_ADVANCE_DIRECTIVES_SECTION_TEXT__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP"), + public void testGetConsolAdvanceDirectiveObservations() { + + AdvanceDirectivesSection target = objectFactory.create(); + target.getConsolAdvanceDirectiveObservations(); + + } + + /** + * + * @generated + */ + @Test + public void testValidateAdvanceDirectivesSectionEntriesOptionalTemplateId() { + OperationsTestCase validateAdvanceDirectivesSectionEntriesOptionalTemplateIdTestCase = new OperationsTestCase( + "validateAdvanceDirectivesSectionEntriesOptionalTemplateId", + operationsForOCL.getOCLValue( + "VALIDATE_ADVANCE_DIRECTIVES_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP"), objectFactory) { @Override @@ -180,56 +190,54 @@ protected void updateToFail(AdvanceDirectivesSection target) { protected void updateToPass(AdvanceDirectivesSection target) { target.init(); - StrucDocText text = CDAFactory.eINSTANCE.createStrucDocText(); - target.setText(text); - } @Override protected boolean validate(EObject objectToTest, BasicDiagnostic diagnostician, Map map) { - return AdvanceDirectivesSectionOperations.validateAdvanceDirectivesSectionText( + return AdvanceDirectivesSectionOperations.validateAdvanceDirectivesSectionEntriesOptionalTemplateId( (AdvanceDirectivesSection) objectToTest, diagnostician, map); } }; - validateAdvanceDirectivesSectionTextTestCase.doValidationTest(); + validateAdvanceDirectivesSectionEntriesOptionalTemplateIdTestCase.doValidationTest(); } /** * - * @generated not + * @generated */ @Test - public void testValidateAdvanceDirectivesSectionAdvanceDirectiveObservation() { - OperationsTestCase validateAdvanceDirectivesSectionAdvanceDirectiveObservationTestCase = new OperationsTestCase( - "validateAdvanceDirectivesSectionAdvanceDirectiveObservation", + + public void testValidateAdvanceDirectivesSectionEntriesOptionalCodeP() { + OperationsTestCase validateAdvanceDirectivesSectionEntriesOptionalCodePTestCase = new OperationsTestCase( + "validateAdvanceDirectivesSectionEntriesOptionalCodeP", operationsForOCL.getOCLValue( - "VALIDATE_ADVANCE_DIRECTIVES_SECTION_ADVANCE_DIRECTIVE_OBSERVATION__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP"), + "VALIDATE_ADVANCE_DIRECTIVES_SECTION_ENTRIES_OPTIONAL_CODE_P__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP"), objectFactory) { @Override protected void updateToFail(AdvanceDirectivesSection target) { - target.init(); + } @Override protected void updateToPass(AdvanceDirectivesSection target) { - target.addObservation(ConsolFactory.eINSTANCE.createAdvanceDirectiveObservation().init()); + target.init(); } @Override protected boolean validate(EObject objectToTest, BasicDiagnostic diagnostician, Map map) { - return AdvanceDirectivesSectionOperations.validateAdvanceDirectivesSectionAdvanceDirectiveObservation( + return AdvanceDirectivesSectionOperations.validateAdvanceDirectivesSectionEntriesOptionalCodeP( (AdvanceDirectivesSection) objectToTest, diagnostician, map); } }; - validateAdvanceDirectivesSectionAdvanceDirectiveObservationTestCase.doValidationTest(); + validateAdvanceDirectivesSectionEntriesOptionalCodePTestCase.doValidationTest(); } /** @@ -237,23 +245,12 @@ protected boolean validate(EObject objectToTest, BasicDiagnostic diagnostician, * @generated */ @Test - public void testGetConsolAdvanceDirectiveObservations() { - - AdvanceDirectivesSection target = objectFactory.create(); - target.getConsolAdvanceDirectiveObservations(); - - } - /** - * - * @generated - */ - @Test - public void testValidateAdvanceDirectivesSectionEntriesOptionalTemplateId() { - OperationsTestCase validateAdvanceDirectivesSectionEntriesOptionalTemplateIdTestCase = new OperationsTestCase( - "validateAdvanceDirectivesSectionEntriesOptionalTemplateId", + public void testValidateAdvanceDirectivesSectionEntriesOptionalCode() { + OperationsTestCase validateAdvanceDirectivesSectionEntriesOptionalCodeTestCase = new OperationsTestCase( + "validateAdvanceDirectivesSectionEntriesOptionalCode", operationsForOCL.getOCLValue( - "VALIDATE_ADVANCE_DIRECTIVES_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP"), + "VALIDATE_ADVANCE_DIRECTIVES_SECTION_ENTRIES_OPTIONAL_CODE__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP"), objectFactory) { @Override @@ -267,16 +264,24 @@ protected void updateToPass(AdvanceDirectivesSection target) { } + @Override + protected void setDependency(AdvanceDirectivesSection target) { + Collection passToken = new java.util.ArrayList(3); + passToken.add(target); + map.put( + "org.openhealthtools.mdht.uml.cda.consol.AdvanceDirectivesSectionEntriesOptionalCodeP", passToken); + } + @Override protected boolean validate(EObject objectToTest, BasicDiagnostic diagnostician, Map map) { - return AdvanceDirectivesSectionOperations.validateAdvanceDirectivesSectionEntriesOptionalTemplateId( + return AdvanceDirectivesSectionOperations.validateAdvanceDirectivesSectionEntriesOptionalCode( (AdvanceDirectivesSection) objectToTest, diagnostician, map); } }; - validateAdvanceDirectivesSectionEntriesOptionalTemplateIdTestCase.doValidationTest(); + validateAdvanceDirectivesSectionEntriesOptionalCodeTestCase.doValidationTest(); } /** diff --git a/tests/org.openhealthtools.mdht.uml.cda.consol2.tests/src/test/java/org/openhealthtools/mdht/uml/cda/consol/tests/ImmunizationsSectionTest.java b/tests/org.openhealthtools.mdht.uml.cda.consol2.tests/src/test/java/org/openhealthtools/mdht/uml/cda/consol/tests/ImmunizationsSectionTest.java index 39a9de690..866eb8103 100644 --- a/tests/org.openhealthtools.mdht.uml.cda.consol2.tests/src/test/java/org/openhealthtools/mdht/uml/cda/consol/tests/ImmunizationsSectionTest.java +++ b/tests/org.openhealthtools.mdht.uml.cda.consol2.tests/src/test/java/org/openhealthtools/mdht/uml/cda/consol/tests/ImmunizationsSectionTest.java @@ -34,13 +34,13 @@ *

* The following operations are supported: *

    - *
  • {@link org.openhealthtools.mdht.uml.cda.consol.ImmunizationsSection#validateImmunizationsSectionCodeP(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Immunizations Section Code P}
  • - *
  • {@link org.openhealthtools.mdht.uml.cda.consol.ImmunizationsSection#validateImmunizationsSectionCode(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Immunizations Section Code}
  • *
  • {@link org.openhealthtools.mdht.uml.cda.consol.ImmunizationsSection#validateImmunizationsSectionTitle(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Immunizations Section Title}
  • *
  • {@link org.openhealthtools.mdht.uml.cda.consol.ImmunizationsSection#validateImmunizationsSectionText(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Immunizations Section Text}
  • *
  • {@link org.openhealthtools.mdht.uml.cda.consol.ImmunizationsSection#validateImmunizationsSectionImmunization(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Immunizations Section Immunization}
  • *
  • {@link org.openhealthtools.mdht.uml.cda.consol.ImmunizationsSection#getImmunizations() Get Immunizations}
  • *
  • {@link org.openhealthtools.mdht.uml.cda.consol.ImmunizationsSection#validateImmunizationsSectionEntriesOptionalTemplateId(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Immunizations Section Entries Optional Template Id}
  • + *
  • {@link org.openhealthtools.mdht.uml.cda.consol.ImmunizationsSection#validateImmunizationsSectionEntriesOptionalCodeP(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Immunizations Section Entries Optional Code P}
  • + *
  • {@link org.openhealthtools.mdht.uml.cda.consol.ImmunizationsSection#validateImmunizationsSectionEntriesOptionalCode(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Immunizations Section Entries Optional Code}
  • *
*

* @@ -54,10 +54,10 @@ public class ImmunizationsSectionTest extends CDAValidationTest { * @generated */ @Test - public void testValidateImmunizationsSectionCodeP() { - OperationsTestCase validateImmunizationsSectionCodePTestCase = new OperationsTestCase( - "validateImmunizationsSectionCodeP", - operationsForOCL.getOCLValue("VALIDATE_IMMUNIZATIONS_SECTION_CODE_P__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP"), + public void testValidateImmunizationsSectionTitle() { + OperationsTestCase validateImmunizationsSectionTitleTestCase = new OperationsTestCase( + "validateImmunizationsSectionTitle", + operationsForOCL.getOCLValue("VALIDATE_IMMUNIZATIONS_SECTION_TITLE__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP"), objectFactory) { @Override @@ -69,18 +69,21 @@ protected void updateToFail(ImmunizationsSection target) { protected void updateToPass(ImmunizationsSection target) { target.init(); + ST title = DatatypesFactory.eINSTANCE.createST("title"); + target.setTitle(title); + } @Override protected boolean validate(EObject objectToTest, BasicDiagnostic diagnostician, Map map) { - return ImmunizationsSectionOperations.validateImmunizationsSectionCodeP( + return ImmunizationsSectionOperations.validateImmunizationsSectionTitle( (ImmunizationsSection) objectToTest, diagnostician, map); } }; - validateImmunizationsSectionCodePTestCase.doValidationTest(); + validateImmunizationsSectionTitleTestCase.doValidationTest(); } /** @@ -88,10 +91,10 @@ protected boolean validate(EObject objectToTest, BasicDiagnostic diagnostician, * @generated */ @Test - public void testValidateImmunizationsSectionCode() { - OperationsTestCase validateImmunizationsSectionCodeTestCase = new OperationsTestCase( - "validateImmunizationsSectionCode", - operationsForOCL.getOCLValue("VALIDATE_IMMUNIZATIONS_SECTION_CODE__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP"), + public void testValidateImmunizationsSectionText() { + OperationsTestCase validateImmunizationsSectionTextTestCase = new OperationsTestCase( + "validateImmunizationsSectionText", + operationsForOCL.getOCLValue("VALIDATE_IMMUNIZATIONS_SECTION_TEXT__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP"), objectFactory) { @Override @@ -103,36 +106,32 @@ protected void updateToFail(ImmunizationsSection target) { protected void updateToPass(ImmunizationsSection target) { target.init(); - } + StrucDocText text = CDAFactory.eINSTANCE.createStrucDocText(); + target.setText(text); - @Override - protected void setDependency(ImmunizationsSection target) { - Collection passToken = new java.util.ArrayList(3); - passToken.add(target); - map.put("org.openhealthtools.mdht.uml.cda.consol.ImmunizationsSectionCodeP", passToken); } @Override protected boolean validate(EObject objectToTest, BasicDiagnostic diagnostician, Map map) { - return ImmunizationsSectionOperations.validateImmunizationsSectionCode( + return ImmunizationsSectionOperations.validateImmunizationsSectionText( (ImmunizationsSection) objectToTest, diagnostician, map); } }; - validateImmunizationsSectionCodeTestCase.doValidationTest(); + validateImmunizationsSectionTextTestCase.doValidationTest(); } /** * - * @generated + * @generated not */ @Test - public void testValidateImmunizationsSectionTitle() { - OperationsTestCase validateImmunizationsSectionTitleTestCase = new OperationsTestCase( - "validateImmunizationsSectionTitle", - operationsForOCL.getOCLValue("VALIDATE_IMMUNIZATIONS_SECTION_TITLE__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP"), + public void testValidateImmunizationsSectionImmunization() { + OperationsTestCase validateImmunizationsSectionImmunizationTestCase = new OperationsTestCase( + "validateImmunizationsSectionImmunization", + operationsForOCL.getOCLValue("VALIDATE_IMMUNIZATIONS_SECTION_IMMUNIZATION__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP"), objectFactory) { @Override @@ -144,21 +143,22 @@ protected void updateToFail(ImmunizationsSection target) { protected void updateToPass(ImmunizationsSection target) { target.init(); - ST title = DatatypesFactory.eINSTANCE.createST("title"); - target.setTitle(title); + ImmunizationActivity immunizationActivity = ConsolFactory.eINSTANCE.createImmunizationActivity().init(); + + target.addSubstanceAdministration(immunizationActivity); } @Override protected boolean validate(EObject objectToTest, BasicDiagnostic diagnostician, Map map) { - return ImmunizationsSectionOperations.validateImmunizationsSectionTitle( + return ImmunizationsSectionOperations.validateImmunizationsSectionImmunization( (ImmunizationsSection) objectToTest, diagnostician, map); } }; - validateImmunizationsSectionTitleTestCase.doValidationTest(); + validateImmunizationsSectionImmunizationTestCase.doValidationTest(); } /** @@ -166,10 +166,23 @@ protected boolean validate(EObject objectToTest, BasicDiagnostic diagnostician, * @generated */ @Test - public void testValidateImmunizationsSectionText() { - OperationsTestCase validateImmunizationsSectionTextTestCase = new OperationsTestCase( - "validateImmunizationsSectionText", - operationsForOCL.getOCLValue("VALIDATE_IMMUNIZATIONS_SECTION_TEXT__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP"), + public void testGetImmunizations() { + + ImmunizationsSection target = objectFactory.create(); + target.getImmunizations(); + + } + + /** + * + * @generated + */ + @Test + public void testValidateImmunizationsSectionEntriesOptionalTemplateId() { + OperationsTestCase validateImmunizationsSectionEntriesOptionalTemplateIdTestCase = new OperationsTestCase( + "validateImmunizationsSectionEntriesOptionalTemplateId", + operationsForOCL.getOCLValue( + "VALIDATE_IMMUNIZATIONS_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP"), objectFactory) { @Override @@ -181,32 +194,31 @@ protected void updateToFail(ImmunizationsSection target) { protected void updateToPass(ImmunizationsSection target) { target.init(); - StrucDocText text = CDAFactory.eINSTANCE.createStrucDocText(); - target.setText(text); - } @Override protected boolean validate(EObject objectToTest, BasicDiagnostic diagnostician, Map map) { - return ImmunizationsSectionOperations.validateImmunizationsSectionText( + return ImmunizationsSectionOperations.validateImmunizationsSectionEntriesOptionalTemplateId( (ImmunizationsSection) objectToTest, diagnostician, map); } }; - validateImmunizationsSectionTextTestCase.doValidationTest(); + validateImmunizationsSectionEntriesOptionalTemplateIdTestCase.doValidationTest(); } /** * - * @generated not + * @generated */ @Test - public void testValidateImmunizationsSectionImmunization() { - OperationsTestCase validateImmunizationsSectionImmunizationTestCase = new OperationsTestCase( - "validateImmunizationsSectionImmunization", - operationsForOCL.getOCLValue("VALIDATE_IMMUNIZATIONS_SECTION_IMMUNIZATION__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP"), + + public void testValidateImmunizationsSectionEntriesOptionalCodeP() { + OperationsTestCase validateImmunizationsSectionEntriesOptionalCodePTestCase = new OperationsTestCase( + "validateImmunizationsSectionEntriesOptionalCodeP", + operationsForOCL.getOCLValue( + "VALIDATE_IMMUNIZATIONS_SECTION_ENTRIES_OPTIONAL_CODE_P__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP"), objectFactory) { @Override @@ -218,22 +230,18 @@ protected void updateToFail(ImmunizationsSection target) { protected void updateToPass(ImmunizationsSection target) { target.init(); - ImmunizationActivity immunizationActivity = ConsolFactory.eINSTANCE.createImmunizationActivity().init(); - - target.addSubstanceAdministration(immunizationActivity); - } @Override protected boolean validate(EObject objectToTest, BasicDiagnostic diagnostician, Map map) { - return ImmunizationsSectionOperations.validateImmunizationsSectionImmunization( + return ImmunizationsSectionOperations.validateImmunizationsSectionEntriesOptionalCodeP( (ImmunizationsSection) objectToTest, diagnostician, map); } }; - validateImmunizationsSectionImmunizationTestCase.doValidationTest(); + validateImmunizationsSectionEntriesOptionalCodePTestCase.doValidationTest(); } /** @@ -241,23 +249,12 @@ protected boolean validate(EObject objectToTest, BasicDiagnostic diagnostician, * @generated */ @Test - public void testGetImmunizations() { - - ImmunizationsSection target = objectFactory.create(); - target.getImmunizations(); - } - - /** - * - * @generated - */ - @Test - public void testValidateImmunizationsSectionEntriesOptionalTemplateId() { - OperationsTestCase validateImmunizationsSectionEntriesOptionalTemplateIdTestCase = new OperationsTestCase( - "validateImmunizationsSectionEntriesOptionalTemplateId", + public void testValidateImmunizationsSectionEntriesOptionalCode() { + OperationsTestCase validateImmunizationsSectionEntriesOptionalCodeTestCase = new OperationsTestCase( + "validateImmunizationsSectionEntriesOptionalCode", operationsForOCL.getOCLValue( - "VALIDATE_IMMUNIZATIONS_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP"), + "VALIDATE_IMMUNIZATIONS_SECTION_ENTRIES_OPTIONAL_CODE__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP"), objectFactory) { @Override @@ -271,16 +268,23 @@ protected void updateToPass(ImmunizationsSection target) { } + @Override + protected void setDependency(ImmunizationsSection target) { + Collection passToken = new java.util.ArrayList(3); + passToken.add(target); + map.put("org.openhealthtools.mdht.uml.cda.consol.ImmunizationsSectionEntriesOptionalCodeP", passToken); + } + @Override protected boolean validate(EObject objectToTest, BasicDiagnostic diagnostician, Map map) { - return ImmunizationsSectionOperations.validateImmunizationsSectionEntriesOptionalTemplateId( + return ImmunizationsSectionOperations.validateImmunizationsSectionEntriesOptionalCode( (ImmunizationsSection) objectToTest, diagnostician, map); } }; - validateImmunizationsSectionEntriesOptionalTemplateIdTestCase.doValidationTest(); + validateImmunizationsSectionEntriesOptionalCodeTestCase.doValidationTest(); } /** diff --git a/tests/org.openhealthtools.mdht.uml.cda.consol2.tests/src/test/java/org/openhealthtools/mdht/uml/cda/consol/tests/VitalSignsSectionTest.java b/tests/org.openhealthtools.mdht.uml.cda.consol2.tests/src/test/java/org/openhealthtools/mdht/uml/cda/consol/tests/VitalSignsSectionTest.java index 825b816a2..b0dca1527 100644 --- a/tests/org.openhealthtools.mdht.uml.cda.consol2.tests/src/test/java/org/openhealthtools/mdht/uml/cda/consol/tests/VitalSignsSectionTest.java +++ b/tests/org.openhealthtools.mdht.uml.cda.consol2.tests/src/test/java/org/openhealthtools/mdht/uml/cda/consol/tests/VitalSignsSectionTest.java @@ -34,12 +34,12 @@ *

* The following operations are supported: *

    - *
  • {@link org.openhealthtools.mdht.uml.cda.consol.VitalSignsSection#validateVitalSignsSectionCodeP(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Vital Signs Section Code P}
  • - *
  • {@link org.openhealthtools.mdht.uml.cda.consol.VitalSignsSection#validateVitalSignsSectionCode(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Vital Signs Section Code}
  • *
  • {@link org.openhealthtools.mdht.uml.cda.consol.VitalSignsSection#validateVitalSignsSectionText(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Vital Signs Section Text}
  • *
  • {@link org.openhealthtools.mdht.uml.cda.consol.VitalSignsSection#validateVitalSignsSectionVitalSignsOrganizer(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Vital Signs Section Vital Signs Organizer}
  • *
  • {@link org.openhealthtools.mdht.uml.cda.consol.VitalSignsSection#getConsolVitalSignsOrganizers() Get Consol Vital Signs Organizers}
  • *
  • {@link org.openhealthtools.mdht.uml.cda.consol.VitalSignsSection#validateVitalSignsSectionEntriesOptionalTemplateId(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Vital Signs Section Entries Optional Template Id}
  • + *
  • {@link org.openhealthtools.mdht.uml.cda.consol.VitalSignsSection#validateVitalSignsSectionEntriesOptionalCodeP(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Vital Signs Section Entries Optional Code P}
  • + *
  • {@link org.openhealthtools.mdht.uml.cda.consol.VitalSignsSection#validateVitalSignsSectionEntriesOptionalCode(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Vital Signs Section Entries Optional Code}
  • *
  • {@link org.openhealthtools.mdht.uml.cda.consol.VitalSignsSection#validateVitalSignsSectionEntriesOptionalTitle(org.eclipse.emf.common.util.DiagnosticChain, java.util.Map) Validate Vital Signs Section Entries Optional Title}
  • *
*

@@ -54,10 +54,10 @@ public class VitalSignsSectionTest extends CDAValidationTest { * @generated */ @Test - public void testValidateVitalSignsSectionCodeP() { - OperationsTestCase validateVitalSignsSectionCodePTestCase = new OperationsTestCase( - "validateVitalSignsSectionCodeP", - operationsForOCL.getOCLValue("VALIDATE_VITAL_SIGNS_SECTION_CODE_P__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP"), + public void testValidateVitalSignsSectionText() { + OperationsTestCase validateVitalSignsSectionTextTestCase = new OperationsTestCase( + "validateVitalSignsSectionText", + operationsForOCL.getOCLValue("VALIDATE_VITAL_SIGNS_SECTION_TEXT__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP"), objectFactory) { @Override @@ -69,29 +69,32 @@ protected void updateToFail(VitalSignsSection target) { protected void updateToPass(VitalSignsSection target) { target.init(); + StrucDocText text = CDAFactory.eINSTANCE.createStrucDocText(); + target.setText(text); + } @Override protected boolean validate(EObject objectToTest, BasicDiagnostic diagnostician, Map map) { - return VitalSignsSectionOperations.validateVitalSignsSectionCodeP( + return VitalSignsSectionOperations.validateVitalSignsSectionText( (VitalSignsSection) objectToTest, diagnostician, map); } }; - validateVitalSignsSectionCodePTestCase.doValidationTest(); + validateVitalSignsSectionTextTestCase.doValidationTest(); } /** * - * @generated + * @generated NOT */ @Test - public void testValidateVitalSignsSectionCode() { - OperationsTestCase validateVitalSignsSectionCodeTestCase = new OperationsTestCase( - "validateVitalSignsSectionCode", - operationsForOCL.getOCLValue("VALIDATE_VITAL_SIGNS_SECTION_CODE__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP"), + public void testValidateVitalSignsSectionVitalSignsOrganizer() { + OperationsTestCase validateVitalSignsSectionVitalSignsOrganizerTestCase = new OperationsTestCase( + "validateVitalSignsSectionVitalSignsOrganizer", operationsForOCL.getOCLValue( + "VALIDATE_VITAL_SIGNS_SECTION_VITAL_SIGNS_ORGANIZER__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP"), objectFactory) { @Override @@ -103,25 +106,21 @@ protected void updateToFail(VitalSignsSection target) { protected void updateToPass(VitalSignsSection target) { target.init(); - } + VitalSignsOrganizer vitalSignsOrganizer = ConsolFactory.eINSTANCE.createVitalSignsOrganizer().init(); + target.addOrganizer(vitalSignsOrganizer); - @Override - protected void setDependency(VitalSignsSection target) { - Collection passToken = new java.util.ArrayList(3); - passToken.add(target); - map.put("org.openhealthtools.mdht.uml.cda.consol.VitalSignsSectionCodeP", passToken); } @Override protected boolean validate(EObject objectToTest, BasicDiagnostic diagnostician, Map map) { - return VitalSignsSectionOperations.validateVitalSignsSectionCode( + return VitalSignsSectionOperations.validateVitalSignsSectionVitalSignsOrganizer( (VitalSignsSection) objectToTest, diagnostician, map); } }; - validateVitalSignsSectionCodeTestCase.doValidationTest(); + validateVitalSignsSectionVitalSignsOrganizerTestCase.doValidationTest(); } /** @@ -129,10 +128,23 @@ protected boolean validate(EObject objectToTest, BasicDiagnostic diagnostician, * @generated */ @Test - public void testValidateVitalSignsSectionText() { - OperationsTestCase validateVitalSignsSectionTextTestCase = new OperationsTestCase( - "validateVitalSignsSectionText", - operationsForOCL.getOCLValue("VALIDATE_VITAL_SIGNS_SECTION_TEXT__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP"), + public void testGetConsolVitalSignsOrganizers() { + + VitalSignsSection target = objectFactory.create(); + target.getConsolVitalSignsOrganizers(); + + } + + /** + * + * @generated + */ + @Test + public void testValidateVitalSignsSectionEntriesOptionalTemplateId() { + OperationsTestCase validateVitalSignsSectionEntriesOptionalTemplateIdTestCase = new OperationsTestCase( + "validateVitalSignsSectionEntriesOptionalTemplateId", + operationsForOCL.getOCLValue( + "VALIDATE_VITAL_SIGNS_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP"), objectFactory) { @Override @@ -144,32 +156,31 @@ protected void updateToFail(VitalSignsSection target) { protected void updateToPass(VitalSignsSection target) { target.init(); - StrucDocText text = CDAFactory.eINSTANCE.createStrucDocText(); - target.setText(text); - } @Override protected boolean validate(EObject objectToTest, BasicDiagnostic diagnostician, Map map) { - return VitalSignsSectionOperations.validateVitalSignsSectionText( + return VitalSignsSectionOperations.validateVitalSignsSectionEntriesOptionalTemplateId( (VitalSignsSection) objectToTest, diagnostician, map); } }; - validateVitalSignsSectionTextTestCase.doValidationTest(); + validateVitalSignsSectionEntriesOptionalTemplateIdTestCase.doValidationTest(); } /** * - * @generated NOT + * @generated */ @Test - public void testValidateVitalSignsSectionVitalSignsOrganizer() { - OperationsTestCase validateVitalSignsSectionVitalSignsOrganizerTestCase = new OperationsTestCase( - "validateVitalSignsSectionVitalSignsOrganizer", operationsForOCL.getOCLValue( - "VALIDATE_VITAL_SIGNS_SECTION_VITAL_SIGNS_ORGANIZER__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP"), + + public void testValidateVitalSignsSectionEntriesOptionalCodeP() { + OperationsTestCase validateVitalSignsSectionEntriesOptionalCodePTestCase = new OperationsTestCase( + "validateVitalSignsSectionEntriesOptionalCodeP", + operationsForOCL.getOCLValue( + "VALIDATE_VITAL_SIGNS_SECTION_ENTRIES_OPTIONAL_CODE_P__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP"), objectFactory) { @Override @@ -181,21 +192,18 @@ protected void updateToFail(VitalSignsSection target) { protected void updateToPass(VitalSignsSection target) { target.init(); - VitalSignsOrganizer vitalSignsOrganizer = ConsolFactory.eINSTANCE.createVitalSignsOrganizer().init(); - target.addOrganizer(vitalSignsOrganizer); - } @Override protected boolean validate(EObject objectToTest, BasicDiagnostic diagnostician, Map map) { - return VitalSignsSectionOperations.validateVitalSignsSectionVitalSignsOrganizer( + return VitalSignsSectionOperations.validateVitalSignsSectionEntriesOptionalCodeP( (VitalSignsSection) objectToTest, diagnostician, map); } }; - validateVitalSignsSectionVitalSignsOrganizerTestCase.doValidationTest(); + validateVitalSignsSectionEntriesOptionalCodePTestCase.doValidationTest(); } /** @@ -203,23 +211,11 @@ protected boolean validate(EObject objectToTest, BasicDiagnostic diagnostician, * @generated */ @Test - public void testGetConsolVitalSignsOrganizers() { - - VitalSignsSection target = objectFactory.create(); - target.getConsolVitalSignsOrganizers(); - - } - /** - * - * @generated - */ - @Test - public void testValidateVitalSignsSectionEntriesOptionalTemplateId() { - OperationsTestCase validateVitalSignsSectionEntriesOptionalTemplateIdTestCase = new OperationsTestCase( - "validateVitalSignsSectionEntriesOptionalTemplateId", - operationsForOCL.getOCLValue( - "VALIDATE_VITAL_SIGNS_SECTION_ENTRIES_OPTIONAL_TEMPLATE_ID__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP"), + public void testValidateVitalSignsSectionEntriesOptionalCode() { + OperationsTestCase validateVitalSignsSectionEntriesOptionalCodeTestCase = new OperationsTestCase( + "validateVitalSignsSectionEntriesOptionalCode", operationsForOCL.getOCLValue( + "VALIDATE_VITAL_SIGNS_SECTION_ENTRIES_OPTIONAL_CODE__DIAGNOSTIC_CHAIN_MAP__EOCL_EXP"), objectFactory) { @Override @@ -233,16 +229,23 @@ protected void updateToPass(VitalSignsSection target) { } + @Override + protected void setDependency(VitalSignsSection target) { + Collection passToken = new java.util.ArrayList(3); + passToken.add(target); + map.put("org.openhealthtools.mdht.uml.cda.consol.VitalSignsSectionEntriesOptionalCodeP", passToken); + } + @Override protected boolean validate(EObject objectToTest, BasicDiagnostic diagnostician, Map map) { - return VitalSignsSectionOperations.validateVitalSignsSectionEntriesOptionalTemplateId( + return VitalSignsSectionOperations.validateVitalSignsSectionEntriesOptionalCode( (VitalSignsSection) objectToTest, diagnostician, map); } }; - validateVitalSignsSectionEntriesOptionalTemplateIdTestCase.doValidationTest(); + validateVitalSignsSectionEntriesOptionalCodeTestCase.doValidationTest(); } /**