Package: tricc-oo
TRICCEdgesthe edge are in general labeless unless for :
- after a select multiple: can setup quick rhombus for the number of choice selected, an opperator is required (<>=)
- after a yes/no quesiton:  'Yes', 'No', 'Follow' (translation can be added in the code )
- before a calculate to put weight: integer onlyShapetricc_type:Rhombustricc_type:calculatetricc_type: calculateNegate/Exclusivetricc_type:notSelect Multipletricc_type:select_multipleoptionstricc_type:select_optionSelect onetricc_type:select_oneSelect YesNoNot yet supportedoptionstricc_type:select_optionTexttricc_type:textNotetricc_type:noteDecimaltricc_type:decimalEnrichmentnode that target another node to enrich itImageHinttricc_type:hint-messageHelpCommcare only, not yet supportedtricc_type:help-messageNot availableDiplay a checkbox to indicate that the data cannot be capturetricc_type:not_availableLinksNode that are made to link page of jump witnin a pageStartActivity Startactivity endEndPage/Containerpropertiestricc_typerhombus: fetch data
goto: start the linked activity within the target activity
start: main start of the algo
activity_start: start of an activity (link in)
link_in
link_out
count: count the number of valid input
add: add counts
(DEPRECATED)container_hint_media:
activity:
#select_yesno:
select_option:
hint:
help:
exclusive:
end:
activity_end:
edge:
page:
note:
calculate:
select_multiple:
select_one:
decimal:
integer:
text:expressionreplace the calcualte deducted by inputsexpression_inputsadds a calcualte to the one deducted by inputsdefaultnot supported yetsavewill create a calculate with the same nameobs: observation: save the option as a calcualte obs_[name of the option]can be written obs.[othername].[snomedCode]diag: diagnostic/classification save the option as a calcualte diag_[name of the option]flag: calculate save the option as a calcualte is_[name of the option]nameMandatorylabelNot a real property to add, it is simply the text display in the boxesnotesadvanced interpretation of the edges:Activity instances: if there is more that 1 instance of a single actity then the 1+ activity will be displayed only if the previous one were not, to do that the GoTO node are replaced by a path and a rombhus, the path got to the activitvy and rhombus and the next node (if any) are attached to the rhombus that is use to wait that the activitythe node folowing an 1+ activity will be display after the activy OR instead of the activitySelect multiple: if followed by a calculate (rhombus included) the calculate will be equal to the number of selected option BUT opt_none
if not a calculate then relevance will be used unless it is "required" then condition will be at least 1 selectionthe Rhombus act as an AND between its imputs and its reference BUT it is an OR beween the inputs
(input1 OR input2 OR input3) AND referencestart nodesMain startthe flow required at least 1 main start node, but in case of cdss output strategy , several could be used given that they have a 'process' atrribute

here is the list of the CPG process, this will be the execution oder too:

    - 'registration',
    - 'triage',
    - 'emergency-care',
    - 'local-urgent-care',
    - 'actue-tertiary-care',
    - 'history-and-physical',
    - 'diagnostic-testing',
    - 'determine-diagnosis',
    - 'provide-counseling',
    - 'dispense-medications',
    - 'monitor-and-follow-up-of-patient',
    - 'alerts-reminders-education',
    - 'discharge-referral-of-patient',
    - 'charge-for-service',
    - 'record-and-report'READ Xressourcehttps://jgraph.github.io/drawio-tools/tools/convert.htmloption can have only incoming edge from images to be placed as option$Notegeneration of the expressions [get_node_expressions]add calcualte:Non or No will generate a negate nodesave adds a calcualtea rhombus will generate a calcualte in reference unless is is already the case (no left expression too)if the node is a calculate [get_node_expression, calculate = true]then we calculate based on the previous nodes: [get_prev_node_expression]
    - if a "fake" calculate (Rhombus, exclusion) then get the underlying expression (should not depend of Calcualte = true) [get_calculation_terms]
    - if a Select, manage it as a calculate too (should not depend of Calcualte = true) [get_calculation_terms]
    - else get the expression via  [get_calculation_terms] [get_prev_node_expression , calculate = False] -> get_node_expression for the prev nodeif the node is NOT a calculate [get_node_expression, calculate = false]