All Downloads are FREE. Search and download functionalities are using the official Maven repository.
Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
org.openhealthtools.mdht.uml.cda.consol.MedicationCombinationMedication Maven / Gradle / Ivy
/*******************************************************************************
* Copyright (c) 2011, 2012 Sean Muir and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Sean Muir (JKM Software) - initial API and implementation
*******************************************************************************/
package org.openhealthtools.mdht.uml.cda.consol;
import java.util.Map;
import org.eclipse.emf.common.util.DiagnosticChain;
import org.eclipse.emf.common.util.EList;
import org.openhealthtools.mdht.uml.cda.Act;
/**
*
* A representation of the model object 'Medication Combination Medication '.
*
*
*
* A medication activity is used to describe what is administered.
* An indication describes the rationale for a medication activity. The indication can be an existing problem or can be a criterion that if met would warrant the activity. Criteria are typically associated with PRN (from the Latin "pro re nata", meaning "as needed") medications (e.g. "give Medication X as needed for nausea").
* A reaction represents an adverse event due to an administered substance. Significant reactions are to be listed in the Alerts section. Reactions in the Medications section can be used to track reactions associated with individual substance administrations or to track routine follow up to an administration (e.g. "no adverse reaction 30 minutes post administration").
*
* This content module describes the general structure for a medication. All medication administration acts will be derived
* from this content module.
*
*
* The <substanceAdministration> element may contain subordinate
* <substanceAdministration> elements in a related component entry to deal with special cases (see
* the section below on Special Cases). These cases include split, tapered, or conditional dosing, or
* combination medications. The use of subordinate <substanceAdministration> elements to deal with these cases is optional. The comment field should always be used in these cases to provide
* the same information as free text in the top level <substanceAdministration> element.
*
*
* This template identifier is used to identify medication administration events that require special
* processing to handle combination medications. The parent template is
* 1.3.6.1.4.1.19376.1.5.3.1.4.7. A combination medication is made up of two or more other
* medications. These may be prepackaged, such as Percocet, which is a combination of
* Acetaminophen and oxycodone in predefined ratios, or prepared by a pharmacist, such as a GI
* cocktail.
*
*
* In the case of the prepackaged combination, it is sufficient to supply the name of the
* combination drug product, and its strength designation in a single <substanceAdministation>
* entry. The dosing information should then be recorded as simply a count of administration units.
* In the latter case of a prepared mixture, the description of the mixture should be provided as the
* product name (e.g., "GI Cocktail") , in the <substanceAdministration> entry. That entry may, but
* is not required, to have subordinate <substanceAdministration> entries included beneath it to record the components of the mixture.
*
*
*
*
* @see org.openhealthtools.mdht.uml.cda.consol.ConsolPackage#getMedicationCombinationMedication()
* @model annotation="http://www.openhealthtools.org/mdht/uml/cda/annotation code.codeSystem='2.16.840.1.113883.6.96' constraints.validation.error='MedicationCombinationMedicationMoodCode MedicationCombinationMedicationInformationSource MedicationCombinationMedicationHasReasonProblem MedicationCombinationMedicationHasProduct MedicationCombinationMedicationHasDosing MedicationCombinationMedicationDosingRelationship MedicationCombinationMedicationHasDescriptionNoMedNotKnown MedicationCombinationMedicationReasonClassMood MedicationCombinationMedicationHasProductEntry MedicationCombinationMedicationHasIntructionsInversion MedicationCombinationMedicationProductName MedicationCombinationMedicationHasSupplyEntryInversion MedicationCombinationMedicationCombinationMedicationSubstanceAdministration MedicationCombinationMedicationId MedicationActivityCode MedicationCombinationMedicationStatusCode MedicationCombinationMedicationEffectiveTime' routeCode.codeSystem='2.16.840.1.113883.5.112' code.codeSystemName='SNOMEDCT' routeCode.codeSystemName='HL7 RouteOfAdministration' classCode='SBADM' constraints.validation.warning='MedicationCombinationMedicationHasDoseQuantityOrRateQuantity MedicationCombinationMedicationProductStrength MedicationCombinationMedicationHasFillNumber MedicationCombinationMedicationRouteCode MedicationCombinationMedicationDoseQuantity MedicationCombinationMedicationRateQuantity' constraints.validation.info='MedicationCombinationMedicationHasConsents MedicationCombinationMedicationHasPreconditionCriterion MedicationCombinationMedicationHasReason MedicationCombinationMedicationPreconditionReference MedicationCombinationMedicationApproachSiteCode MedicationCombinationMedicationMaxDoseQuantity MedicationCombinationMedicationMedicationSeriesNumberObservation MedicationCombinationMedicationMedicationStatusObservation MedicationCombinationMedicationPerformer MedicationCombinationMedicationReactionObservation MedicationCombinationMedicationProductInstance'"
* @generated
*/
public interface MedicationCombinationMedication extends MedicationActivity {
/**
*
*
*
* self.moodCode=vocab::x_DocumentSubstanceMood::EVN or self.moodCode=vocab::x_DocumentSubstanceMood::INT
* @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.moodCode=vocab::x_DocumentSubstanceMood::EVN or self.moodCode=vocab::x_DocumentSubstanceMood::INT '"
* @generated
*/
boolean validateMedicationCombinationMedicationMoodCode(DiagnosticChain diagnostics, Map context);
/**
*
*
*
* not self.doseQuantity.oclIsUndefined() or not self.rateQuantity.oclIsUndefined()
* @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='not self.doseQuantity.oclIsUndefined() or not self.rateQuantity.oclIsUndefined()'"
* @generated
*/
boolean validateMedicationCombinationMedicationHasDoseQuantityOrRateQuantity(DiagnosticChain diagnostics,
Map context);
/**
*
*
*
* self.getClinicalDocument().authorization->size() > 0 and self.getClinicalDocument().authorization.consent->size() > 0
* @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.getClinicalDocument().authorization->size() > 0 and self.getClinicalDocument().authorization.consent->size() > 0'"
* @generated
*/
boolean validateMedicationCombinationMedicationHasConsents(DiagnosticChain diagnostics, Map context);
/**
*
*
*
* not self.informant->isEmpty()
* or not self.getSection().informant->isEmpty()
* or not self.getClinicalDocument().informant->isEmpty()
* or self.reference->exists(ref : cda::Reference | ref.typeCode = vocab::x_ActRelationshipExternalReference::XCRPT)
* or (self.entryRelationship->exists(rel : cda::EntryRelationship |
* rel.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR
* and rel.observation.code.code = '48766-0'))
* @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='not self.informant->isEmpty() \r\nor not self.getSection().informant->isEmpty()\r\nor not self.getClinicalDocument().informant->isEmpty()\r\nor self.reference->exists(ref : cda::Reference | ref.typeCode = vocab::x_ActRelationshipExternalReference::XCRPT)\r\nor (self.entryRelationship->exists(rel : cda::EntryRelationship | \r\n rel.typeCode = vocab::x_ActRelationshipEntryRelationship::REFR\r\n and rel.observation.code.code = \'48766-0\'))'"
* @generated
*/
boolean validateMedicationCombinationMedicationInformationSource(DiagnosticChain diagnostics,
Map context);
/**
*
*
*
* self.precondition->exists(precondition : cda::Precondition | not precondition.criterion.oclIsUndefined())
* @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.precondition->exists(precondition : cda::Precondition | not precondition.criterion.oclIsUndefined())'"
* @generated
*/
boolean validateMedicationCombinationMedicationHasPreconditionCriterion(DiagnosticChain diagnostics,
Map context);
/**
*
*
*
* self.entryRelationship->exists(entryRel : cda::EntryRelationship | entryRel.typeCode = vocab::x_ActRelationshipEntryRelationship::RSON)
* @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.entryRelationship->exists(entryRel : cda::EntryRelationship | entryRel.typeCode = vocab::x_ActRelationshipEntryRelationship::RSON)'"
* @generated
*/
boolean validateMedicationCombinationMedicationHasReason(DiagnosticChain diagnostics, Map context);
/**
*
*
*
* self.getEntryRelationshipTargets(vocab::x_ActRelationshipEntryRelationship::RSON, cda::ClinicalStatement)->forAll(target :
*
* cda::ClinicalStatement | not target.oclIsUndefined() and
* (target.oclIsKindOf(consol::ProblemConcernAct) or target.oclIsKindOf(consol::ProblemObservation)))
* @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.getEntryRelationshipTargets(vocab::x_ActRelationshipEntryRelationship::RSON, cda::ClinicalStatement)->forAll(target : \r\r\ncda::ClinicalStatement | not target.oclIsUndefined() and \r\n (target.oclIsKindOf(consol::ProblemConcernAct) or target.oclIsKindOf(consol::ProblemObservation)))'"
* @generated
*/
boolean validateMedicationCombinationMedicationHasReasonProblem(DiagnosticChain diagnostics,
Map context);
/**
*
*
*
* self.consumable.manufacturedProduct.oclIsKindOf(consol::Product)
* @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.consumable.manufacturedProduct.oclIsKindOf(consol::Product)'"
* @generated
*/
boolean validateMedicationCombinationMedicationHasProduct(DiagnosticChain diagnostics, Map context);
/**
*
*
*
* self.templateId->exists(id : datatypes::II | id.root = '1.3.6.1.4.1.19376.1.5.3.1.4.7.1') xor self.templateId->exists(id : datatypes::II | id.root = '1.3.6.1.4.1.19376.1.5.3.1.4.8') xor self.templateId->exists(id : datatypes::II | id.root = '1.3.6.1.4.1.19376.1.5.3.1.4.9') xor self.templateId->exists(id : datatypes::II | id.root = '1.3.6.1.4.1.19376.1.5.3.1.4.10') xor self.templateId->exists(id : datatypes::II | id.root = '1.3.6.1.4.1.19376.1.5.3.1.4.11')
* @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.templateId->exists(id : datatypes::II | id.root = \'1.3.6.1.4.1.19376.1.5.3.1.4.7.1\') xor self.templateId->exists(id : datatypes::II | id.root = \'1.3.6.1.4.1.19376.1.5.3.1.4.8\') xor self.templateId->exists(id : datatypes::II | id.root = \'1.3.6.1.4.1.19376.1.5.3.1.4.9\') xor self.templateId->exists(id : datatypes::II | id.root = \'1.3.6.1.4.1.19376.1.5.3.1.4.10\') xor self.templateId->exists(id : datatypes::II | id.root = \'1.3.6.1.4.1.19376.1.5.3.1.4.11\')'"
* @generated
*/
boolean validateMedicationCombinationMedicationHasDosing(DiagnosticChain diagnostics, Map context);
/**
*
*
*
* self.templateId->exists(id : datatypes::II | id.root = '1.3.6.1.4.1.19376.1.5.3.1.4.8') xor
* self.templateId->exists(id : datatypes::II | id.root = '1.3.6.1.4.1.19376.1.5.3.1.4.9') xor
* self.templateId->exists(id : datatypes::II | id.root = '1.3.6.1.4.1.19376.1.5.3.1.4.10') xor
* self.templateId->exists(id : datatypes::II | id.root = '1.3.6.1.4.1.19376.1.5.3.1.4.11') implies self.entryRelationship->exists(er | er.typeCode=vocab::x_ActRelationshipEntryRelationship::COMP)
* @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.templateId->exists(id : datatypes::II | id.root = \'1.3.6.1.4.1.19376.1.5.3.1.4.8\') xor \nself.templateId->exists(id : datatypes::II | id.root = \'1.3.6.1.4.1.19376.1.5.3.1.4.9\') xor \nself.templateId->exists(id : datatypes::II | id.root = \'1.3.6.1.4.1.19376.1.5.3.1.4.10\') xor \nself.templateId->exists(id : datatypes::II | id.root = \'1.3.6.1.4.1.19376.1.5.3.1.4.11\') implies self.entryRelationship->exists(er | er.typeCode=vocab::x_ActRelationshipEntryRelationship::COMP)'"
* @generated
*/
boolean validateMedicationCombinationMedicationDosingRelationship(DiagnosticChain diagnostics,
Map context);
/**
*
*
*
* true
* @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='true'"
* @generated
*/
boolean validateMedicationCombinationMedicationHasDescriptionNoMedNotKnown(DiagnosticChain diagnostics,
Map context);
/**
*
*
*
* true
* @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='true'"
* @generated
*/
boolean validateMedicationCombinationMedicationReasonClassMood(DiagnosticChain diagnostics,
Map context);
/**
*
*
*
* self.consumable.manufacturedProduct.templateId->exists(id : datatypes::II | id.root = '1.3.6.1.4.1.19376.1.5.3.1.4.7.2')
* @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.consumable.manufacturedProduct.templateId->exists(id : datatypes::II | id.root = \'1.3.6.1.4.1.19376.1.5.3.1.4.7.2\')'"
* @generated
*/
boolean validateMedicationCombinationMedicationHasProductEntry(DiagnosticChain diagnostics,
Map context);
/**
*
*
*
* self.entryRelationship->forAll( er : cda::EntryRelationship | (not er.act.oclIsKindOf(consol::PatientMedicalInstructions)) or ( er.inversionInd = true and er.act.oclIsKindOf(consol::PatientMedicalInstructions)) )
* @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.entryRelationship->forAll( er : cda::EntryRelationship | (not er.act.oclIsKindOf(consol::PatientMedicalInstructions)) or ( er.inversionInd = true and er.act.oclIsKindOf(consol::PatientMedicalInstructions)) )'"
* @generated
*/
boolean validateMedicationCombinationMedicationHasIntructionsInversion(DiagnosticChain diagnostics,
Map context);
/**
*
*
*
* not self.consumable.manufacturedProduct.manufacturedMaterial.code.oclIsUndefined() implies not self.consumable.manufacturedProduct.manufacturedMaterial.code.originalText.oclIsUndefined()
* @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='not self.consumable.manufacturedProduct.manufacturedMaterial.code.oclIsUndefined() implies not self.consumable.manufacturedProduct.manufacturedMaterial.code.originalText.oclIsUndefined()'"
* @generated
*/
boolean validateMedicationCombinationMedicationProductStrength(DiagnosticChain diagnostics,
Map context);
/**
*
*
*
* not self.consumable.manufacturedProduct.manufacturedMaterial.name.oclIsUndefined()
* @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='not self.consumable.manufacturedProduct.manufacturedMaterial.name.oclIsUndefined()'"
* @generated
*/
boolean validateMedicationCombinationMedicationProductName(DiagnosticChain diagnostics, Map context);
/**
*
*
*
* not self.precondition.criterion.text->exists (t | t.reference.oclIsUndefined())
* @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='not self.precondition.criterion.text->exists (t | t.reference.oclIsUndefined())'"
* @generated
*/
boolean validateMedicationCombinationMedicationPreconditionReference(DiagnosticChain diagnostics,
Map context);
/**
*
*
*
* not self.entryRelationship->exists(er : cda::EntryRelationship | (not er.supply->isEmpty()) and er.inversionInd<>false )
* @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='not self.entryRelationship->exists(er : cda::EntryRelationship | (not er.supply->isEmpty()) and er.inversionInd<>false )'"
* @generated
*/
boolean validateMedicationCombinationMedicationHasSupplyEntryInversion(DiagnosticChain diagnostics,
Map context);
/**
*
*
*
* not self.entryRelationship->exists(er| (not er.supply->isEmpty()) and er.sequenceNumber.value.oclIsUndefined() )
* @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='not self.entryRelationship->exists(er| (not er.supply->isEmpty()) and er.sequenceNumber.value.oclIsUndefined() )'"
* @generated
*/
boolean validateMedicationCombinationMedicationHasFillNumber(DiagnosticChain diagnostics,
Map context);
/**
*
*
*
* not self.entryRelationship.substanceAdministration->isEmpty()
* @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='not self.entryRelationship.substanceAdministration->isEmpty()'"
* @generated
*/
boolean validateMedicationCombinationMedicationCombinationMedicationSubstanceAdministration(
DiagnosticChain diagnostics, Map context);
/**
*
*
*
* (self.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (not self.id->isEmpty())
* @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.id->isEmpty() or self.id->exists(element | element.isNullFlavorUndefined())) implies (not self.id->isEmpty())'"
* @generated
*/
boolean validateMedicationCombinationMedicationId(DiagnosticChain diagnostics, Map context);
/**
*
*
*
* (self.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined())
* @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.statusCode.oclIsUndefined() or self.statusCode.isNullFlavorUndefined()) implies (not self.statusCode.oclIsUndefined())'"
* @generated
*/
boolean validateMedicationCombinationMedicationStatusCode(DiagnosticChain diagnostics, Map context);
/**
*
*
*
* (self.effectiveTime->isEmpty() or self.effectiveTime->exists(element | element.isNullFlavorUndefined())) implies (not self.effectiveTime->isEmpty())
* @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.effectiveTime->isEmpty() or self.effectiveTime->exists(element | element.isNullFlavorUndefined())) implies (not self.effectiveTime->isEmpty())'"
* @generated
*/
boolean validateMedicationCombinationMedicationEffectiveTime(DiagnosticChain diagnostics,
Map context);
/**
*
*
*
* (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.5.112'))
* @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.routeCode.oclIsUndefined() or self.routeCode.isNullFlavorUndefined()) implies (not self.routeCode.oclIsUndefined() and self.routeCode.oclIsKindOf(datatypes::CE) and \nlet value : datatypes::CE = self.routeCode.oclAsType(datatypes::CE) in (\nvalue.codeSystem = \'2.16.840.1.113883.5.112\'))'"
* @generated
*/
boolean validateMedicationCombinationMedicationRouteCode(DiagnosticChain diagnostics, Map context);
/**
*
*
*
* (self.approachSiteCode->isEmpty() or self.approachSiteCode->exists(element | element.isNullFlavorUndefined())) implies (not self.approachSiteCode->isEmpty())
* @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.approachSiteCode->isEmpty() or self.approachSiteCode->exists(element | element.isNullFlavorUndefined())) implies (not self.approachSiteCode->isEmpty())'"
* @generated
*/
boolean validateMedicationCombinationMedicationApproachSiteCode(DiagnosticChain diagnostics,
Map context);
/**
*
*
*
* (self.doseQuantity.oclIsUndefined() or self.doseQuantity.isNullFlavorUndefined()) implies (not self.doseQuantity.oclIsUndefined())
* @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.doseQuantity.oclIsUndefined() or self.doseQuantity.isNullFlavorUndefined()) implies (not self.doseQuantity.oclIsUndefined())'"
* @generated
*/
boolean validateMedicationCombinationMedicationDoseQuantity(DiagnosticChain diagnostics, Map context);
/**
*
*
*
* (self.rateQuantity.oclIsUndefined() or self.rateQuantity.isNullFlavorUndefined()) implies (not self.rateQuantity.oclIsUndefined())
* @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.rateQuantity.oclIsUndefined() or self.rateQuantity.isNullFlavorUndefined()) implies (not self.rateQuantity.oclIsUndefined())'"
* @generated
*/
boolean validateMedicationCombinationMedicationRateQuantity(DiagnosticChain diagnostics, Map context);
/**
*
*
*
* (self.maxDoseQuantity.oclIsUndefined() or self.maxDoseQuantity.isNullFlavorUndefined()) implies (not self.maxDoseQuantity.oclIsUndefined())
* @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.maxDoseQuantity.oclIsUndefined() or self.maxDoseQuantity.isNullFlavorUndefined()) implies (not self.maxDoseQuantity.oclIsUndefined())'"
* @generated
*/
boolean validateMedicationCombinationMedicationMaxDoseQuantity(DiagnosticChain diagnostics,
Map context);
/**
*
*
*
* self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::MedicationSeriesNumberObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ)
* @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.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::MedicationSeriesNumberObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::SUBJ)'"
* @generated
*/
boolean validateMedicationCombinationMedicationMedicationSeriesNumberObservation(DiagnosticChain diagnostics,
Map context);
/**
*
*
*
* self.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::MedicationStatusObservation))
* @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.entryRelationship->one(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::MedicationStatusObservation))'"
* @generated
*/
boolean validateMedicationCombinationMedicationMedicationStatusObservation(DiagnosticChain diagnostics,
Map context);
/**
*
*
*
* self.performer->exists(performer : cda::Performer2 | not performer.oclIsUndefined() and performer.oclIsKindOf(rim::Participation))
* @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.performer->exists(performer : cda::Performer2 | not performer.oclIsUndefined() and performer.oclIsKindOf(rim::Participation))'"
* @generated
*/
boolean validateMedicationCombinationMedicationPerformer(DiagnosticChain diagnostics, Map context);
/**
*
*
*
* self.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::ReactionObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::CAUS)
* @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.entryRelationship->exists(entryRelationship : cda::EntryRelationship | not entryRelationship.observation.oclIsUndefined() and entryRelationship.observation.oclIsKindOf(consol::ReactionObservation) and entryRelationship.typeCode = vocab::x_ActRelationshipEntryRelationship::CAUS)'"
* @generated
*/
boolean validateMedicationCombinationMedicationReactionObservation(DiagnosticChain diagnostics,
Map context);
/**
*
*
*
* self.participant->exists(participant : cda::Participant2 | not participant.participantRole.oclIsUndefined() and participant.participantRole.oclIsKindOf(consol::ProductInstance))
* @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.participant->exists(participant : cda::Participant2 | not participant.participantRole.oclIsUndefined() and participant.participantRole.oclIsKindOf(consol::ProductInstance))'"
* @generated
*/
boolean validateMedicationCombinationMedicationProductInstance(DiagnosticChain diagnostics,
Map context);
/**
*
*
*
* self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::MedicationSeriesNumberObservation))->asSequence()->first().oclAsType(consol::MedicationSeriesNumberObservation)
*
* @model kind="operation" required="true" ordered="false"
* annotation="http://www.eclipse.org/uml2/1.1.0/GenModel body='self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::MedicationSeriesNumberObservation))->asSequence()->first().oclAsType(consol::MedicationSeriesNumberObservation)'"
* @generated
*/
MedicationSeriesNumberObservation getMedicationSeriesNumberObservation();
/**
*
*
*
* self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::MedicationStatusObservation))->asSequence()->first().oclAsType(consol::MedicationStatusObservation)
*
* @model kind="operation" required="true" ordered="false"
* annotation="http://www.eclipse.org/uml2/1.1.0/GenModel body='self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::MedicationStatusObservation))->asSequence()->first().oclAsType(consol::MedicationStatusObservation)'"
* @generated
*/
MedicationStatusObservation getMedicationStatusObservation();
/**
*
*
*
* self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ReactionObservation)).oclAsType(consol::ReactionObservation)
*
* @model kind="operation" required="true" ordered="false"
* annotation="http://www.eclipse.org/uml2/1.1.0/GenModel body='self.getObservations()->select(observation : cda::Observation | not observation.oclIsUndefined() and observation.oclIsKindOf(consol::ReactionObservation)).oclAsType(consol::ReactionObservation)'"
* @generated
*/
EList getConsolReactionObservations();
/**
*
*
*
* self.getParticipantRoles()->select(participantRole : cda::ParticipantRole | not participantRole.oclIsUndefined() and participantRole.oclIsKindOf(consol::ProductInstance)).oclAsType(consol::ProductInstance)
*
* @model kind="operation" required="true" ordered="false"
* annotation="http://www.eclipse.org/uml2/1.1.0/GenModel body='self.getParticipantRoles()->select(participantRole : cda::ParticipantRole | not participantRole.oclIsUndefined() and participantRole.oclIsKindOf(consol::ProductInstance)).oclAsType(consol::ProductInstance)'"
* @generated
*/
EList getProductInstances();
/**
*
*
*
* self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(cda::Act)).oclAsType(cda::Act)
*
* @model kind="operation" required="true" ordered="false"
* annotation="http://www.eclipse.org/uml2/1.1.0/GenModel body='self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(cda::Act)).oclAsType(cda::Act)'"
* @generated
*/
EList getInternalReferences();
/**
*
*
*
* self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::Instructions)).oclAsType(consol::Instructions)
*
* @model kind="operation" required="true" ordered="false"
* annotation="http://www.eclipse.org/uml2/1.1.0/GenModel body='self.getActs()->select(act : cda::Act | not act.oclIsUndefined() and act.oclIsKindOf(consol::Instructions)).oclAsType(consol::Instructions)'"
* @generated
*/
EList getPatientMedicalInstructionss();
/**
*
*
*
* self.getSupplies()->select(supply : cda::Supply | not supply.oclIsUndefined() and supply.oclIsKindOf(consol::NonMedicinalSupplyActivity))->asSequence()->first().oclAsType(consol::NonMedicinalSupplyActivity)
*
* @model kind="operation" required="true" ordered="false"
* annotation="http://www.eclipse.org/uml2/1.1.0/GenModel body='self.getSupplies()->select(supply : cda::Supply | not supply.oclIsUndefined() and supply.oclIsKindOf(consol::NonMedicinalSupplyActivity))->asSequence()->first().oclAsType(consol::NonMedicinalSupplyActivity)'"
* @generated
*/
NonMedicinalSupplyActivity getSupplyEntry();
/**
*
*
* @generated
*/
public MedicationCombinationMedication init();
} // MedicationCombinationMedication