All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.openhealthtools.mdht.uml.cda.cdt.ProgressNote Maven / Gradle / Ivy

/*******************************************************************************
 * Copyright (c) 2009, 2012 David A Carlson 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:
 *     David A Carlson (XMLmodeling.com) - initial API and implementation
 *******************************************************************************/
package org.openhealthtools.mdht.uml.cda.cdt;

import java.util.Map;

import org.eclipse.emf.common.util.DiagnosticChain;
import org.eclipse.emf.ecore.EObject;
import org.openhealthtools.mdht.emf.runtime.util.Initializer;
import org.openhealthtools.mdht.uml.cda.ccd.AlertsSection;
import org.openhealthtools.mdht.uml.cda.ccd.MedicationsSection;
import org.openhealthtools.mdht.uml.cda.ccd.PlanOfCareSection;
import org.openhealthtools.mdht.uml.cda.ccd.ProblemSection;
import org.openhealthtools.mdht.uml.cda.ccd.ResultsSection;

/**
 * 
 * A representation of the model object 'Progress Note'.
 * 
 *
 *
 * @see org.openhealthtools.mdht.uml.cda.cdt.CDTPackage#getProgressNote()
 * @model annotation="http://www.openhealthtools.org/mdht/uml/cda/annotation constraints.validation.error='ProgressNoteTemplateId ProgressNoteAssessmentAndPlan ProgressNoteBothAssessmentAndPlan ProgressNoteHasServiceEventCode ProgressNoteHasComponentOfElement ProgressNoteHasEncompassingEncounterId ProgressNoteHasEncompassingEncounterEffectiveTime ProgressNoteHasEncompassingEncounterEffectiveTimeLow ProgressNoteCode' templateId.root='2.16.840.1.113883.10.20.21.1' constraints.validation.warning='ProgressNoteHasServiceEvent ProgressNoteHasServiceEventEffectiveTime ProgressNoteHasEncompassingEncounterFacilityId' code.codeSystem='2.16.840.1.113883.6.1' code.codeSystemName='LOINC' constraints.validation.info='ProgressNoteAlertsSection ProgressNoteChiefComplaintSection ProgressNoteMedicationsSection ProgressNoteObjectiveSection ProgressNotePhysicalExaminationSection ProgressNoteProblemSection ProgressNoteResultsSection ProgressNoteVitalSignsSection ProgressNoteReviewOfSystemsSection ProgressNoteSubjectiveSection'"
 * @generated
 */
public interface ProgressNote extends GeneralHeaderConstraints {
	/**
	* 
	 * 
	* 
	* @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.getSections()->exists(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(cdt::AssessmentAndPlanSectionProcNote))\r\n   xor (self.getSections()->exists(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(cdt::AssessmentSectionProcNote))\r\n      and self.getSections()->exists(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(ccd::PlanOfCareSection)))'"
	* @generated
	*/
	boolean validateProgressNoteAssessmentAndPlan(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='let assessmentExists : Boolean = self.getSections()->exists(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(cdt::AssessmentSectionProcNote)) in\r\n  let planExists : Boolean = self.getSections()->exists(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(ccd::PlanOfCareSection))\r\n    in (assessmentExists or planExists) implies (assessmentExists and planExists)'"
	* @generated
	*/
	boolean validateProgressNoteBothAssessmentAndPlan(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.documentationOf->exists(doc : cda::DocumentationOf | not doc.oclIsUndefined() \r\n  and not doc.serviceEvent.oclIsUndefined())'"
	* @generated
	*/
	boolean validateProgressNoteHasServiceEvent(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.documentationOf->exists(doc : cda::DocumentationOf | not doc.oclIsUndefined() and not doc.serviceEvent.oclIsUndefined()\r\n  and doc.serviceEvent.code.code = \'371532007\' and doc.serviceEvent.code.codeSystem = \'2.16.840.1.113883.6.96\' )'"
	* @generated
	*/
	boolean validateProgressNoteHasServiceEventCode(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.documentationOf->exists(doc : cda::DocumentationOf | not doc.oclIsUndefined() and not doc.serviceEvent.oclIsUndefined()\r\n and not doc.serviceEvent.effectiveTime.oclIsUndefined() and not doc.serviceEvent.effectiveTime.low.oclIsUndefined() )'"
	* @generated
	*/
	boolean validateProgressNoteHasServiceEventEffectiveTime(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='not self.componentOf.oclIsUndefined()'"
	* @generated
	*/
	boolean validateProgressNoteHasComponentOfElement(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.componentOf.encompassingEncounter.id->notEmpty()'"
	* @generated
	*/
	boolean validateProgressNoteHasEncompassingEncounterId(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='not self.componentOf.encompassingEncounter.effectiveTime.oclIsUndefined()'"
	* @generated
	*/
	boolean validateProgressNoteHasEncompassingEncounterEffectiveTime(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='not self.componentOf.encompassingEncounter.effectiveTime.low.oclIsUndefined()'"
	* @generated
	*/
	boolean validateProgressNoteHasEncompassingEncounterEffectiveTimeLow(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.componentOf.encompassingEncounter.location.healthCareFacility.id->notEmpty()'"
	* @generated
	*/
	boolean validateProgressNoteHasEncompassingEncounterFacilityId(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.codeSystem = \'2.16.840.1.113883.6.1\' and not value.code.oclIsUndefined())'"
	* @generated
	*/
	boolean validateProgressNoteCode(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.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(ccd::AlertsSection))'"
	* @generated
	*/
	boolean validateProgressNoteAlertsSection(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.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(cdt::ChiefComplaintSectionProcNote))'"
	* @generated
	*/
	boolean validateProgressNoteChiefComplaintSection(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.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(ccd::MedicationsSection))'"
	* @generated
	*/
	boolean validateProgressNoteMedicationsSection(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.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(cdt::ObjectiveSection))'"
	* @generated
	*/
	boolean validateProgressNoteObjectiveSection(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.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(cdt::PhysicalExaminationSection))'"
	* @generated
	*/
	boolean validateProgressNotePhysicalExaminationSection(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.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(ccd::ProblemSection))'"
	* @generated
	*/
	boolean validateProgressNoteProblemSection(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.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(ccd::ResultsSection))'"
	* @generated
	*/
	boolean validateProgressNoteResultsSection(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.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(cdt::VitalSignsSection))'"
	* @generated
	*/
	boolean validateProgressNoteVitalSignsSection(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.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(cdt::ReviewOfSystemsSectionIHE))'"
	* @generated
	*/
	boolean validateProgressNoteReviewOfSystemsSection(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.getAllSections()->one(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(cdt::SubjectiveSection))'"
	* @generated
	*/
	boolean validateProgressNoteSubjectiveSection(DiagnosticChain diagnostics, Map context);

	/**
	* 
	 * 
	* @model kind="operation" required="true" ordered="false"
	*        annotation="http://www.eclipse.org/uml2/1.1.0/GenModel body='self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(cdt::AssessmentAndPlanSectionProcNote))->asSequence()->any(true).oclAsType(cdt::AssessmentAndPlanSectionProcNote)'"
	* @generated
	*/
	AssessmentAndPlanSectionProcNote getAssessmentAndPlanSection();

	/**
	* 
	 * 
	* @model kind="operation" required="true" ordered="false"
	*        annotation="http://www.eclipse.org/uml2/1.1.0/GenModel body='self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(cdt::AssessmentSectionProcNote))->asSequence()->any(true).oclAsType(cdt::AssessmentSectionProcNote)'"
	* @generated
	*/
	AssessmentSectionProcNote getAssessmentSection();

	/**
	* 
	 * 
	* @model kind="operation" required="true" ordered="false"
	*        annotation="http://www.eclipse.org/uml2/1.1.0/GenModel body='self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(ccd::PlanOfCareSection))->asSequence()->any(true).oclAsType(ccd::PlanOfCareSection)'"
	* @generated
	*/
	PlanOfCareSection getPlanSection();

	/**
	* 
	 * 
	* @model kind="operation" required="true" ordered="false"
	*        annotation="http://www.eclipse.org/uml2/1.1.0/GenModel body='self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(ccd::AlertsSection))->asSequence()->any(true).oclAsType(ccd::AlertsSection)'"
	* @generated
	*/
	AlertsSection getAlertsSection();

	/**
	* 
	 * 
	* @model kind="operation" required="true" ordered="false"
	*        annotation="http://www.eclipse.org/uml2/1.1.0/GenModel body='self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(cdt::ChiefComplaintSectionProcNote))->asSequence()->any(true).oclAsType(cdt::ChiefComplaintSectionProcNote)'"
	* @generated
	*/
	ChiefComplaintSectionProcNote getChiefComplaintSection();

	/**
	* 
	 * 
	* @model kind="operation" required="true" ordered="false"
	*        annotation="http://www.eclipse.org/uml2/1.1.0/GenModel body='self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(ccd::MedicationsSection))->asSequence()->any(true).oclAsType(ccd::MedicationsSection)'"
	* @generated
	*/
	MedicationsSection getMedicationsSection();

	/**
	* 
	 * 
	* @model kind="operation" required="true" ordered="false"
	*        annotation="http://www.eclipse.org/uml2/1.1.0/GenModel body='self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(cdt::ObjectiveSection))->asSequence()->any(true).oclAsType(cdt::ObjectiveSection)'"
	* @generated
	*/
	ObjectiveSection getObjectiveSection();

	/**
	* 
	 * 
	* @model kind="operation" required="true" ordered="false"
	*        annotation="http://www.eclipse.org/uml2/1.1.0/GenModel body='self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(cdt::PhysicalExaminationSection))->asSequence()->any(true).oclAsType(cdt::PhysicalExaminationSection)'"
	* @generated
	*/
	PhysicalExaminationSection getPhysicalExaminationSection();

	/**
	* 
	 * 
	* @model kind="operation" required="true" ordered="false"
	*        annotation="http://www.eclipse.org/uml2/1.1.0/GenModel body='self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(ccd::ProblemSection))->asSequence()->any(true).oclAsType(ccd::ProblemSection)'"
	* @generated
	*/
	ProblemSection getProblemSection();

	/**
	* 
	 * 
	* @model kind="operation" required="true" ordered="false"
	*        annotation="http://www.eclipse.org/uml2/1.1.0/GenModel body='self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(ccd::ResultsSection))->asSequence()->any(true).oclAsType(ccd::ResultsSection)'"
	* @generated
	*/
	ResultsSection getResultsSection();

	/**
	* 
	 * 
	* @model kind="operation" required="true" ordered="false"
	*        annotation="http://www.eclipse.org/uml2/1.1.0/GenModel body='self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(cdt::VitalSignsSection))->asSequence()->any(true).oclAsType(cdt::VitalSignsSection)'"
	* @generated
	*/
	VitalSignsSection getVitalSignsSection();

	/**
	* 
	 * 
	* @model kind="operation" required="true" ordered="false"
	*        annotation="http://www.eclipse.org/uml2/1.1.0/GenModel body='self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(cdt::ReviewOfSystemsSectionIHE))->asSequence()->any(true).oclAsType(cdt::ReviewOfSystemsSectionIHE)'"
	* @generated
	*/
	ReviewOfSystemsSectionIHE getReviewOfSystemsSection();

	/**
	* 
	 * 
	* @model kind="operation" required="true" ordered="false"
	*        annotation="http://www.eclipse.org/uml2/1.1.0/GenModel body='self.getAllSections()->select(section : cda::Section | not section.oclIsUndefined() and section.oclIsKindOf(cdt::SubjectiveSection))->asSequence()->any(true).oclAsType(cdt::SubjectiveSection)'"
	* @generated
	*/
	SubjectiveSection getSubjectiveSection();

	/**
	* 
	 * 
	* @generated
	*/
	public ProgressNote init();

	/**
	 * 
	   * 
	 * @generated
	 */
	public ProgressNote init(Iterable> initializers);
} // ProgressNote




© 2015 - 2025 Weber Informatics LLC | Privacy Policy