Qualified Mortgages - Response
Please see the Legend to understand the conventions used to document each element and attribute. Note that for responses, the XML elements are documented in the order that they appear in the response.
🟥 <outQM>
| Element Type | Data Type |
|---|---|
| Parent | - |
This is the root element of the QM response, and is required. This contains
child elements which specify the particulars of the already computed loan which
is being examined to see if the data is QM compliant. The following attributes
and child elements of the <outQM> element are as follows:
Attributes:
NoneElements:
🟥 <Description>,🟦 <XMLDetail>[],🟦 <IsQm>,🟦 <AprTrigger>,🟦 <FeaturesTrigger>,🟦 <PointsFeesTrigger🟦 <SmallCreditorBalloonTrigger
🟥 <Description>
| Element Type | Data Type | Values |
|---|---|---|
| Data | Text | - |
If the calculation was completed successfully, then this element will contain
the value Valid Calculation. Otherwise, this element will contain a
description of the problem encountered during the attempted computation.
Attributes:
NoneElements:
None
🟦 <XMLDetail>[]
| Element Type | Data Type | Default |
|---|---|---|
| Data | Text | n/a |
The <XMLDetail> elements are messages passed back to the calling application
which detail the status of the request. If the SCE issues any warnings regarding
unrecognized elements or attributes, then each warning message will be displayed
in an <XMLDetail> element.
Attributes:
NoneElements:
None
🟥 <IsQm>
| Element Type | Data Type | Values |
|---|---|---|
| Data | Boolean | true, false |
Qualified mortgage designation is specified by the value of this element. For a legal description of qualified mortgages, refer to §1026.43(e).
true means the loan has been assessed as a qualified mortgage.
false means one of the attribute triggers below has been violated.
Attributes:
🔸Apr,🔸Features,🔸PointsFees,🔹SmallCreditorBalloonElements:
None
🔸 Apr
| Data Type | Values |
|---|---|
| Boolean | true, false |
The value of this required boolean attribute identifies whether or not the
Apr - Apor spread
has disqualified the loan from being considered a qualified mortgage.
True means the AprTrigger has been violated.
False means the loan is not disqualified over a Spread
violation.
Note that if the request's QmType attribute is
SmallCreditor, the value of this attribute will always be false, as
the APR trigger is not enforced for small creditors.
🔸 Features
| Data Type | Values |
|---|---|
| Boolean | true, false |
The value of this required boolean attribute is true if the
<FeaturesTrigger> has been violated, false otherwise.
🔸 PointsFees
| Data Type | Values |
|---|---|
| Boolean | true, false |
The value of this required boolean attribute is true if the
<PointsFeesTrigger> has been violated, false otherwise.
🔹 SmallCreditorBalloon
| Data Type | Values |
|---|---|
| Boolean | true, false |
The value of this optional boolean attribute is true if the
<SmallCreditorBalloonTrigger> has been
violated, false otherwise.
Note that this attribute will not be present unless the request's
QmType attribute is set to SmallCreditor, and the
request contains the <SmallCreditorBalloon> element.
🟦 <AprTrigger>
| Element Type | Data Type |
|---|---|
| Empty | - |
This element itself contains no data. The attributes of this element expose the
determination of the Apr attribute value. <AprTrigger> contains
the following attributes:
See §1026.43(e)(2)(vi) for more.
Attributes:
🔸Spread,🔸SpreadCap,🔸EnforcedElements:
None
🔸 Spread
| Data Type | Values |
|---|---|
| Decimal | any |
The value of this required decimal attribute represents the difference between
the Apr and the Apor.
This spread is a basis for determining whether or not a loan qualifies as a
Qualified mortgage.
🔸 SpreadCap
| Data Type | Values |
|---|---|
| Decimal | any |
The value of this required decimal attribute represents the
Apr - Apor threshold
beyond which a loan is disqualified from being considered a qualified
mortgage.
🔸 Enforced
| Data Type | Values |
|---|---|
| Boolean | true, false |
The value of this required boolean attribute represents whether or not exceeding
the SpreadCap can disqualifies a loan from being
recognized as a qualified mortgage.
If the QmType is General, the Enforced attribute is
true.
If the QmType is SmallCreditor, the Enforced
attribute is false.
🟦 <FeaturesTrigger>
| Element Type | Data Type |
|---|---|
| Empty | - |
This element itself contains no data. The attributes of this element expose the
determination of the Features attribute. Any attribute being
True violates conditions for a loan being a qualified mortgage.
<FeaturesTrigger> contains the following attributes:
Attributes:
🔸Balloon,🔸BalloonEnforced,🔸DeferredPrincipal,🔸LoanTermTooLong,🔸NegativeAmElements:
None
🔸 Balloon
| Data Type | Values |
|---|---|
| Boolean | true, false |
The value of this required boolean attribute represents whether or not the
Balloon Trigger prohibition has been tripped. If the value this attribute is
identical to the value of the HasBalloon
input attribute.
See §1026.43(e)(2)(i)(C).
🔸 BalloonEnforced
| Data Type | Values |
|---|---|
| Boolean | true, false |
The value of this required attribute is false when the
QmType attribute is SmallCreditor,
HasBalloon is true, and element
<SmallCreditorBalloon> exists; otherwise, the
value is true. In other words, loans with balloons do not qualify as qualified
mortgages except those specified as small creditor balloons.
See §1026.43(f).
🔸 DeferredPrincipal
| Data Type | Values |
|---|---|
| Boolean | true, false |
The value of this required attribute is identical to the request value of
HasDeferredPrincipal. As with the
other attributes of the <Features> element, if the value
of this attribute is true, the loan may not be considered a qualified
mortgage.
See §1026.43(e)(2)(i)(B).
🔸 LoanTermTooLong
| Data Type | Values |
|---|---|
| Boolean | true, false |
If the value of the request attribute,
TermInYears, is greater than 30, the value of
this attribute is true; otherwise, the value is false.
See §1026.43(e)(2)(ii) for more information on this stipulation.
🔸 NegativeAm
| Data Type | Values |
|---|---|
| Boolean | true, false |
The value of this required attribute is identical to the request value of
HasNegativeAm.
See §1026.43(e)(2)(i)(A) for more information on this stipulation.
🟦 <PointsFeesTrigger>
| Element Type | Data Type |
|---|---|
| Empty | - |
This element itself contains no data. The attributes of this element expose the
determination of the PointsFees attribute for the
determination of whether or not a loan qualifes as a qualified mortgage.
<PointsFeesTrigger> contains the following attributes:
Attributes:
🔸TotalPointsFees,🔸MaxPointsFeesElements:
None
🔸 TotalPointsFees
| Element Type | Data Type | Values |
|---|---|---|
| Data | Decimal | Currency > 0 |
This required decimal attribute holds the value of the
TotalPointsFees from the request
payload.
🔸 MaxPointsFees
| Element Type | Data Type | Values |
|---|---|---|
| Data | Decimal | Currency > 0 |
This required decimal attribute holds the value of the maximum points and fees threshold as determined by the values listed in §1026.43(e)(3), adjusted for CPI.
🟦 <SmallCreditorBalloonTrigger>
| Element Type | Data Type |
|---|---|
| Empty | - |
This element itself contains no data. The attributes of this element expose the
determination of the SmallCreditorBalloon
attribute for the determination of whether or not a loan qualifes as a qualified
mortgage. <SmallCreditorBalloon> contains the following attributes:
Attributes:
🔸AmortLoanTermTooLong,🔸HasRateIncrease,🔸LoanTermTooShortElements:
None
🔸 AmortLoanTermTooLong
| Data Type | Values |
|---|---|
| Boolean | true, false |
If the value of the request attribute,
AmortTermInYears, is greater
than 30, the value of this attribute is true; otherwise, the value is false.
See §
1026.43(f)(1)(iv)(A)
for more information on this stipulation.
🔸 HasRateIncrease
| Data Type | Values |
|---|---|
| Boolean | true, false |
The value of this required attribute is identical to the request value of
HasRateIncrease.
🔸 LoanTermTooShort
| Data Type | Values |
|---|---|
| Boolean | true, false |
If the value of the request attribute,
TermInYears, is less than 5, the value of this
attribute is true; otherwise, the value is false. See
§1026.43(f)(1)(iv)(C)
for more information on this stipulation.