Training assessment: Difference between revisions

From Opasnet
Jump to navigation Jump to search
 
(2 intermediate revisions by the same user not shown)
Line 53: Line 53:
Factory|Cleaning_policy|Reduce emissions|exposure|Year:2020|Multiply|-|0.5|  
Factory|Cleaning_policy|Reduce emissions|exposure|Year:2020|Multiply|-|0.5|  
Factory|Cleaning_policy|BAU|costs||Add|€|0|  
Factory|Cleaning_policy|BAU|costs||Add|€|0|  
Factory|Cleaning_policy|Reduce emissions|costs|Year:2020;Expenditure:Cleaning equipment use|Add|€|50000|  
Factory|Cleaning_policy|Reduce emissions|costs|Year:2020;Expenditure:Cleaning equipment use|Add|€|30000-40000|  
City of Kuopio|Health_promotion|BAU|health_impact||Multiply|-|1|
City of Kuopio|Health_promotion|BAU|health_impact||Multiply|-|1|
City of Kuopio|Health_promotion|Increase health education|health_impact||Multiply|-|0.9|
City of Kuopio|Health_promotion|Increase health education|health_impact||Multiply|-|0.9|
Line 79: Line 79:
library(ggplot2)
library(ggplot2)


DecisionTableParser(opbase.data("Op_en5677", subset = "Decisions")) # <nowiki>[[Training assessment]]</nowiki>
DecisionTableParser(opbase.data("Op_en5677", subset = "Decisions")) # [[Training assessment]]


objects.latest("Op_en5675", code_name = "initiate") # <nowiki>[[Training health impact]]</nowiki> health_impact
objects.latest("Op_en5675", code_name = "initiate") # [[Training health impact]] health_impact
objects.latest("Op_en5871", code_name = "initiate") # <nowiki>[[Training costs]]</nowiki> costs
objects.latest("Op_en5871", code_name = "initiate") # [[Training costs]] costs


unitcost <- Ovariable("unitcost", data = data.frame(Result = unitcost))
unitcost <- Ovariable("unitcost", data = data.frame(Result = unitcost))


costs <- EvalOutput(costs)
costs <- CheckDecisions(EvalOutput(costs))


costs2 <- oapply(unkeep(costs, sources = TRUE), cols ="Expenditure", FUN = sum)
costs2 <- oapply(unkeep(costs, sources = TRUE), cols ="Expenditure", FUN = sum)
cat("Summary of exposures\n")
oprint(summary(exposure))


cat("Summary of health impacts\n")
cat("Summary of health impacts\n")
Line 109: Line 113:
theme_gray(base_size = 24) +
theme_gray(base_size = 24) +
facet_grid(Cleaning_policy ~ Health_promotion)
facet_grid(Cleaning_policy ~ Health_promotion)
ggplot(subset(costs2@output, Year == 2020), aes(x = Payer, weight = costsResult / openv$N, fill = Payer)) + geom_bar() +
theme_gray(base_size = 24) +
facet_grid(Cleaning_policy ~ Health_promotion)


</rcode>
</rcode>
Line 127: Line 137:
In the beginning of a code, packages that are needed are loaded. These are the two most commonly used. OpasnetUtils is for all Opasnet functionalities, ggplot2 is for cool graphs.
In the beginning of a code, packages that are needed are loaded. These are the two most commonly used. OpasnetUtils is for all Opasnet functionalities, ggplot2 is for cool graphs.


  DecisionTableParser(opbase.data("Op_en5677", subset = "Decisions")) # [[Training assessment]]
  DecisionTableParser(opbase.data("Op_en5677", subset = "Decisions")) # <nowiki>[[Training assessment]]</nowiki>


This code defines from where to take the assessment-specific decisions. In this case, they are on the page Training assessment, in a table called ''Decisions''. The page has identifier Op_en5677, which can be found from the metadata box, which is typically in the top right corner of a page.
This code defines from where to take the assessment-specific decisions. In this case, they are on the page Training assessment, in a table called ''Decisions''. The page has identifier Op_en5677, which can be found from the metadata box, which is typically in the top right corner of a page.


  objects.latest("Op_en5675", code_name = "initiate") # [[Training health impact]] health_impact
  objects.latest("Op_en5675", code_name = "initiate") # <nowiki>[[Training health impact]]</nowiki> health_impact
  objects.latest("Op_en5871", code_name = "initiate") # [[Training cost]] costs
  objects.latest("Op_en5871", code_name = "initiate") # <nowiki>[[Training costs]]</nowiki> costs


These lines fetch ready-made ovariables that are needed in this assessment. The code defining these ovariables are located on the pages mentioned. Note that # is the comment character and everything after it is ignored in the model; so it is used to put explanations for the reader within the code.
These lines fetch ready-made ovariables that are needed in this assessment. The code defining these ovariables are located on the pages mentioned. Note that # is the comment character and everything after it is ignored in the model; so it is used to put explanations for the reader within the code.

Latest revision as of 20:01, 24 March 2015



This is a training assessment about an imaginary, simple case. The purpose is to illustrate assessment functionalities.

Scope

Question

What decisions are worth implementing in the training assessment?

Boundaries

  • Time: Year 2012 - 2020

Scenarios

  • Factory can reduce emissions, or continue business as usual.
  • School can increase health education, decrease it to save money, or continue business as usual.

Intended users

  • Anyone who wants to learn to make open assessments.

Participants

Answer

Conclusions

Results

Not yet available.

Rationale

The causal diagram for the training assessment.

Assessment-specific data

Decisions
Decisions(-)
ObsDecisionmakerDecisionOptionVariableCellChangeUnitAmountDescription
1FactoryCleaning_policyBAUexposureYear:2020Multiply-1
2FactoryCleaning_policyReduce emissionsexposureYear:2020Multiply-0.5
3FactoryCleaning_policyBAUcostsAdd0
4FactoryCleaning_policyReduce emissionscostsYear:2020;Expenditure:Cleaning equipment useAdd30000-40000
5City of KuopioHealth_promotionBAUhealth_impactMultiply-1
6City of KuopioHealth_promotionIncrease health educationhealth_impactMultiply-0.9
7City of KuopioHealth_promotionBAUcostsAdd0
8City of KuopioHealth_promotionIncrease health educationcostsYear:2020;Expenditure:Health promotion campaignAdd10000


Variables
Analyses
  • Decision analysis on each policy: Which option minimises the health risks?
  • Value of information (VOI) analysis for each policy about the major variables in the model and the total VOI.

Calculations

What is the unit cost of one case of disease?:

+ Show code

Explanations of the code

 <rcode graphics=1 
 	variables="name:unitcost|description:What is the unit cost of one case of disease?|type:text|default:100"
 >

The tag above starts the R code. It turns on the graphics so that graphs can be drawn. It also asks the user to give a value for the variable unitcost.

library(OpasnetUtils)
library(ggplot2)

In the beginning of a code, packages that are needed are loaded. These are the two most commonly used. OpasnetUtils is for all Opasnet functionalities, ggplot2 is for cool graphs.

DecisionTableParser(opbase.data("Op_en5677", subset = "Decisions")) # [[Training assessment]]

This code defines from where to take the assessment-specific decisions. In this case, they are on the page Training assessment, in a table called Decisions. The page has identifier Op_en5677, which can be found from the metadata box, which is typically in the top right corner of a page.

objects.latest("Op_en5675", code_name = "initiate") # [[Training health impact]] health_impact
objects.latest("Op_en5871", code_name = "initiate") # [[Training costs]] costs

These lines fetch ready-made ovariables that are needed in this assessment. The code defining these ovariables are located on the pages mentioned. Note that # is the comment character and everything after it is ignored in the model; so it is used to put explanations for the reader within the code.

unitcost <- Ovariable("unitcost", data = data.frame(Result = unitcost))

Unitcost was asked from the user as a value, and now it is converted to an ovariable.

costs <- EvalOutput(costs)

costs2 <- oapply(unkeep(costs, sources = TRUE), cols ="Expenditure", FUN = sum)

Because all ovariables are connected in the model, it is enough to evaluate the last one. The model will automatically evaluate all ovariables that are causally upstream. Also, the decisions that apply to this assessment will change the results of the ovariables as necessary. Ovariable costs2 is used to summarise contents of costs for easier presentation.

cat("Summary of health impacts\n")

Function cat is used to print outputs for the user.

oprint(summary(health_impact), digits = 0)

Function oprint is used to print tables for the user.

cat("Summary of all costs\n")

oprint(summary(costs2), digits = 0)
ggplot(exposure@output, aes(x = exposureResult, colour = Year)) + geom_density() +
	theme_gray(base_size = 24) +
	facet_grid(Cleaning_policy ~ .)

Function ggplot is very effective in creating all kinds of graphs with just a few lines. It is really worth learning.

ggplot(health_impact@output, aes(x = health_impactResult, colour = Year)) + geom_density() +
	theme_gray(base_size = 24) +
	facet_grid(Cleaning_policy ~ Health_promotion)

ggplot(subset(costs2@output, Year == 2020), aes(x = costsResult, colour = Payer)) + geom_density() +
	theme_gray(base_size = 24) +
	facet_grid(Cleaning_policy ~ Health_promotion)
 </rcode>

The code must always end with this tag.

See also

Materials and examples for training in Opasnet and open assessment
Help pages Wiki editingHow to edit wikipagesQuick reference for wiki editingDrawing graphsOpasnet policiesWatching pagesWriting formulaeWord to WikiWiki editing Advanced skills
Training assessment (examples of different objects) Training assessmentTraining exposureTraining health impactTraining costsClimate change policies and health in KuopioClimate change policies in Kuopio
Methods and concepts AssessmentVariableMethodQuestionAnswerRationaleAttributeDecisionResultObject-oriented programming in OpasnetUniversal objectStudyFormulaOpasnetBaseUtilsOpen assessmentPSSP
Terms with changed use ScopeDefinitionResultTool


  • Descriptions of a previous structure
  • ----#: . Päätöksenteon sokea piste: se mitä ihmiset eivät näe mutta eivät myöskään huomaa etteivät näe. Kuitenkin tutkimalla sitä mitä mitä ihmiset eivät näe saadaan selville asioita sokeasta pisteesta. Ymmärtämällä sokeaa pistettä voidaan keksiä asioita jotka järjestelmällisesti jäävät huomaamatta ja asioita, joilla voidaan korjata järjestelmällisiä puutteita. Avoin arviointi on tämmöinen päätöksenteon järjestelmällisten puutteiden korjausmekanismi. --Jouni 08:55, 1 May 2012 (EEST) (type: truth; paradigms: science: comment)

References


Related files

<mfanonymousfilelist></mfanonymousfilelist>