blob: 7f93ac9d507ac928b50cde60949cb52ad7a44956 [file] [log] [blame]
/**
*/
package org.hl7.fhir;
import org.eclipse.emf.common.util.EList;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Element Definition Type</b></em>'.
* <!-- end-user-doc -->
*
* <!-- begin-model-doc -->
* Captures constraints on each element within the resource, profile, or extension.
* If the element is present, it must have a value for at least one of the defined elements, an @id referenced from the Narrative, or extensions
* <!-- end-model-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link org.hl7.fhir.ElementDefinitionType#getCode <em>Code</em>}</li>
* <li>{@link org.hl7.fhir.ElementDefinitionType#getProfile <em>Profile</em>}</li>
* <li>{@link org.hl7.fhir.ElementDefinitionType#getAggregation <em>Aggregation</em>}</li>
* </ul>
*
* @see org.hl7.fhir.FhirPackage#getElementDefinitionType()
* @model extendedMetaData="name='ElementDefinition.Type' kind='elementOnly'"
* @generated
*/
public interface ElementDefinitionType extends Element {
/**
* Returns the value of the '<em><b>Code</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* Name of Data type or Resource that is a(or the) type used for this element.
* <!-- end-model-doc -->
* @return the value of the '<em>Code</em>' containment reference.
* @see #setCode(Code)
* @see org.hl7.fhir.FhirPackage#getElementDefinitionType_Code()
* @model containment="true" required="true"
* extendedMetaData="kind='element' name='code' namespace='##targetNamespace'"
* @generated
*/
Code getCode();
/**
* Sets the value of the '{@link org.hl7.fhir.ElementDefinitionType#getCode <em>Code</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Code</em>' containment reference.
* @see #getCode()
* @generated
*/
void setCode(Code value);
/**
* Returns the value of the '<em><b>Profile</b></em>' containment reference list.
* The list contents are of type {@link org.hl7.fhir.Uri}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* Identifies a profile structure or implementation Guide that SHALL hold for resources or datatypes referenced as the type of this element. Can be a local reference - to another structure in this profile, or a reference to a structure in another profile. When more than one profile is specified, the content must conform to all of them. When an implementation guide is specified, the resource SHALL conform to at least one profile defined in the implementation guide.
* <!-- end-model-doc -->
* @return the value of the '<em>Profile</em>' containment reference list.
* @see org.hl7.fhir.FhirPackage#getElementDefinitionType_Profile()
* @model containment="true"
* extendedMetaData="kind='element' name='profile' namespace='##targetNamespace'"
* @generated
*/
EList<Uri> getProfile();
/**
* Returns the value of the '<em><b>Aggregation</b></em>' containment reference list.
* The list contents are of type {@link org.hl7.fhir.AggregationMode}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* If the type is a reference to another resource, how the resource is or can be aggregated - is it a contained resource, or a reference, and if the context is a bundle, is it included in the bundle.
* <!-- end-model-doc -->
* @return the value of the '<em>Aggregation</em>' containment reference list.
* @see org.hl7.fhir.FhirPackage#getElementDefinitionType_Aggregation()
* @model containment="true"
* extendedMetaData="kind='element' name='aggregation' namespace='##targetNamespace'"
* @generated
*/
EList<AggregationMode> getAggregation();
} // ElementDefinitionType