{ "resourceType": "OperationDefinition", "id": "PlanDefinition-apply", "extension": [ { "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm", "valueInteger": 2 }, { "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status", "valueCode": "trial-use" } ], "url": "http://hl7.org/fhir/OperationDefinition/PlanDefinition-apply", "version": "4.0.0", "name": "Apply", "status": "draft", "kind": "operation", "date": "2018-12-27T22:37:54+11:00", "publisher": "HL7 (FHIR Project)", "contact": [ { "telecom": [ { "system": "url", "value": "http://hl7.org/fhir" }, { "system": "email", "value": "fhir@lists.hl7.org" } ] } ], "description": "The apply operation applies a PlanDefinition to a given context", "code": "apply", "comment": "The result of this operation is a CarePlan resource with a single activity represented by a RequestGroup. The RequestGroup will have actions for each of the applicable actions in the plan based on evaluating the applicability condition in context. For each applicable action, the definition is applied as described in the $apply operation of the ActivityDefinition resource, and the resulting resource is added as an activity to the CarePlan. If the ActivityDefinition includes library references, those libraries will be available to the evaluated expressions. If those libraries have parameters, those parameters will be bound by name to the parameters given to the operation. In addition, parameters to the $apply operation are available within dynamicValue expressions as context variables, accessible by the name of the parameter, prefixed with a percent (%) symbol. For a more detailed description, refer to the PlanDefinition and ActivityDefinition resource documentation", "resource": [ "PlanDefinition" ], "system": false, "type": true, "instance": true, "parameter": [ { "name": "planDefinition", "use": "in", "min": 0, "max": "1", "documentation": "The plan definition to be applied. If the operation is invoked at the instance level, this parameter is not allowed; if the operation is invoked at the type level, this parameter is required", "type": "PlanDefinition" }, { "name": "subject", "use": "in", "min": 1, "max": "*", "documentation": "The subject(s) that is/are the target of the plan to be applied. The subject may be a Patient, Practitioner, Organization, Location, Device, or Group. Subjects provided in this parameter will be resolved as the subject of the PlanDefinition based on the type of the subject. If multiple subjects of the same type are provided, the behavior is implementation-defined", "type": "string", "searchType": "reference" }, { "name": "encounter", "use": "in", "min": 0, "max": "1", "documentation": "The encounter in context, if any", "type": "string", "searchType": "reference" }, { "name": "practitioner", "use": "in", "min": 0, "max": "1", "documentation": "The practitioner applying the plan definition", "type": "string", "searchType": "reference" }, { "name": "organization", "use": "in", "min": 0, "max": "1", "documentation": "The organization applying the plan definition", "type": "string", "searchType": "reference" }, { "name": "userType", "use": "in", "min": 0, "max": "1", "documentation": "The type of user initiating the request, e.g. patient, healthcare provider, or specific type of healthcare provider (physician, nurse, etc.)", "type": "CodeableConcept" }, { "name": "userLanguage", "use": "in", "min": 0, "max": "1", "documentation": "Preferred language of the person using the system", "type": "CodeableConcept" }, { "name": "userTaskContext", "use": "in", "min": 0, "max": "1", "documentation": "The task the system user is performing, e.g. laboratory results review, medication list review, etc. This information can be used to tailor decision support outputs, such as recommended information resources", "type": "CodeableConcept" }, { "name": "setting", "use": "in", "min": 0, "max": "1", "documentation": "The current setting of the request (inpatient, outpatient, etc.)", "type": "CodeableConcept" }, { "name": "settingContext", "use": "in", "min": 0, "max": "1", "documentation": "Additional detail about the setting of the request, if any", "type": "CodeableConcept" }, { "name": "return", "use": "out", "min": 1, "max": "1", "documentation": "The CarePlan that is the result of applying the plan definition", "type": "CarePlan" } ] }