1
0

Initial template import

This commit is contained in:
ProcessGit Templates
2026-02-05 21:19:46 +00:00
commit 89195280fc
15 changed files with 578 additions and 0 deletions

View File

@@ -0,0 +1,142 @@
<?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_LoanProcess"
targetNamespace="http://bpmn.io/schema/bpmn">
<bpmn:process id="LoanApplicationProcess" name="Loan Application Process" isExecutable="true">
<bpmn:startEvent id="StartEvent_1" name="Loan Application Received">
<bpmn:outgoing>Flow_1</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:sequenceFlow id="Flow_1" sourceRef="StartEvent_1" targetRef="Task_Validate"/>
<bpmn:userTask id="Task_Validate" name="Validate Application">
<bpmn:incoming>Flow_1</bpmn:incoming>
<bpmn:outgoing>Flow_2</bpmn:outgoing>
</bpmn:userTask>
<bpmn:sequenceFlow id="Flow_2" sourceRef="Task_Validate" targetRef="Task_CheckCredit"/>
<bpmn:serviceTask id="Task_CheckCredit" name="Check Credit Score">
<bpmn:incoming>Flow_2</bpmn:incoming>
<bpmn:outgoing>Flow_3</bpmn:outgoing>
</bpmn:serviceTask>
<bpmn:sequenceFlow id="Flow_3" sourceRef="Task_CheckCredit" targetRef="Task_ApprovalDecision"/>
<bpmn:businessRuleTask id="Task_ApprovalDecision" name="Loan Approval Decision">
<bpmn:incoming>Flow_3</bpmn:incoming>
<bpmn:outgoing>Flow_4</bpmn:outgoing>
</bpmn:businessRuleTask>
<bpmn:sequenceFlow id="Flow_4" sourceRef="Task_ApprovalDecision" targetRef="Gateway_Approved"/>
<bpmn:exclusiveGateway id="Gateway_Approved" name="Approved?">
<bpmn:incoming>Flow_4</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_Approved" targetRef="Task_Disburse"/>
<bpmn:sequenceFlow id="Flow_Rejected" name="No" sourceRef="Gateway_Approved" targetRef="Task_Reject"/>
<bpmn:serviceTask id="Task_Disburse" name="Disburse Loan">
<bpmn:incoming>Flow_Approved</bpmn:incoming>
<bpmn:outgoing>Flow_5</bpmn:outgoing>
</bpmn:serviceTask>
<bpmn:sequenceFlow id="Flow_5" sourceRef="Task_Disburse" targetRef="EndEvent_Approved"/>
<bpmn:sendTask id="Task_Reject" name="Send Rejection Notice">
<bpmn:incoming>Flow_Rejected</bpmn:incoming>
<bpmn:outgoing>Flow_6</bpmn:outgoing>
</bpmn:sendTask>
<bpmn:sequenceFlow id="Flow_6" sourceRef="Task_Reject" targetRef="EndEvent_Rejected"/>
<bpmn:endEvent id="EndEvent_Approved" name="Loan Approved">
<bpmn:incoming>Flow_5</bpmn:incoming>
</bpmn:endEvent>
<bpmn:endEvent id="EndEvent_Rejected" name="Loan Rejected">
<bpmn:incoming>Flow_6</bpmn:incoming>
</bpmn:endEvent>
</bpmn:process>
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="LoanApplicationProcess">
<bpmndi:BPMNShape id="StartEvent_1_di" bpmnElement="StartEvent_1">
<dc:Bounds x="152" y="102" width="36" height="36"/>
<bpmndi:BPMNLabel>
<dc:Bounds x="134" y="145" width="73" height="27"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_Validate_di" bpmnElement="Task_Validate">
<dc:Bounds x="240" y="80" width="100" height="80"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_CheckCredit_di" bpmnElement="Task_CheckCredit">
<dc:Bounds x="400" y="80" width="100" height="80"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_ApprovalDecision_di" bpmnElement="Task_ApprovalDecision">
<dc:Bounds x="560" y="80" width="100" height="80"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Gateway_Approved_di" bpmnElement="Gateway_Approved" isMarkerVisible="true">
<dc:Bounds x="715" y="95" width="50" height="50"/>
<bpmndi:BPMNLabel>
<dc:Bounds x="714" y="71" width="53" height="14"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_Disburse_di" bpmnElement="Task_Disburse">
<dc:Bounds x="820" y="80" width="100" height="80"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="Task_Reject_di" bpmnElement="Task_Reject">
<dc:Bounds x="690" y="200" width="100" height="80"/>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="EndEvent_Approved_di" bpmnElement="EndEvent_Approved">
<dc:Bounds x="982" y="102" width="36" height="36"/>
<bpmndi:BPMNLabel>
<dc:Bounds x="963" y="145" width="74" height="14"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="EndEvent_Rejected_di" bpmnElement="EndEvent_Rejected">
<dc:Bounds x="862" y="222" width="36" height="36"/>
<bpmndi:BPMNLabel>
<dc:Bounds x="845" y="265" width="71" height="14"/>
</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="400" y="120"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_3_di" bpmnElement="Flow_3">
<di:waypoint x="500" y="120"/>
<di:waypoint x="560" y="120"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_4_di" bpmnElement="Flow_4">
<di:waypoint x="660" y="120"/>
<di:waypoint x="715" y="120"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Approved_di" bpmnElement="Flow_Approved">
<di:waypoint x="765" y="120"/>
<di:waypoint x="820" y="120"/>
<bpmndi:BPMNLabel>
<dc:Bounds x="783" y="102" width="19" height="14"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_Rejected_di" bpmnElement="Flow_Rejected">
<di:waypoint x="740" y="145"/>
<di:waypoint x="740" y="200"/>
<bpmndi:BPMNLabel>
<dc:Bounds x="748" y="170" width="15" height="14"/>
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_5_di" bpmnElement="Flow_5">
<di:waypoint x="920" y="120"/>
<di:waypoint x="982" y="120"/>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="Flow_6_di" bpmnElement="Flow_6">
<di:waypoint x="790" y="240"/>
<di:waypoint x="862" y="240"/>
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn:definitions>

View File

@@ -0,0 +1,92 @@
<?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="LoanApplicationCase"
targetNamespace="http://processgit.local/cmmn">
<case id="Case_LoanApplication" name="Loan Application Case">
<casePlanModel id="CasePlanModel_1" name="Loan Application Management">
<planItem id="PlanItem_Validate" definitionRef="HumanTask_Validate">
<entryCriterion id="EntryCriterion_1" sentryRef="Sentry_Start"/>
</planItem>
<planItem id="PlanItem_CreditCheck" definitionRef="Task_CreditCheck">
<entryCriterion id="EntryCriterion_2" sentryRef="Sentry_AfterValidation"/>
</planItem>
<planItem id="PlanItem_Decision" definitionRef="Task_Decision">
<entryCriterion id="EntryCriterion_3" sentryRef="Sentry_AfterCredit"/>
</planItem>
<planItem id="PlanItem_Disburse" definitionRef="Task_Disburse">
<entryCriterion id="EntryCriterion_4" sentryRef="Sentry_Approved"/>
</planItem>
<sentry id="Sentry_Start">
<planItemOnPart id="OnPart_1" sourceRef="PlanItem_Validate">
<standardEvent>create</standardEvent>
</planItemOnPart>
</sentry>
<sentry id="Sentry_AfterValidation">
<planItemOnPart id="OnPart_2" sourceRef="PlanItem_Validate">
<standardEvent>complete</standardEvent>
</planItemOnPart>
</sentry>
<sentry id="Sentry_AfterCredit">
<planItemOnPart id="OnPart_3" sourceRef="PlanItem_CreditCheck">
<standardEvent>complete</standardEvent>
</planItemOnPart>
</sentry>
<sentry id="Sentry_Approved">
<planItemOnPart id="OnPart_4" sourceRef="PlanItem_Decision">
<standardEvent>complete</standardEvent>
</planItemOnPart>
<ifPart id="IfPart_1">
<condition id="Condition_1">
<body>loanApproved == true</body>
</condition>
</ifPart>
</sentry>
<humanTask id="HumanTask_Validate" name="Validate Application"/>
<task id="Task_CreditCheck" name="Check Credit Score"/>
<task id="Task_Decision" name="Loan Approval Decision"/>
<task id="Task_Disburse" name="Disburse Loan"/>
</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="600" height="300"/>
</cmmndi:CMMNShape>
<cmmndi:CMMNShape id="CMMNShape_PlanItem_1" cmmnElementRef="PlanItem_Validate">
<dc:Bounds x="100" y="100" width="100" height="80"/>
</cmmndi:CMMNShape>
<cmmndi:CMMNShape id="CMMNShape_PlanItem_2" cmmnElementRef="PlanItem_CreditCheck">
<dc:Bounds x="250" y="100" width="100" height="80"/>
</cmmndi:CMMNShape>
<cmmndi:CMMNShape id="CMMNShape_PlanItem_3" cmmnElementRef="PlanItem_Decision">
<dc:Bounds x="400" y="100" width="100" height="80"/>
</cmmndi:CMMNShape>
<cmmndi:CMMNShape id="CMMNShape_PlanItem_4" cmmnElementRef="PlanItem_Disburse">
<dc:Bounds x="400" y="220" 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,59 @@
<?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="ProcessDecisions"
name="Process Decisions"
namespace="http://processgit.local/dmn">
<!-- This DMN references the primary loan-approval decision -->
<decision id="Decision_ProcessApproval" name="Process Approval Decision">
<informationRequirement id="InfoReq_1">
<requiredInput href="#InputData_ApplicationData"/>
</informationRequirement>
<decisionTable id="DecisionTable_ProcessApproval">
<input id="Input_1" label="Application Complete">
<inputExpression id="InputExpression_1" typeRef="boolean">
<text>applicationComplete</text>
</inputExpression>
</input>
<output id="Output_1" label="Proceed to Decision" name="proceedToDecision" typeRef="boolean"/>
<rule id="Rule_1">
<inputEntry id="InputEntry_1_1">
<text>true</text>
</inputEntry>
<outputEntry id="OutputEntry_1_1">
<text>true</text>
</outputEntry>
</rule>
<rule id="Rule_2">
<inputEntry id="InputEntry_2_1">
<text>false</text>
</inputEntry>
<outputEntry id="OutputEntry_2_1">
<text>false</text>
</outputEntry>
</rule>
</decisionTable>
</decision>
<inputData id="InputData_ApplicationData" name="Application Data"/>
<dmndi:DMNDI>
<dmndi:DMNDiagram id="DMNDiagram_1">
<dmndi:DMNShape id="DMNShape_Decision_1" dmnElementRef="Decision_ProcessApproval">
<dc:Bounds x="160" y="80" width="180" height="80"/>
</dmndi:DMNShape>
<dmndi:DMNShape id="DMNShape_Input_1" dmnElementRef="InputData_ApplicationData">
<dc:Bounds x="187" y="220" width="125" height="45"/>
</dmndi:DMNShape>
<dmndi:DMNEdge id="DMNEdge_1" dmnElementRef="InfoReq_1">
<di:waypoint x="250" y="220"/>
<di:waypoint x="250" y="160"/>
</dmndi:DMNEdge>
</dmndi:DMNDiagram>
</dmndi:DMNDI>
</definitions>

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 with decision-first architecture
reviews:
nextReview: "2026-04-10"
frequency: quarterly
approvals: []

View File

@@ -0,0 +1,17 @@
owner:
team: "{{.RepoOwner}}"
contact: "{{.RepoOwner}}@processgit.local"
department: Lending Operations
stakeholders:
- name: Credit Team
role: Decision Logic Owner
contact: credit@processgit.local
- name: Operations Team
role: Process Owner
contact: ops@processgit.local
- name: Compliance
role: Regulatory Review
contact: compliance@processgit.local

View File

@@ -0,0 +1,26 @@
version: "1.0"
mappings:
- taskId: Task_Validate
type: human
resource: loan-officer
role: Application Reviewer
- taskId: Task_CheckCredit
type: system
resource: credit-bureau-api
endpoint: /api/credit-score
- taskId: Task_ApprovalDecision
type: decision
resource: loan-approval-decision
reference: ../decisions/loan-approval
- taskId: Task_Disburse
type: system
resource: payment-system
endpoint: /api/disburse
- taskId: Task_Reject
type: agent
resource: notification-service
channel: email

View File

@@ -0,0 +1,24 @@
kind: uapf.package
id: uapf.decision-process
name: Decision-First Loan Process
description: Loan application process using reusable decision logic
level: 4
version: 0.1.0
includes:
- ../decisions/loan-approval
cornerstones:
bpmn: true
dmn: true
cmmn: true
resources: true
paths:
bpmn: bpmn
dmn: dmn
cmmn: cmmn
resources: resources
metadata: metadata
owners:
- type: team
id: "{{.RepoOwner}}"
contact: "{{.RepoOwner}}@processgit.local"
lifecycle: draft