blob: 62cb7086919b18e258cf46e499abad10af596064 [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>Operation Definition</b></em>'.
* <!-- end-user-doc -->
*
* <!-- begin-model-doc -->
* A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).
* If the element is present, it must have either a @value, an @id, or extensions
* <!-- end-model-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link org.hl7.fhir.OperationDefinition#getUrl <em>Url</em>}</li>
* <li>{@link org.hl7.fhir.OperationDefinition#getVersion <em>Version</em>}</li>
* <li>{@link org.hl7.fhir.OperationDefinition#getName <em>Name</em>}</li>
* <li>{@link org.hl7.fhir.OperationDefinition#getStatus <em>Status</em>}</li>
* <li>{@link org.hl7.fhir.OperationDefinition#getKind <em>Kind</em>}</li>
* <li>{@link org.hl7.fhir.OperationDefinition#getExperimental <em>Experimental</em>}</li>
* <li>{@link org.hl7.fhir.OperationDefinition#getPublisher <em>Publisher</em>}</li>
* <li>{@link org.hl7.fhir.OperationDefinition#getContact <em>Contact</em>}</li>
* <li>{@link org.hl7.fhir.OperationDefinition#getDate <em>Date</em>}</li>
* <li>{@link org.hl7.fhir.OperationDefinition#getDescription <em>Description</em>}</li>
* <li>{@link org.hl7.fhir.OperationDefinition#getRequirements <em>Requirements</em>}</li>
* <li>{@link org.hl7.fhir.OperationDefinition#getIdempotent <em>Idempotent</em>}</li>
* <li>{@link org.hl7.fhir.OperationDefinition#getCode <em>Code</em>}</li>
* <li>{@link org.hl7.fhir.OperationDefinition#getNotes <em>Notes</em>}</li>
* <li>{@link org.hl7.fhir.OperationDefinition#getBase <em>Base</em>}</li>
* <li>{@link org.hl7.fhir.OperationDefinition#getSystem <em>System</em>}</li>
* <li>{@link org.hl7.fhir.OperationDefinition#getType <em>Type</em>}</li>
* <li>{@link org.hl7.fhir.OperationDefinition#getInstance <em>Instance</em>}</li>
* <li>{@link org.hl7.fhir.OperationDefinition#getParameter <em>Parameter</em>}</li>
* </ul>
*
* @see org.hl7.fhir.FhirPackage#getOperationDefinition()
* @model extendedMetaData="name='OperationDefinition' kind='elementOnly'"
* @generated
*/
public interface OperationDefinition extends DomainResource {
/**
* Returns the value of the '<em><b>Url</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* An absolute URL that is used to identify this operation definition when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this operation definition is (or will be) published.
* <!-- end-model-doc -->
* @return the value of the '<em>Url</em>' containment reference.
* @see #setUrl(Uri)
* @see org.hl7.fhir.FhirPackage#getOperationDefinition_Url()
* @model containment="true"
* extendedMetaData="kind='element' name='url' namespace='##targetNamespace'"
* @generated
*/
Uri getUrl();
/**
* Sets the value of the '{@link org.hl7.fhir.OperationDefinition#getUrl <em>Url</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Url</em>' containment reference.
* @see #getUrl()
* @generated
*/
void setUrl(Uri value);
/**
* Returns the value of the '<em><b>Version</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* The identifier that is used to identify this version of the profile when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the profile author manually and the value should be a timestamp.
* <!-- end-model-doc -->
* @return the value of the '<em>Version</em>' containment reference.
* @see #setVersion(org.hl7.fhir.String)
* @see org.hl7.fhir.FhirPackage#getOperationDefinition_Version()
* @model containment="true"
* extendedMetaData="kind='element' name='version' namespace='##targetNamespace'"
* @generated
*/
org.hl7.fhir.String getVersion();
/**
* Sets the value of the '{@link org.hl7.fhir.OperationDefinition#getVersion <em>Version</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Version</em>' containment reference.
* @see #getVersion()
* @generated
*/
void setVersion(org.hl7.fhir.String value);
/**
* Returns the value of the '<em><b>Name</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* A free text natural language name identifying the operation.
* <!-- end-model-doc -->
* @return the value of the '<em>Name</em>' containment reference.
* @see #setName(org.hl7.fhir.String)
* @see org.hl7.fhir.FhirPackage#getOperationDefinition_Name()
* @model containment="true" required="true"
* extendedMetaData="kind='element' name='name' namespace='##targetNamespace'"
* @generated
*/
org.hl7.fhir.String getName();
/**
* Sets the value of the '{@link org.hl7.fhir.OperationDefinition#getName <em>Name</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Name</em>' containment reference.
* @see #getName()
* @generated
*/
void setName(org.hl7.fhir.String value);
/**
* Returns the value of the '<em><b>Status</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* The status of the profile.
* <!-- end-model-doc -->
* @return the value of the '<em>Status</em>' containment reference.
* @see #setStatus(Code)
* @see org.hl7.fhir.FhirPackage#getOperationDefinition_Status()
* @model containment="true" required="true"
* extendedMetaData="kind='element' name='status' namespace='##targetNamespace'"
* @generated
*/
Code getStatus();
/**
* Sets the value of the '{@link org.hl7.fhir.OperationDefinition#getStatus <em>Status</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Status</em>' containment reference.
* @see #getStatus()
* @generated
*/
void setStatus(Code value);
/**
* Returns the value of the '<em><b>Kind</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* Whether this is an operation or a named query.
* <!-- end-model-doc -->
* @return the value of the '<em>Kind</em>' containment reference.
* @see #setKind(OperationKind)
* @see org.hl7.fhir.FhirPackage#getOperationDefinition_Kind()
* @model containment="true" required="true"
* extendedMetaData="kind='element' name='kind' namespace='##targetNamespace'"
* @generated
*/
OperationKind getKind();
/**
* Sets the value of the '{@link org.hl7.fhir.OperationDefinition#getKind <em>Kind</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Kind</em>' containment reference.
* @see #getKind()
* @generated
*/
void setKind(OperationKind value);
/**
* Returns the value of the '<em><b>Experimental</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* This profile was authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage.
* <!-- end-model-doc -->
* @return the value of the '<em>Experimental</em>' containment reference.
* @see #setExperimental(org.hl7.fhir.Boolean)
* @see org.hl7.fhir.FhirPackage#getOperationDefinition_Experimental()
* @model containment="true"
* extendedMetaData="kind='element' name='experimental' namespace='##targetNamespace'"
* @generated
*/
org.hl7.fhir.Boolean getExperimental();
/**
* Sets the value of the '{@link org.hl7.fhir.OperationDefinition#getExperimental <em>Experimental</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Experimental</em>' containment reference.
* @see #getExperimental()
* @generated
*/
void setExperimental(org.hl7.fhir.Boolean value);
/**
* Returns the value of the '<em><b>Publisher</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* The name of the individual or organization that published the operation definition.
* <!-- end-model-doc -->
* @return the value of the '<em>Publisher</em>' containment reference.
* @see #setPublisher(org.hl7.fhir.String)
* @see org.hl7.fhir.FhirPackage#getOperationDefinition_Publisher()
* @model containment="true"
* extendedMetaData="kind='element' name='publisher' namespace='##targetNamespace'"
* @generated
*/
org.hl7.fhir.String getPublisher();
/**
* Sets the value of the '{@link org.hl7.fhir.OperationDefinition#getPublisher <em>Publisher</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Publisher</em>' containment reference.
* @see #getPublisher()
* @generated
*/
void setPublisher(org.hl7.fhir.String value);
/**
* Returns the value of the '<em><b>Contact</b></em>' containment reference list.
* The list contents are of type {@link org.hl7.fhir.OperationDefinitionContact}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* Contacts to assist a user in finding and communicating with the publisher.
* <!-- end-model-doc -->
* @return the value of the '<em>Contact</em>' containment reference list.
* @see org.hl7.fhir.FhirPackage#getOperationDefinition_Contact()
* @model containment="true"
* extendedMetaData="kind='element' name='contact' namespace='##targetNamespace'"
* @generated
*/
EList<OperationDefinitionContact> getContact();
/**
* Returns the value of the '<em><b>Date</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* The date this version of the operation definition was published. The date must change when the business version changes, if it does, and it must change if the status code changes. In addition, it should change when the substantive content of the Operation Definition changes.
* <!-- end-model-doc -->
* @return the value of the '<em>Date</em>' containment reference.
* @see #setDate(DateTime)
* @see org.hl7.fhir.FhirPackage#getOperationDefinition_Date()
* @model containment="true"
* extendedMetaData="kind='element' name='date' namespace='##targetNamespace'"
* @generated
*/
DateTime getDate();
/**
* Sets the value of the '{@link org.hl7.fhir.OperationDefinition#getDate <em>Date</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Date</em>' containment reference.
* @see #getDate()
* @generated
*/
void setDate(DateTime value);
/**
* Returns the value of the '<em><b>Description</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* A free text natural language description of the profile and its use.
* <!-- end-model-doc -->
* @return the value of the '<em>Description</em>' containment reference.
* @see #setDescription(org.hl7.fhir.String)
* @see org.hl7.fhir.FhirPackage#getOperationDefinition_Description()
* @model containment="true"
* extendedMetaData="kind='element' name='description' namespace='##targetNamespace'"
* @generated
*/
org.hl7.fhir.String getDescription();
/**
* Sets the value of the '{@link org.hl7.fhir.OperationDefinition#getDescription <em>Description</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Description</em>' containment reference.
* @see #getDescription()
* @generated
*/
void setDescription(org.hl7.fhir.String value);
/**
* Returns the value of the '<em><b>Requirements</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* Explains why this operation definition is needed and why it's been constrained as it has.
* <!-- end-model-doc -->
* @return the value of the '<em>Requirements</em>' containment reference.
* @see #setRequirements(org.hl7.fhir.String)
* @see org.hl7.fhir.FhirPackage#getOperationDefinition_Requirements()
* @model containment="true"
* extendedMetaData="kind='element' name='requirements' namespace='##targetNamespace'"
* @generated
*/
org.hl7.fhir.String getRequirements();
/**
* Sets the value of the '{@link org.hl7.fhir.OperationDefinition#getRequirements <em>Requirements</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Requirements</em>' containment reference.
* @see #getRequirements()
* @generated
*/
void setRequirements(org.hl7.fhir.String value);
/**
* Returns the value of the '<em><b>Idempotent</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* Operations that are idempotent (see [HTTP specification definition of idempotent](http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html)) may be invoked by performing an HTTP GET operation instead of a POST.
* <!-- end-model-doc -->
* @return the value of the '<em>Idempotent</em>' containment reference.
* @see #setIdempotent(org.hl7.fhir.Boolean)
* @see org.hl7.fhir.FhirPackage#getOperationDefinition_Idempotent()
* @model containment="true"
* extendedMetaData="kind='element' name='idempotent' namespace='##targetNamespace'"
* @generated
*/
org.hl7.fhir.Boolean getIdempotent();
/**
* Sets the value of the '{@link org.hl7.fhir.OperationDefinition#getIdempotent <em>Idempotent</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Idempotent</em>' containment reference.
* @see #getIdempotent()
* @generated
*/
void setIdempotent(org.hl7.fhir.Boolean value);
/**
* Returns the value of the '<em><b>Code</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* The name used to invoke the operation.
* <!-- end-model-doc -->
* @return the value of the '<em>Code</em>' containment reference.
* @see #setCode(Code)
* @see org.hl7.fhir.FhirPackage#getOperationDefinition_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.OperationDefinition#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>Notes</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* Additional information about how to use this operation or named query.
* <!-- end-model-doc -->
* @return the value of the '<em>Notes</em>' containment reference.
* @see #setNotes(org.hl7.fhir.String)
* @see org.hl7.fhir.FhirPackage#getOperationDefinition_Notes()
* @model containment="true"
* extendedMetaData="kind='element' name='notes' namespace='##targetNamespace'"
* @generated
*/
org.hl7.fhir.String getNotes();
/**
* Sets the value of the '{@link org.hl7.fhir.OperationDefinition#getNotes <em>Notes</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Notes</em>' containment reference.
* @see #getNotes()
* @generated
*/
void setNotes(org.hl7.fhir.String value);
/**
* Returns the value of the '<em><b>Base</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* Indicates that this operation definition is a constraining profile on the base.
* <!-- end-model-doc -->
* @return the value of the '<em>Base</em>' containment reference.
* @see #setBase(Reference)
* @see org.hl7.fhir.FhirPackage#getOperationDefinition_Base()
* @model containment="true"
* extendedMetaData="kind='element' name='base' namespace='##targetNamespace'"
* @generated
*/
Reference getBase();
/**
* Sets the value of the '{@link org.hl7.fhir.OperationDefinition#getBase <em>Base</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Base</em>' containment reference.
* @see #getBase()
* @generated
*/
void setBase(Reference value);
/**
* Returns the value of the '<em><b>System</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* Indicates whether this operation or named query can be invoked at the system level (e.g. without needing to choose a resource type for the context).
* <!-- end-model-doc -->
* @return the value of the '<em>System</em>' containment reference.
* @see #setSystem(org.hl7.fhir.Boolean)
* @see org.hl7.fhir.FhirPackage#getOperationDefinition_System()
* @model containment="true" required="true"
* extendedMetaData="kind='element' name='system' namespace='##targetNamespace'"
* @generated
*/
org.hl7.fhir.Boolean getSystem();
/**
* Sets the value of the '{@link org.hl7.fhir.OperationDefinition#getSystem <em>System</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>System</em>' containment reference.
* @see #getSystem()
* @generated
*/
void setSystem(org.hl7.fhir.Boolean value);
/**
* Returns the value of the '<em><b>Type</b></em>' containment reference list.
* The list contents are of type {@link org.hl7.fhir.Code}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* Indicates whether this operation or named query can be invoked at the resource type level for any given resource type level (e.g. without needing to choose a resource type for the context).
* <!-- end-model-doc -->
* @return the value of the '<em>Type</em>' containment reference list.
* @see org.hl7.fhir.FhirPackage#getOperationDefinition_Type()
* @model containment="true"
* extendedMetaData="kind='element' name='type' namespace='##targetNamespace'"
* @generated
*/
EList<Code> getType();
/**
* Returns the value of the '<em><b>Instance</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* Indicates whether this operation can be invoked on a particular instance of one of the given types.
* <!-- end-model-doc -->
* @return the value of the '<em>Instance</em>' containment reference.
* @see #setInstance(org.hl7.fhir.Boolean)
* @see org.hl7.fhir.FhirPackage#getOperationDefinition_Instance()
* @model containment="true" required="true"
* extendedMetaData="kind='element' name='instance' namespace='##targetNamespace'"
* @generated
*/
org.hl7.fhir.Boolean getInstance();
/**
* Sets the value of the '{@link org.hl7.fhir.OperationDefinition#getInstance <em>Instance</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Instance</em>' containment reference.
* @see #getInstance()
* @generated
*/
void setInstance(org.hl7.fhir.Boolean value);
/**
* Returns the value of the '<em><b>Parameter</b></em>' containment reference list.
* The list contents are of type {@link org.hl7.fhir.OperationDefinitionParameter}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* <!-- begin-model-doc -->
* The parameters for the operation/query.
* <!-- end-model-doc -->
* @return the value of the '<em>Parameter</em>' containment reference list.
* @see org.hl7.fhir.FhirPackage#getOperationDefinition_Parameter()
* @model containment="true"
* extendedMetaData="kind='element' name='parameter' namespace='##targetNamespace'"
* @generated
*/
EList<OperationDefinitionParameter> getParameter();
} // OperationDefinition