1
0

Initial template import

This commit is contained in:
ProcessGit Templates
2026-02-05 21:19:45 +00:00
commit b4d5bafd95
15 changed files with 497 additions and 0 deletions

View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL"
xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI"
xmlns:dc="http://www.omg.org/spec/DD/20100524/DC"
xmlns:di="http://www.omg.org/spec/DD/20100524/DI"
id="Definitions_PolicyPublication"
targetNamespace="http://bpmn.io/schema/bpmn">
<bpmn:process id="PolicyPublicationProcess" name="Policy Publication Process" isExecutable="true">
<bpmn:startEvent id="StartEvent_1" name="Policy Draft Ready">
<bpmn:outgoing>Flow_1</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:sequenceFlow id="Flow_1" sourceRef="StartEvent_1" targetRef="Task_Review"/>
<bpmn:userTask id="Task_Review" name="Review Policy Draft">
<bpmn:incoming>Flow_1</bpmn:incoming>
<bpmn:outgoing>Flow_2</bpmn:outgoing>
</bpmn:userTask>
<bpmn:sequenceFlow id="Flow_2" sourceRef="Task_Review" targetRef="Gateway_Approve"/>
<bpmn:exclusiveGateway id="Gateway_Approve" name="Approved?">
<bpmn:incoming>Flow_2</bpmn:incoming>
<bpmn:outgoing>Flow_Approved</bpmn:outgoing>
<bpmn:outgoing>Flow_Rejected</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:sequenceFlow id="Flow_Approved" name="Yes" sourceRef="Gateway_Approve" targetRef="Task_Publish"/>
<bpmn:sequenceFlow id="Flow_Rejected" name="No" sourceRef="Gateway_Approve" targetRef="Task_Revise"/>
<bpmn:userTask id="Task_Revise" name="Revise Policy">
<bpmn:incoming>Flow_Rejected</bpmn:incoming>
<bpmn:outgoing>Flow_3</bpmn:outgoing>
</bpmn:userTask>
<bpmn:sequenceFlow id="Flow_3" sourceRef="Task_Revise" targetRef="Task_Review"/>
<bpmn:serviceTask id="Task_Publish" name="Publish Policy">
<bpmn:incoming>Flow_Approved</bpmn:incoming>
<bpmn:outgoing>Flow_4</bpmn:outgoing>
</bpmn:serviceTask>
<bpmn:sequenceFlow id="Flow_4" sourceRef="Task_Publish" targetRef="Task_Notify"/>
<bpmn:sendTask id="Task_Notify" name="Notify Stakeholders">
<bpmn:incoming>Flow_4</bpmn:incoming>
<bpmn:outgoing>Flow_5</bpmn:outgoing>
</bpmn:sendTask>
<bpmn:sequenceFlow id="Flow_5" sourceRef="Task_Notify" targetRef="EndEvent_1"/>
<bpmn:endEvent id="EndEvent_1" name="Policy Published">
<bpmn:incoming>Flow_5</bpmn:incoming>
</bpmn:endEvent>
</bpmn:process>
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="PolicyPublicationProcess">
<bpmndi:BPMNShape id="StartEvent_1_di" bpmnElement="StartEvent_1">
<dc:Bounds x="152" y="102" width="36" height="36"/>
<bpmndi:BPMNLabel>
<dc:Bounds x="132" y="145" width="76" height="27"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_Review_di" bpmnElement="Task_Review">
<dc:Bounds x="240" y="80" width="100" height="80"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_Approve_di" bpmnElement="Gateway_Approve" isMarkerVisible="true">
<dc:Bounds x="395" y="95" width="50" height="50"/>
<bpmndi:BPMNLabel>
<dc:Bounds x="394" y="71" width="53" height="14"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_Revise_di" bpmnElement="Task_Revise">
<dc:Bounds x="370" y="200" width="100" height="80"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_Publish_di" bpmnElement="Task_Publish">
<dc:Bounds x="500" y="80" width="100" height="80"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_Notify_di" bpmnElement="Task_Notify">
<dc:Bounds x="660" y="80" width="100" height="80"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="EndEvent_1_di" bpmnElement="EndEvent_1">
<dc:Bounds x="822" y="102" width="36" height="36"/>
<bpmndi:BPMNLabel>
<dc:Bounds x="816" y="145" width="48" height="27"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="Flow_1_di" bpmnElement="Flow_1">
<di:waypoint x="188" y="120"/>
<di:waypoint x="240" y="120"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_2_di" bpmnElement="Flow_2">
<di:waypoint x="340" y="120"/>
<di:waypoint x="395" y="120"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Approved_di" bpmnElement="Flow_Approved">
<di:waypoint x="445" y="120"/>
<di:waypoint x="500" y="120"/>
<bpmndi:BPMNLabel>
<dc:Bounds x="463" y="102" width="19" height="14"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Rejected_di" bpmnElement="Flow_Rejected">
<di:waypoint x="420" y="145"/>
<di:waypoint x="420" y="200"/>
<bpmndi:BPMNLabel>
<dc:Bounds x="428" y="170" width="15" height="14"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_3_di" bpmnElement="Flow_3">
<di:waypoint x="370" y="240"/>
<di:waypoint x="290" y="240"/>
<di:waypoint x="290" y="160"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_4_di" bpmnElement="Flow_4">
<di:waypoint x="600" y="120"/>
<di:waypoint x="660" y="120"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_5_di" bpmnElement="Flow_5">
<di:waypoint x="760" y="120"/>
<di:waypoint x="822" y="120"/>
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn:definitions>

View File

@@ -0,0 +1,111 @@
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/CMMN/20151109/MODEL"
xmlns:dc="http://www.omg.org/spec/CMMN/20151109/DC"
xmlns:di="http://www.omg.org/spec/CMMN/20151109/DI"
xmlns:cmmndi="http://www.omg.org/spec/CMMN/20151109/CMMNDI"
id="PolicyPublicationCase"
targetNamespace="http://processgit.local/cmmn">
<case id="Case_PolicyPublication" name="Policy Publication Case">
<casePlanModel id="CasePlanModel_1" name="Policy Publication Management">
<planItem id="PlanItem_Review" definitionRef="HumanTask_Review">
<entryCriterion id="EntryCriterion_1" sentryRef="Sentry_Start"/>
</planItem>
<planItem id="PlanItem_Approval" definitionRef="HumanTask_Approval">
<entryCriterion id="EntryCriterion_2" sentryRef="Sentry_AfterReview"/>
</planItem>
<planItem id="PlanItem_Revision" definitionRef="HumanTask_Revision">
<entryCriterion id="EntryCriterion_3" sentryRef="Sentry_NeedsRevision"/>
</planItem>
<planItem id="PlanItem_Publication" definitionRef="Task_Publish">
<entryCriterion id="EntryCriterion_4" sentryRef="Sentry_Approved"/>
</planItem>
<planItem id="PlanItem_Notification" definitionRef="Task_Notify">
<entryCriterion id="EntryCriterion_5" sentryRef="Sentry_Published"/>
</planItem>
<sentry id="Sentry_Start">
<planItemOnPart id="OnPart_1" sourceRef="PlanItem_Review">
<standardEvent>create</standardEvent>
</planItemOnPart>
</sentry>
<sentry id="Sentry_AfterReview">
<planItemOnPart id="OnPart_2" sourceRef="PlanItem_Review">
<standardEvent>complete</standardEvent>
</planItemOnPart>
</sentry>
<sentry id="Sentry_NeedsRevision">
<planItemOnPart id="OnPart_3" sourceRef="PlanItem_Approval">
<standardEvent>complete</standardEvent>
</planItemOnPart>
<ifPart id="IfPart_1">
<condition id="Condition_1">
<body>approvalStatus == 'REJECTED'</body>
</condition>
</ifPart>
</sentry>
<sentry id="Sentry_Approved">
<planItemOnPart id="OnPart_4" sourceRef="PlanItem_Approval">
<standardEvent>complete</standardEvent>
</planItemOnPart>
<ifPart id="IfPart_2">
<condition id="Condition_2">
<body>approvalStatus == 'APPROVED'</body>
</condition>
</ifPart>
</sentry>
<sentry id="Sentry_Published">
<planItemOnPart id="OnPart_5" sourceRef="PlanItem_Publication">
<standardEvent>complete</standardEvent>
</planItemOnPart>
</sentry>
<humanTask id="HumanTask_Review" name="Review Policy Draft"/>
<humanTask id="HumanTask_Approval" name="Approve Policy"/>
<humanTask id="HumanTask_Revision" name="Revise Policy"/>
<task id="Task_Publish" name="Publish Policy"/>
<task id="Task_Notify" name="Notify Stakeholders"/>
</casePlanModel>
</case>
<cmmndi:CMMNDI>
<cmmndi:CMMNDiagram id="CMMNDiagram_1">
<cmmndi:CMMNShape id="CMMNShape_CasePlan_1" cmmnElementRef="CasePlanModel_1">
<dc:Bounds x="50" y="50" width="700" height="400"/>
</cmmndi:CMMNShape>
<cmmndi:CMMNShape id="CMMNShape_PlanItem_1" cmmnElementRef="PlanItem_Review">
<dc:Bounds x="100" y="100" width="100" height="80"/>
</cmmndi:CMMNShape>
<cmmndi:CMMNShape id="CMMNShape_PlanItem_2" cmmnElementRef="PlanItem_Approval">
<dc:Bounds x="250" y="100" width="100" height="80"/>
</cmmndi:CMMNShape>
<cmmndi:CMMNShape id="CMMNShape_PlanItem_3" cmmnElementRef="PlanItem_Revision">
<dc:Bounds x="250" y="250" width="100" height="80"/>
</cmmndi:CMMNShape>
<cmmndi:CMMNShape id="CMMNShape_PlanItem_4" cmmnElementRef="PlanItem_Publication">
<dc:Bounds x="400" y="100" width="100" height="80"/>
</cmmndi:CMMNShape>
<cmmndi:CMMNShape id="CMMNShape_PlanItem_5" cmmnElementRef="PlanItem_Notification">
<dc:Bounds x="550" y="100" width="100" height="80"/>
</cmmndi:CMMNShape>
<cmmndi:CMMNShape id="EntryCriterion_1_di" cmmnElementRef="EntryCriterion_1">
<dc:Bounds x="270" y="126" width="20" height="28" />
</cmmndi:CMMNShape>
<cmmndi:CMMNShape id="EntryCriterion_2_di" cmmnElementRef="EntryCriterion_2">
<dc:Bounds x="420" y="126" width="20" height="28" />
</cmmndi:CMMNShape>
<cmmndi:CMMNShape id="EntryCriterion_3_di" cmmnElementRef="EntryCriterion_3">
<dc:Bounds x="440" y="306" width="20" height="28" />
</cmmndi:CMMNShape>
</cmmndi:CMMNDiagram>
</cmmndi:CMMNDI>
</definitions>

View File

@@ -0,0 +1,117 @@
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="https://www.omg.org/spec/DMN/20191111/MODEL/"
xmlns:dmndi="https://www.omg.org/spec/DMN/20191111/DMNDI/"
xmlns:dc="http://www.omg.org/spec/DD/20100524/DC"
xmlns:di="http://www.omg.org/spec/DD/20100524/DI"
id="PolicyApprovalDecisions"
name="Policy Approval Decisions"
namespace="http://processgit.local/dmn">
<decision id="Decision_PolicyApproval" name="Policy Approval Decision">
<informationRequirement id="InfoReq_1">
<requiredInput href="#InputData_ComplianceScore"/>
</informationRequirement>
<informationRequirement id="InfoReq_2">
<requiredInput href="#InputData_StakeholderFeedback"/>
</informationRequirement>
<decisionTable id="DecisionTable_1">
<input id="Input_1" label="Compliance Score">
<inputExpression id="InputExpression_1" typeRef="number">
<text>complianceScore</text>
</inputExpression>
</input>
<input id="Input_2" label="Stakeholder Feedback">
<inputExpression id="InputExpression_2" typeRef="string">
<text>stakeholderFeedback</text>
</inputExpression>
</input>
<output id="Output_1" label="Approval Status" name="approvalStatus" typeRef="string"/>
<output id="Output_2" label="Review Required" name="reviewRequired" typeRef="boolean"/>
<rule id="Rule_1">
<inputEntry id="InputEntry_1_1">
<text>&gt;= 90</text>
</inputEntry>
<inputEntry id="InputEntry_1_2">
<text>"Positive"</text>
</inputEntry>
<outputEntry id="OutputEntry_1_1">
<text>"APPROVED"</text>
</outputEntry>
<outputEntry id="OutputEntry_1_2">
<text>false</text>
</outputEntry>
</rule>
<rule id="Rule_2">
<inputEntry id="InputEntry_2_1">
<text>[70..90)</text>
</inputEntry>
<inputEntry id="InputEntry_2_2">
<text>"Positive", "Neutral"</text>
</inputEntry>
<outputEntry id="OutputEntry_2_1">
<text>"CONDITIONAL"</text>
</outputEntry>
<outputEntry id="OutputEntry_2_2">
<text>true</text>
</outputEntry>
</rule>
<rule id="Rule_3">
<inputEntry id="InputEntry_3_1">
<text>&lt; 70</text>
</inputEntry>
<inputEntry id="InputEntry_3_2">
<text>-</text>
</inputEntry>
<outputEntry id="OutputEntry_3_1">
<text>"REJECTED"</text>
</outputEntry>
<outputEntry id="OutputEntry_3_2">
<text>true</text>
</outputEntry>
</rule>
<rule id="Rule_4">
<inputEntry id="InputEntry_4_1">
<text>-</text>
</inputEntry>
<inputEntry id="InputEntry_4_2">
<text>"Negative"</text>
</inputEntry>
<outputEntry id="OutputEntry_4_1">
<text>"REJECTED"</text>
</outputEntry>
<outputEntry id="OutputEntry_4_2">
<text>true</text>
</outputEntry>
</rule>
</decisionTable>
</decision>
<inputData id="InputData_ComplianceScore" name="Compliance Score"/>
<inputData id="InputData_StakeholderFeedback" name="Stakeholder Feedback"/>
<dmndi:DMNDI>
<dmndi:DMNDiagram id="DMNDiagram_1">
<dmndi:DMNShape id="DMNShape_Decision_1" dmnElementRef="Decision_PolicyApproval">
<dc:Bounds x="160" y="80" width="180" height="80"/>
</dmndi:DMNShape>
<dmndi:DMNShape id="DMNShape_Input_1" dmnElementRef="InputData_ComplianceScore">
<dc:Bounds x="100" y="220" width="125" height="45"/>
</dmndi:DMNShape>
<dmndi:DMNShape id="DMNShape_Input_2" dmnElementRef="InputData_StakeholderFeedback">
<dc:Bounds x="275" y="220" width="125" height="45"/>
</dmndi:DMNShape>
<dmndi:DMNEdge id="DMNEdge_1" dmnElementRef="InfoReq_1">
<di:waypoint x="162" y="220"/>
<di:waypoint x="200" y="160"/>
</dmndi:DMNEdge>
<dmndi:DMNEdge id="DMNEdge_2" dmnElementRef="InfoReq_2">
<di:waypoint x="338" y="220"/>
<di:waypoint x="300" y="160"/>
</dmndi:DMNEdge>
</dmndi:DMNDiagram>
</dmndi:DMNDI>
</definitions>

View File

@@ -0,0 +1,32 @@
# Policy Publication Process
## Overview
This process manages the publication of policies in a public sector organization, including review, approval, and stakeholder notification.
## Process Flow
1. Policy Draft Ready - A new policy draft is submitted
2. Review Policy Draft - Subject matter experts review the draft
3. Approval Decision - Automated decision based on compliance score and stakeholder feedback
4. Revise Policy (if rejected) - Author revises the policy
5. Publish Policy - System publishes the approved policy
6. Notify Stakeholders - Automated notifications sent to affected parties
## Governance
This process includes RACI matrices and governance controls. See the governance/ directory for:
- RACI matrices defining roles and responsibilities
- Approval workflows
- Audit event tracking
## Decision Logic
The approval decision uses:
- Compliance Score (0-100)
- Stakeholder Feedback (Positive, Neutral, Negative)
Approval thresholds:
- Score >= 90 + Positive feedback: Automatic approval
- Score 70-89 + Positive/Neutral: Conditional approval with review
- Score < 70 or Negative feedback: Rejection requiring revision
## Integration Points
- Publication System: /api/publish endpoint
- Notification Service: Email channel for stakeholder alerts

View File

@@ -0,0 +1,16 @@
status: draft
created: "2026-01-10"
lastModified: "2026-01-10"
version: 0.1.0
history:
- version: 0.1.0
date: "2026-01-10"
author: "{{.RepoOwner}}"
changes: Initial template creation
reviews:
nextReview: "2026-04-10"
frequency: quarterly
approvals: []

View File

@@ -0,0 +1,17 @@
owner:
team: "{{.RepoOwner}}"
contact: "{{.RepoOwner}}@processgit.local"
department: Policy Management
stakeholders:
- name: Legal Department
role: Compliance Review
contact: legal@processgit.local
- name: Communications Team
role: Publication
contact: comms@processgit.local
- name: Executive Office
role: Final Approval
contact: exec@processgit.local

View File

@@ -0,0 +1,21 @@
version: "1.0"
mappings:
- taskId: Task_Review
type: human
resource: policy-reviewer
role: Reviewer
- taskId: Task_Revise
type: human
resource: policy-author
role: Author
- taskId: Task_Publish
type: system
resource: publication-system
endpoint: /api/publish
- taskId: Task_Notify
type: agent
resource: notification-service
channel: email

25
demo-process/uapf.yaml Normal file
View File

@@ -0,0 +1,25 @@
kind: uapf.package
id: uapf.public-sector-raci
name: Public Sector Process with RACI
description: Process with governance and RACI matrices
level: 4
version: 0.1.0
includes: []
cornerstones:
bpmn: true
dmn: true
cmmn: true
resources: true
governance: true
paths:
bpmn: bpmn
dmn: dmn
cmmn: cmmn
resources: resources
metadata: metadata
governance: ../governance
owners:
- type: team
id: "{{.RepoOwner}}"
contact: "{{.RepoOwner}}@processgit.local"
lifecycle: draft