Training assessment

From Opasnet
Jump to: navigation, search

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



What decisions are worth implementing in the training assessment?


  • Time: Year 2012 - 2020


  • 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.





Not yet available.


The causal diagram for the training assessment.

Assessment-specific data

2FactoryCleaning_policyReduce emissionsexposureYear:2020Multiply-0.5
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

  • 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.


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.


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("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)

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)


Related files