Box Signにおける21 CFR Part 11のサポートには、GxP Validationが必要です。GxP Validationに加え、お客様はAPIを通じて
cfr11リクエストを作成する前に、管理コンソールで特定のユーザーおよびグループに対して21 CFR Part 11を有効にする必要があります。詳細については、21 CFR Part 11コンプライアンスのサポートを参照してください。リクエストフローの選択
リクエストが21 CFR Part 11フローと標準フローのどちらに従うのかは、request_flowフィールドによって決まります。このフィールドには以下の値を使用できます。
| 値 | 説明 |
|---|---|
cfr11 | リクエストは21 CFR Part 11フローに従って、関連する要件を適用します。 |
standard | リクエストはBox Signの標準フローに従います。 |
request_flowフィールドは省略可能です。このフィールドを設定しない場合は、企業の管理者設定に基づいてデフォルト値が選択されます。アカウントにアクセス権限のない値を設定した場合は、APIから403 Forbiddenエラーが返されます。
また、request_flowフィールドは、署名リクエストやテンプレートを作成、取得する際、またはそれらのリストを取得する際にレスポンスで返されるため、各リクエストまたはテンプレートで使用されているフローを特定できます。
21 CFR Part 11リクエストの要件
request_flowがcfr11の場合は、以下の要件が適用されます。
- 署名者のログインが必須です。各署名者の
login_requiredフィールドは常にtrueです。login_requiredをfalseに設定すると、APIから400 Bad Requestエラーが返されます。 - 署名の色は赤にできません。
signature_colorをredに設定すると、APIから400 Bad Requestエラーが返されます。代わりにblueかblackを使用してください。 - 各受信者には有効なフィールドが必要です。各受信者または受信者グループには、フィールドを1つも割り当てないか、必須の署名またはイニシャルフィールドを少なくとも1つ割り当てる必要があります。たとえば、テキストフィールドのみを含む21 CFR Part 11リクエストは作成できませんが、プレースホルダが1つもない21 CFR Part 11リクエストは作成できます。
21 CFR Part 11リクエストの作成
際は、request_flowをcfr11に設定します。Boxがリクエストを検証する方法は、お客様がテンプレート、ソースファイル、またはその両方のいずれを指定するかによって異なります。
テンプレートから作成
テンプレートからリクエストを作成する場合は、template_idを渡してrequest_flowをcfr11に設定します。Boxはリクエスト時に、テンプレートのプレースホルダが21 CFR Part 11の要件を満たしているかどうかを検証します。
cURL
400 Bad Requestエラーで失敗します。エラーレスポンスを参照してください。
ソースファイルから作成
source_filesからリクエストを作成する場合は、テンプレートタグを使用して、ドキュメント内で直接、署名、イニシャル、その他のプレースホルダを定義します。Boxは、これらのプレースホルダをドキュメントの変換中に非同期的に抽出するため、リクエスト時にそれらを検証できません。そのため、ソースファイルから作成される21 CFR Part 11リクエストでは、is_document_preparation_neededフィールドが必須となります。設定する値に応じて、検証が実行されるタイミングが決まります。
is_document_preparation_needed | 検証が実行されるタイミング |
|---|---|
true | リクエストの送信前に、Box Signの準備ページでドキュメントを確認するとき。 |
false | リクエストの送信後に、ドキュメントが非同期的に変換される間 (自動)。 |
送信前にドキュメントを確認
is_document_preparation_neededをtrueに設定すると、レスポンスにはprepare_urlが含まれます。このURLをブラウザで開いて、リクエストの送信前にBox Signの準備ページでドキュメントを確認します。準備中に、Boxによって以下の処理が行われます。
- 署名とイニシャルのプレースホルダを検証する。
- それらのプレースホルダを、21 CFR Part 11の要件を満たすように自動的に調整する。
- プレースホルダのサイズ変更があった場合は警告を表示し、送信前に変更内容を確認できるようにする。
cURL
変換中に検証
is_document_preparation_neededをfalseに設定すると、Boxはドキュメントの非同期変換中にプレースホルダを検証します。検証が失敗した場合は、以下のようになります。
- リクエストは
error状態になり、error_codeフィールドがcfr11_validation_failedに設定されます。 - Boxからリクエスト送信者に失敗を報告するメールが送信され、APIドキュメントが案内されます。
- 21 CFR Part 11の要件を満たすようにファイルを修正し、新しいリクエストを送信する必要があります。
テンプレートとソースファイルから作成
template_idとsource_filesの両方を渡すこともできます。この場合、ソースファイルによってテンプレートのドキュメントが上書きされる一方で、テンプレートのその他の情報 (署名者など) は、リクエストに関連付けられたままになります。Boxは、ソースファイルから作成する場合と同様にリクエストを検証するため、is_document_preparation_neededは必須です。
CFR Part 11のリクエストとテンプレートの読み取り
署名リクエストやテンプレートを取得したり、これらのリストを取得したりすると、レスポンスには、21 CFR Part 11のフローと署名の詳細を説明するフィールドが含まれます。| フィールド | 型 | 説明 |
|---|---|---|
request_flow | String | リクエストまたはテンプレートで使用されているフロー (cfr11またはstandard)。 |
signers[].login_required | Boolean | request_flowがcfr11の場合は常にtrue。 |
signers[].inputs[].reason | 文字列、null許容 | 入力のために取得された署名の理由。cfr11リクエストの署名フィールドやイニシャルフィールドなど、該当する入力にのみ設定されます。それ以外の入力にはnullが設定されます。 |
signers[].inputs[].is_validated | ブール値、null許容 | 署名者が入力について再認証を行ったかどうか。再認証が成功した後はtrue、署名者がフィールドに入力したものの、まだ再認証を行っていない場合はfalse、標準リクエストまたは適用対象外の入力の場合はnullになります。 |
アカウントに対して21 CFR Part 11が有効になっていない場合でも、21 CFR Part 11リクエストまたはテンプレートへのアクセス権限があれば、そのリクエストまたはテンプレートの取得、リスト取得、キャンセル、再送信を行うことができます。Boxでテンプレートの使用権限が検証されるのは、テンプレートからリクエストを作成したときであり、テンプレートを取得したときではありません。
エラーレスポンス
21 CFR Part 11リクエストは、リクエスト時の検証が失敗した場合に、以下のエラーを同期的に返します。| シナリオ | ステータス | 理由 |
|---|---|---|
cfr11リクエストのlogin_requiredがfalseに設定されている。 | 400 | invalid_parameter |
cfr11リクエストのsignature_colorがredに設定されている。 | 400 | invalid_parameter |
cfr11リクエストに、署名以外のフィールドのみが含まれている。 | 400 | invalid_template |
指定されたtemplate_idが存在しない。 | 404 | not_found |
指定されたtemplate_idを使用する権限がない。 | 404 | not_found |
指定されたrequest_flowへのアクセス権限がない。 | 403 | forbidden_by_policy |
login_requiredをfalseに設定すると、以下が返されます。
後方互換性
21 CFR Part 11のサポートがAPIに追加される前に作成された既存のリクエストとテンプレートは、自動的に分類されます。これらの項目については、Boxがユーザーの権限に基づいてrequest_flowの値を決定するため、古いリクエストとテンプレートは、取得時に有効なrequest_flowを返します。
