クレーム連絡先(ClaimContact)の役割制約
役割制約
ClaimCenter における役割制約とは、不正アサインを防止する論理式です。これによって、ビジネスとして妥当でない方法でユーザーがクレーム連絡先に役割をアサインすることを防止します。
役割制約には次の 2 種類があります。
- エンティティ役割の制限 - 役割を使用できるオブジェクトのタイプと、その役割を使用してそのオブジェクトに関連付けができるクレーム連絡先の数(正確に 1 つ、1 つ以上、最大で 1 つ、無制限)を特定します。
- 例えば、車両インシデントに関連付けられるクレーム連絡先が「運転者」の役割を保持できること、所定の車両インシデントには最大 1 人の運転者が存在可能なことを、この制約で規定できます。
- このタイプの制約は「which type of object(オブジェクトのタイプ)」制約および「how many(数量)」制約と考えることができます。
- 連絡先の役割の種類に対する制約 - 特定の役割が許可されるサブタイプを特定します。
- 例えば、サブタイプが医師の連絡先に関連付けられたクレーム連絡先は「主治医」の役割を保持できるものの、サブタイプが弁護士の連絡先に関連付けられたクレーム連絡先はこの役割を保持できないことを、この制約で規定できます。
- このタイプの制約は「which subtype(サブタイプ)」制約と考えることができます。
ClaimCenter では、クレーム連絡先の役割制約を entityroleconstraints-config.xml でコンフィギュレーションします。詳細については、『構成ガイド』を参照してください。
役割制約のエンドポイント
次のエンドポイントを使用して、役割制約に関する情報を取得できます。
| 操作 | エンドポイント | 説明 |
|---|---|---|
| GET | /role-constraints |
特定の ClaimCenter インスタンスですべての連絡先の役割制約のリストを取得します。 |
| GET | /role-constraints/{contactRoleId} |
特定の連絡先の役割に関する情報を取得します。contactRoleId は連絡先の役割のコードです(reporter など)。 |
これらはメタデータエンドポイントです。特定の ClaimCenter インスタンスのコンフィギュレーションに関する情報を返します(ビジネスリソースに関する情報は返しません)。
役割制約の例:医師
これは、ベースコンフィギュレーションで GET /role-constraints/doctor が実行されたときのペイロードの一部です。
{
"data": {
"schemaConstraints": [
{
"constraints": [
{
"constraintType": "ZeroToMore"
}
],
"schema": "Claim"
},
{
"constraints": [
{
"constraintType": "ZeroToMore"
}
],
"schema": "Exposure"
}
],
"subtype": "Doctor"
},
このペイロードから、doctor に関して次の内容を確認できます。
- クレームに関連付けられたクレーム連絡先の役割として使用できます。
- 1 つのクレームに対して任意の数の doctor を使用できます(0 を含む)。
- エクスポージャーに関連付けられたクレーム連絡先の役割として使用できます。
- 1 つのエクスポージャーに対して任意の数の doctor を使用できます(0 を含む)。
- doctor の役割は、関係連絡先に
Doctorのサブタイプ(またはDoctorの子サブタイプ)が存在するクレーム連絡先に対してのみ使用できます。
役割制約の例:報告者
これは、ベースコンフィギュレーションで GET /role-constraints/reporter が実行されたときのペイロードの一部です。
{
"data": {
"attributes": {
"schemaConstraints": [
{
"constraints": [
{
"constraintType": "Exclusive"
},
{
"constraintType": "Required"
}
],
"schema": "Claim"
},
{
"constraints": [
{
"constraintType": "ZeroToMore"
}
],
"schema": "Exposure"
}
]
このペイロードから、reporter に関して次の内容を確認できます。
- クレームに関連付けられたクレーム連絡先の役割として使用できます。
- この役割は「排他的(Exclusive)」です。(この役割に関して、クレームには最大 1 つのクレーム連絡先が存在できます。)
- この役割は「必須(Required)」です。(この役割に関して、クレームには少なくとも 1 つのクレーム連絡先が必要です。)
- これら 2 つの制約を合わせると、クレームには報告者が正確に 1 つ必要であることになります。
- エクスポージャーに関連付けられたクレーム連絡先の役割として使用できます。
- 1 つのエクスポージャーに対して任意の数の reporter を使用できます(0 を含む)。
- サブタイプの制約はありません。したがって、reporter の役割は、関係連絡先のサブタイプの有無に関わりなく、任意のクレーム連絡先に対して使用できます。