Skip to content

Commit d2d6fb3

Browse files
authored
Merge pull request #295 from CodeForPhilly/290-complete-library-checks-for-phl-homestead-exemption
Add Library Checks for Philly Homestead Exemption benefit
2 parents b1568ae + 7c4d8c3 commit d2d6fb3

File tree

36 files changed

+1772
-53
lines changed

36 files changed

+1772
-53
lines changed

.claude/commands/new-dmn-check.md

Lines changed: 469 additions & 0 deletions
Large diffs are not rendered by default.

library-api/src/main/resources/benefits/pa/phl/homestead-exemption.dmn

Lines changed: 142 additions & 37 deletions
Large diffs are not rendered by default.

library-api/src/main/resources/checks/age/person-max-age.dmn

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,21 +51,24 @@
5151
</dmn:knowledgeRequirement>
5252
<dmn:context id="_C560A975-EACF-4A78-BF08-B4FBFEA471F1">
5353
<dmn:contextEntry>
54-
<dmn:variable id="_B735F297-2C49-4509-B412-5FED1DF65560" name="dateOfBirth" typeRef="boolean"/>
54+
<dmn:variable id="_532E57ED-E10E-4BC6-84D9-F84A6C8EA69B" name="dateOfBirth" typeRef="date"/>
5555
<dmn:literalExpression id="_CB89C8C7-F4D0-4877-9B6A-8DFDFA996508">
5656
<dmn:text>situation.people[id = parameters.personId].dateOfBirth[1]</dmn:text>
5757
</dmn:literalExpression>
5858
</dmn:contextEntry>
5959
<dmn:contextEntry>
60-
<dmn:variable id="_4C114FA3-6647-4F5F-8974-69B3F3497E1A" name="age" typeRef="boolean"/>
60+
<dmn:variable id="_26B7AA40-8BF7-441E-9A12-D28B8690773E" name="age" typeRef="number"/>
6161
<dmn:literalExpression id="_E266DABA-8F13-4B06-858E-E18C9D43882B">
6262
<dmn:text>Age.as of date(dateOfBirth, parameters.asOfDate)</dmn:text>
6363
</dmn:literalExpression>
6464
</dmn:contextEntry>
6565
<dmn:contextEntry>
66-
<dmn:variable id="_33A0AEB7-F0A7-4144-A9DE-594402406832" name="result" typeRef="boolean"/>
66+
<dmn:variable id="_5B0AF08F-05A6-4630-83A0-34261B37CD68" name="result" typeRef="boolean"/>
6767
<dmn:literalExpression id="_C9DD224E-A946-4361-88CE-986A1502E34B">
68-
<dmn:text>age &lt;= parameters.maxAge</dmn:text>
68+
<dmn:text>if dateOfBirth != null then
69+
age in [0..parameters.maxAge]
70+
else
71+
null</dmn:text>
6972
</dmn:literalExpression>
7073
</dmn:contextEntry>
7174
<dmn:contextEntry>

library-api/src/main/resources/checks/age/person-min-age.dmn

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,21 +52,24 @@
5252
</dmn:knowledgeRequirement>
5353
<dmn:context id="_B499A169-67C3-4405-95A2-F5405AF19DC9">
5454
<dmn:contextEntry>
55-
<dmn:variable id="_B49B8F85-5828-4851-B590-50F227A76944" name="dateOfBirth" typeRef="date"/>
55+
<dmn:variable id="_1C3C9296-B360-4F95-BC57-6C16D0EE4695" name="dateOfBirth" typeRef="date"/>
5656
<dmn:literalExpression id="_4C11ABE5-B19B-4C63-B46B-755FF3A6FACC">
5757
<dmn:text>situation.people[id = parameters.personId].dateOfBirth[1]</dmn:text>
5858
</dmn:literalExpression>
5959
</dmn:contextEntry>
6060
<dmn:contextEntry>
61-
<dmn:variable id="_7AB98FB9-B5F2-41C9-8C46-B3B627AD3A25" name="age" typeRef="number"/>
61+
<dmn:variable id="_6EEADEA5-A301-40D0-A8CF-DD460E68B0A6" name="age" typeRef="number"/>
6262
<dmn:literalExpression id="_0E389038-35B8-42FF-8FAD-4E26290F0B80">
6363
<dmn:text>Age.as of date(dateOfBirth, parameters.asOfDate)</dmn:text>
6464
</dmn:literalExpression>
6565
</dmn:contextEntry>
6666
<dmn:contextEntry>
67-
<dmn:variable id="_B368ED41-4240-44F1-97CE-8A885502D49C" name="result" typeRef="boolean"/>
67+
<dmn:variable id="_FCE71E36-DD67-4525-BFD3-3AA3FCC3E294" name="result" typeRef="boolean"/>
6868
<dmn:literalExpression id="_0E389038-35B8-42FF-8FAD-4E26290F0B81">
69-
<dmn:text>age &gt;= parameters.minAge</dmn:text>
69+
<dmn:text>if dateOfBirth != null then
70+
age &gt;= parameters.minAge
71+
else
72+
null</dmn:text>
7073
</dmn:literalExpression>
7174
</dmn:contextEntry>
7275
<dmn:contextEntry>

library-api/src/main/resources/checks/age/someone-min-age.dmn

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@
6666
<dmn:contextEntry>
6767
<dmn:variable id="_146B39B9-D9C7-4B49-B3DC-FEBF2EAB3F73" name="result" typeRef="boolean"/>
6868
<dmn:literalExpression id="_07F575A5-F4AD-42CF-B384-5CC97169FC27">
69-
<dmn:text>count(ages[item &gt;= parameters.minAge]) &gt; 0</dmn:text>
69+
<dmn:text>if DOBs = null or count(DOBs) = 0 then null else count(ages[item &gt;= parameters.minAge]) &gt; 0</dmn:text>
7070
</dmn:literalExpression>
7171
</dmn:contextEntry>
7272
<dmn:contextEntry>

library-api/src/main/resources/checks/enrollment/person-enrolled-in-benefit.dmn

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
<dmn:requiredInput href="#_222EBF53-16BF-4A13-A424-0AD32C90100D"/>
3535
</dmn:informationRequirement>
3636
<dmn:literalExpression id="_EC3D9380-90FD-4FE1-9640-F713DE0BD846">
37-
<dmn:text>if situation.enrollments != null and parameters.personId != null and parameters.benefit != null then
37+
<dmn:text>if situation.enrollments != null and count(situation.enrollments) &gt; 0 and parameters.personId != null and parameters.benefit != null then
3838
some enrollment in situation.enrollments satisfies enrollment.personId = parameters.personId and enrollment.benefit = parameters.benefit
3939
else
4040
null</dmn:text>
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<dmn:definitions xmlns:dmn="http://www.omg.org/spec/DMN/20180521/MODEL/" xmlns="https://kie.apache.org/dmn/_C9F91EE8-9F17-4867-9638-912AC7DB68F1" xmlns:feel="http://www.omg.org/spec/DMN/20180521/FEEL/" xmlns:kie="http://www.drools.org/kie/dmn/1.2" xmlns:dmndi="http://www.omg.org/spec/DMN/20180521/DMNDI/" xmlns:di="http://www.omg.org/spec/DMN/20180521/DI/" xmlns:dc="http://www.omg.org/spec/DMN/20180521/DC/" id="_0CBB27D2-DD35-45FB-B25F-03DAF19233BB" name="Residence" typeLanguage="http://www.omg.org/spec/DMN/20180521/FEEL/" namespace="https://kie.apache.org/dmn/_C9F91EE8-9F17-4867-9638-912AC7DB68F1">
3+
<dmn:extensionElements/>
4+
<dmn:textAnnotation id="_E0C8EEF9-F7F5-4AE4-BEC5-589286A497E7" textFormat="text/plain">
5+
<dmn:text>BKMs, data types, and/or Decision Services that will be included in every eligibility check categorized as "Residence"</dmn:text>
6+
</dmn:textAnnotation>
7+
<dmndi:DMNDI>
8+
<dmndi:DMNDiagram id="_A632B460-325D-4D7F-A1EE-6AFA2F9662D0" name="DRG">
9+
<di:extension>
10+
<kie:ComponentsWidthsExtension/>
11+
</di:extension>
12+
<dmndi:DMNShape id="dmnshape-drg-_E0C8EEF9-F7F5-4AE4-BEC5-589286A497E7" dmnElementRef="_E0C8EEF9-F7F5-4AE4-BEC5-589286A497E7" isCollapsed="false">
13+
<dmndi:DMNStyle fontSize="16">
14+
<dmndi:FillColor red="255" green="255" blue="255"/>
15+
<dmndi:StrokeColor red="0" green="0" blue="0"/>
16+
<dmndi:FontColor red="0" green="0" blue="0"/>
17+
</dmndi:DMNStyle>
18+
<dc:Bounds x="109" y="8" width="600" height="136"/>
19+
<dmndi:DMNLabel/>
20+
</dmndi:DMNShape>
21+
</dmndi:DMNDiagram>
22+
</dmndi:DMNDI>
23+
</dmn:definitions>
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<dmn:definitions xmlns:dmn="http://www.omg.org/spec/DMN/20180521/MODEL/" xmlns="https://kie.apache.org/dmn/_5FD5AE82-65B3-44EF-98CC-651E88F93786" xmlns:feel="http://www.omg.org/spec/DMN/20180521/FEEL/" xmlns:kie="http://www.drools.org/kie/dmn/1.2" xmlns:dmndi="http://www.omg.org/spec/DMN/20180521/DMNDI/" xmlns:di="http://www.omg.org/spec/DMN/20180521/DI/" xmlns:dc="http://www.omg.org/spec/DMN/20180521/DC/" xmlns:included1="https://kie.apache.org/dmn/_1B91A885-130A-4E0B-A762-E12AA6DD5C79" xmlns:included2="https://kie.apache.org/dmn/_C9F91EE8-9F17-4867-9638-912AC7DB68F1" id="_AD9594D1-7AE4-46DA-B309-C565DA627160" name="LivesInPhiladelphiaPa" typeLanguage="http://www.omg.org/spec/DMN/20180521/FEEL/" namespace="https://kie.apache.org/dmn/_5FD5AE82-65B3-44EF-98CC-651E88F93786">
3+
<dmn:description>Checks that a person lives in Philadelphia, PA.</dmn:description>
4+
<dmn:extensionElements/>
5+
<dmn:import id="_39C3A2AE-B89A-4B51-94B6-15C15527E6BF" name="BDT" namespace="https://kie.apache.org/dmn/_1B91A885-130A-4E0B-A762-E12AA6DD5C79" locationURI="../BDT.dmn" importType="http://www.omg.org/spec/DMN/20180521/MODEL/"/>
6+
<dmn:import id="_5AD1E355-DDBD-4EE6-AA69-F0447225DA26" name="Residence" namespace="https://kie.apache.org/dmn/_C9F91EE8-9F17-4867-9638-912AC7DB68F1" locationURI="Residence.dmn" importType="http://www.omg.org/spec/DMN/20180521/MODEL/"/>
7+
<dmn:itemDefinition id="_1B7A8B99-9559-4516-8E60-58F134042423" name="tSimpleChecks" isCollection="false">
8+
<dmn:itemComponent id="_340F491B-697C-4F85-98E9-1A46B2951D43" name="livesInPhiladelphiaPa" isCollection="false">
9+
<dmn:typeRef>boolean</dmn:typeRef>
10+
</dmn:itemComponent>
11+
</dmn:itemDefinition>
12+
<dmn:itemDefinition id="_9647DB16-BD17-4487-905B-561093E7436C" name="tSituation" isCollection="false">
13+
<dmn:itemComponent id="_AEBEE365-9284-4BBF-9C47-602EA29EDA8B" name="simpleChecks" isCollection="false">
14+
<dmn:typeRef>tSimpleChecks</dmn:typeRef>
15+
</dmn:itemComponent>
16+
</dmn:itemDefinition>
17+
<dmn:decisionService id="_C4355049-6C5C-452D-A767-0F103ED2893E" name="LivesInPhiladelphiaPaService">
18+
<dmn:extensionElements/>
19+
<dmn:variable id="_27E0240F-F00A-4ABA-AB66-8CCACD399E3F" name="LivesInPhiladelphiaPaService" typeRef="BDT.tCheckResponse"/>
20+
<dmn:outputDecision href="#_92328A77-8FE6-456E-BB05-00251028CFA9"/>
21+
<dmn:inputData href="#_BEB5EAD3-1710-4CC3-9266-EFF3BEAF4B72"/>
22+
</dmn:decisionService>
23+
<dmn:decision id="_92328A77-8FE6-456E-BB05-00251028CFA9" name="checkResult">
24+
<dmn:extensionElements/>
25+
<dmn:variable id="_B83011EF-4CF0-4CD0-B4FE-37E249E3E15A" name="checkResult" typeRef="boolean"/>
26+
<dmn:informationRequirement id="_83D9FE3D-8880-4908-B95B-B7ED92FDF52F">
27+
<dmn:requiredInput href="#_BEB5EAD3-1710-4CC3-9266-EFF3BEAF4B72"/>
28+
</dmn:informationRequirement>
29+
<dmn:literalExpression id="_B1800510-05BC-496E-B675-2A7266A59140">
30+
<dmn:text>if situation.simpleChecks != null and situation.simpleChecks.livesInPhiladelphiaPa != null then
31+
situation.simpleChecks.livesInPhiladelphiaPa = true
32+
else
33+
null</dmn:text>
34+
</dmn:literalExpression>
35+
</dmn:decision>
36+
<dmn:inputData id="_BEB5EAD3-1710-4CC3-9266-EFF3BEAF4B72" name="situation">
37+
<dmn:extensionElements/>
38+
<dmn:variable id="_A618B149-AF6B-4F3F-93BA-4E22FE5AFB0C" name="situation" typeRef="tSituation"/>
39+
</dmn:inputData>
40+
<dmndi:DMNDI>
41+
<dmndi:DMNDiagram id="_19B53DE3-CDF6-47BB-B67D-31DADD153431" name="DRG">
42+
<di:extension>
43+
<kie:ComponentsWidthsExtension>
44+
<kie:ComponentWidths dmnElementRef="_B1800510-05BC-496E-B675-2A7266A59140">
45+
<kie:width>917</kie:width>
46+
</kie:ComponentWidths>
47+
</kie:ComponentsWidthsExtension>
48+
</di:extension>
49+
<!-- Decision service: centered, upper section holds checkResult output decision -->
50+
<dmndi:DMNShape id="dmnshape-drg-_C4355049-6C5C-452D-A767-0F103ED2893E" dmnElementRef="_C4355049-6C5C-452D-A767-0F103ED2893E" isCollapsed="false">
51+
<dmndi:DMNStyle>
52+
<dmndi:FillColor red="255" green="255" blue="255"/>
53+
<dmndi:StrokeColor red="0" green="0" blue="0"/>
54+
<dmndi:FontColor red="0" green="0" blue="0"/>
55+
</dmndi:DMNStyle>
56+
<dc:Bounds x="120" y="106" width="380" height="199"/>
57+
<dmndi:DMNLabel/>
58+
<dmndi:DMNDecisionServiceDividerLine>
59+
<di:waypoint x="120" y="206"/>
60+
<di:waypoint x="500" y="206"/>
61+
</dmndi:DMNDecisionServiceDividerLine>
62+
</dmndi:DMNShape>
63+
<!-- checkResult decision: centered in upper half of service box -->
64+
<dmndi:DMNShape id="dmnshape-drg-_92328A77-8FE6-456E-BB05-00251028CFA9" dmnElementRef="_92328A77-8FE6-456E-BB05-00251028CFA9" isCollapsed="false">
65+
<dmndi:DMNStyle>
66+
<dmndi:FillColor red="255" green="255" blue="255"/>
67+
<dmndi:StrokeColor red="0" green="0" blue="0"/>
68+
<dmndi:FontColor red="0" green="0" blue="0"/>
69+
</dmndi:DMNStyle>
70+
<dc:Bounds x="266" y="147" width="88" height="50"/>
71+
<dmndi:DMNLabel/>
72+
</dmndi:DMNShape>
73+
<!-- situation input: below the service box, centered -->
74+
<dmndi:DMNShape id="dmnshape-drg-_BEB5EAD3-1710-4CC3-9266-EFF3BEAF4B72" dmnElementRef="_BEB5EAD3-1710-4CC3-9266-EFF3BEAF4B72" isCollapsed="false">
75+
<dmndi:DMNStyle>
76+
<dmndi:FillColor red="255" green="255" blue="255"/>
77+
<dmndi:StrokeColor red="0" green="0" blue="0"/>
78+
<dmndi:FontColor red="0" green="0" blue="0"/>
79+
</dmndi:DMNStyle>
80+
<dc:Bounds x="260" y="336" width="100" height="50"/>
81+
<dmndi:DMNLabel/>
82+
</dmndi:DMNShape>
83+
<!-- Edge: from situation center to bottom-center of checkResult -->
84+
<dmndi:DMNEdge id="dmnedge-drg-_83D9FE3D-8880-4908-B95B-B7ED92FDF52F-AUTO-TARGET" dmnElementRef="_83D9FE3D-8880-4908-B95B-B7ED92FDF52F">
85+
<di:waypoint x="310" y="361"/>
86+
<di:waypoint x="310" y="197"/>
87+
</dmndi:DMNEdge>
88+
</dmndi:DMNDiagram>
89+
</dmndi:DMNDI>
90+
</dmn:definitions>
Lines changed: 133 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,133 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<dmn:definitions
3+
xmlns:dmn="http://www.omg.org/spec/DMN/20180521/MODEL/"
4+
xmlns="https://kie.apache.org/dmn/_F2A8E6C4-3D1B-4F9A-B7E5-1C4D8F2A6B3E"
5+
xmlns:feel="http://www.omg.org/spec/DMN/20180521/FEEL/"
6+
xmlns:kie="http://www.drools.org/kie/dmn/1.2"
7+
xmlns:dmndi="http://www.omg.org/spec/DMN/20180521/DMNDI/"
8+
xmlns:di="http://www.omg.org/spec/DMN/20180521/DI/"
9+
xmlns:dc="http://www.omg.org/spec/DMN/20180521/DC/"
10+
xmlns:included1="https://kie.apache.org/dmn/_1B91A885-130A-4E0B-A762-E12AA6DD5C79"
11+
xmlns:included2="https://kie.apache.org/dmn/_C9F91EE8-9F17-4867-9638-912AC7DB68F1"
12+
xmlns:included3="https://kie.apache.org/dmn/_3A7F1C2D-8E4B-4A91-B5C3-2D6F8A1E4C79"
13+
id="_A1C7D5F3-9B2E-4E8A-C6D4-3F1B7A9E5D2C"
14+
name="NoTenYearTaxAbatement"
15+
typeLanguage="http://www.omg.org/spec/DMN/20180521/FEEL/"
16+
namespace="https://kie.apache.org/dmn/_F2A8E6C4-3D1B-4F9A-B7E5-1C4D8F2A6B3E">
17+
<dmn:description>Checks that a property does not have an active 10-year tax abatement.</dmn:description>
18+
<dmn:extensionElements/>
19+
<dmn:import id="_4E9C1A7D-6F3B-4B5E-D8F2-7A3E1C9D4B6F" name="BDT"
20+
namespace="https://kie.apache.org/dmn/_1B91A885-130A-4E0B-A762-E12AA6DD5C79"
21+
locationURI="../BDT.dmn"
22+
importType="http://www.omg.org/spec/DMN/20180521/MODEL/"/>
23+
<dmn:import id="_B8D3F1C5-2A6E-4C7F-E5A1-9D4B2F8C6E3A" name="Residence"
24+
namespace="https://kie.apache.org/dmn/_C9F91EE8-9F17-4867-9638-912AC7DB68F1"
25+
locationURI="Residence.dmn"
26+
importType="http://www.omg.org/spec/DMN/20180521/MODEL/"/>
27+
<dmn:import id="_7C5A3D9E-4F1B-4A8D-F7C5-2E6A4D8F1C9B" name="TenYearTaxAbatement"
28+
namespace="https://kie.apache.org/dmn/_3A7F1C2D-8E4B-4A91-B5C3-2D6F8A1E4C79"
29+
locationURI="ten-year-tax-abatement.dmn"
30+
importType="http://www.omg.org/spec/DMN/20180521/MODEL/"/>
31+
<dmn:itemDefinition id="_3F1B7E9D-8C4A-4E6B-A3D7-5B9F2C1D8E4A" name="tSimpleChecks" isCollection="false">
32+
<dmn:itemComponent id="_9A5D2F1C-7B3E-4F4D-CBBC-1E7D3B5F9A2C" name="tenYearTaxAbatement" isCollection="false">
33+
<dmn:typeRef>boolean</dmn:typeRef>
34+
</dmn:itemComponent>
35+
</dmn:itemDefinition>
36+
<dmn:itemDefinition id="_5D8C4A7F-1B9E-4A9C-DCCD-3C5A1F7B4D8E" name="tSituation" isCollection="false">
37+
<dmn:itemComponent id="_2B6F1E9C-4D7A-4B3E-EDDE-7F2A4C8B1D5F" name="simpleChecks" isCollection="false">
38+
<dmn:typeRef>tSimpleChecks</dmn:typeRef>
39+
</dmn:itemComponent>
40+
</dmn:itemDefinition>
41+
<dmn:decisionService id="_E4A7C1D9-3F5B-4D1F-FEEF-4B8E2D6A9C3F" name="NoTenYearTaxAbatementService">
42+
<dmn:extensionElements/>
43+
<dmn:variable id="_8F3B5E2A-7D1C-4E4A-A9F7-6D3A8F2B5C1E" name="NoTenYearTaxAbatementService" typeRef="BDT.tCheckResponse"/>
44+
<dmn:outputDecision href="#_1D5F9C3B-2A7E-4F6A-BAAB-9E4D1B7F3C5A"/>
45+
<dmn:inputData href="#_3F8E1D5B-7A4C-4D5B-A9B7-1E6C8D3F9A5B"/>
46+
</dmn:decisionService>
47+
<dmn:decision id="_1D5F9C3B-2A7E-4F6A-BAAB-9E4D1B7F3C5A" name="checkResult">
48+
<dmn:extensionElements/>
49+
<dmn:variable id="_6C2A8E4D-5F1B-4A2B-CBBC-3B7F9E2D6A4C" name="checkResult" typeRef="boolean"/>
50+
<dmn:informationRequirement id="_4A7D3F1C-9B5E-4B4C-DCCD-8C1D4A7F2B9E">
51+
<dmn:requiredInput href="#_3F8E1D5B-7A4C-4D5B-A9B7-1E6C8D3F9A5B"/>
52+
</dmn:informationRequirement>
53+
<dmn:knowledgeRequirement id="_B5E1C8A3-6D2F-4C3D-EDDE-2A9F5C3E1B7D">
54+
<dmn:requiredKnowledge href="https://kie.apache.org/dmn/_3A7F1C2D-8E4B-4A91-B5C3-2D6F8A1E4C79#_3C6E1A4B-4B5D-4CAD-F8E6-2F7D5C9E4A3E"/>
55+
</dmn:knowledgeRequirement>
56+
<dmn:literalExpression id="_9D4B6F2E-1C8A-4C3E-FEEF-5F1B9D3C7E4A">
57+
<dmn:text>not(TenYearTaxAbatement.TenYearTaxAbatementService(situation: situation))</dmn:text>
58+
</dmn:literalExpression>
59+
</dmn:decision>
60+
<dmn:inputData id="_3F8E1D5B-7A4C-4D5B-A9B7-1E6C8D3F9A5B" name="situation">
61+
<dmn:extensionElements/>
62+
<dmn:variable id="_7B3C9F2E-4A1D-4C6F-B3C8-5D9A2F7B1E4C" name="situation" typeRef="tSituation"/>
63+
</dmn:inputData>
64+
<dmndi:DMNDI>
65+
<dmndi:DMNDiagram id="_5A9D4E7C-2B8F-4A7D-BABC-8F3C6A1D5B9E" name="DRG">
66+
<di:extension>
67+
<kie:ComponentsWidthsExtension>
68+
<kie:ComponentWidths dmnElementRef="_9D4B6F2E-1C8A-4C3E-FEEF-5F1B9D3C7E4A">
69+
<kie:width>553</kie:width>
70+
</kie:ComponentWidths>
71+
</kie:ComponentsWidthsExtension>
72+
</di:extension>
73+
<!-- Main decision service: centered around x=310, width=380 to fit "NoTenYearTaxAbatementService" label -->
74+
<dmndi:DMNShape id="dmnshape-drg-_E4A7C1D9-3F5B-4D1F-FEEF-4B8E2D6A9C3F" dmnElementRef="_E4A7C1D9-3F5B-4D1F-FEEF-4B8E2D6A9C3F" isCollapsed="false">
75+
<dmndi:DMNStyle>
76+
<dmndi:FillColor red="255" green="255" blue="255"/>
77+
<dmndi:StrokeColor red="0" green="0" blue="0"/>
78+
<dmndi:FontColor red="0" green="0" blue="0"/>
79+
</dmndi:DMNStyle>
80+
<dc:Bounds x="120" y="106" width="380" height="199"/>
81+
<dmndi:DMNLabel/>
82+
<dmndi:DMNDecisionServiceDividerLine>
83+
<di:waypoint x="120" y="206"/>
84+
<di:waypoint x="500" y="206"/>
85+
</dmndi:DMNDecisionServiceDividerLine>
86+
</dmndi:DMNShape>
87+
<!-- Imported TenYearTaxAbatementService (referenced via knowledgeRequirement) -->
88+
<dmndi:DMNShape id="dmnshape-drg-_3C6E1A4B-4B5D-4CAD-F8E6-2F7D5C9E4A3E" dmnElementRef="included3:_3C6E1A4B-4B5D-4CAD-F8E6-2F7D5C9E4A3E" isCollapsed="false">
89+
<dmndi:DMNStyle>
90+
<dmndi:FillColor red="255" green="255" blue="255"/>
91+
<dmndi:StrokeColor red="0" green="0" blue="0"/>
92+
<dmndi:FontColor red="0" green="0" blue="0"/>
93+
</dmndi:DMNStyle>
94+
<dc:Bounds x="550" y="50" width="360" height="100"/>
95+
<dmndi:DMNLabel/>
96+
<dmndi:DMNDecisionServiceDividerLine>
97+
<di:waypoint x="550" y="100"/>
98+
<di:waypoint x="910" y="100"/>
99+
</dmndi:DMNDecisionServiceDividerLine>
100+
</dmndi:DMNShape>
101+
<!-- checkResult decision: centered horizontally in service box -->
102+
<dmndi:DMNShape id="dmnshape-drg-_1D5F9C3B-2A7E-4F6A-BAAB-9E4D1B7F3C5A" dmnElementRef="_1D5F9C3B-2A7E-4F6A-BAAB-9E4D1B7F3C5A" isCollapsed="false">
103+
<dmndi:DMNStyle>
104+
<dmndi:FillColor red="255" green="255" blue="255"/>
105+
<dmndi:StrokeColor red="0" green="0" blue="0"/>
106+
<dmndi:FontColor red="0" green="0" blue="0"/>
107+
</dmndi:DMNStyle>
108+
<dc:Bounds x="266" y="147" width="88" height="50"/>
109+
<dmndi:DMNLabel/>
110+
</dmndi:DMNShape>
111+
<!-- situation input: centered below service box (no parameters) -->
112+
<dmndi:DMNShape id="dmnshape-drg-_3F8E1D5B-7A4C-4D5B-A9B7-1E6C8D3F9A5B" dmnElementRef="_3F8E1D5B-7A4C-4D5B-A9B7-1E6C8D3F9A5B" isCollapsed="false">
113+
<dmndi:DMNStyle>
114+
<dmndi:FillColor red="255" green="255" blue="255"/>
115+
<dmndi:StrokeColor red="0" green="0" blue="0"/>
116+
<dmndi:FontColor red="0" green="0" blue="0"/>
117+
</dmndi:DMNStyle>
118+
<dc:Bounds x="260" y="336" width="100" height="50"/>
119+
<dmndi:DMNLabel/>
120+
</dmndi:DMNShape>
121+
<!-- Edge: from center of situation to bottom-center of checkResult -->
122+
<dmndi:DMNEdge id="dmnedge-drg-_4A7D3F1C-9B5E-4B4C-DCCD-8C1D4A7F2B9E-AUTO-TARGET" dmnElementRef="_4A7D3F1C-9B5E-4B4C-DCCD-8C1D4A7F2B9E">
123+
<di:waypoint x="310" y="361"/>
124+
<di:waypoint x="310" y="197"/>
125+
</dmndi:DMNEdge>
126+
<!-- Edge: from TenYearTaxAbatementService to checkResult (knowledge requirement) -->
127+
<dmndi:DMNEdge id="dmnedge-drg-_B5E1C8A3-6D2F-4C3D-EDDE-2A9F5C3E1B7D" dmnElementRef="_B5E1C8A3-6D2F-4C3D-EDDE-2A9F5C3E1B7D">
128+
<di:waypoint x="730" y="100"/>
129+
<di:waypoint x="310" y="172"/>
130+
</dmndi:DMNEdge>
131+
</dmndi:DMNDiagram>
132+
</dmndi:DMNDI>
133+
</dmn:definitions>

0 commit comments

Comments
 (0)