API 一覧
RESTful インタラクション
- インタラクション例の [type] にはリソースを指定します。表中のインタラクション例は Patient リソースを使用して記載しています。
特定のインタラクションと関係しないエラー
No | Interaction | Remarks | summary | operation | expectation HTTP status | expectation Response Body |
---|---|---|---|---|---|---|
1 | - (対応されていないインタラクション) | リクエストが不正である | 対応されていないインタラクションを実行する | 400 Bad Request | - | |
2 | - (インタラクションは無関係) | サーバエラー | ※500 Internal Server Error を起こす場合 AP サーバの異常時にインタラクションを実行する | 5XX | - |
read
GET [base]/[type]/[id] {?_format=[mime-type]}
※ 取得されるのは最新バージョンのリソース
No | Interaction | Remarks | summary | operation | expectation HTTP status | expectation Response Body |
---|---|---|---|---|---|---|
1 | GET [base]/Patient/[id] | 基本形 オプションパラメータ無し | [id]に存在するリソースの id を指定する | 200 OK | 指定した id のリソース | |
2 | GET [base]/Patient/[id]?_format=application/fhir+json | _format 指定 | [id]に存在するリソースの id を指定する | 200 OK | 指定した id のリソース | |
3 | GET [base]/Patient/[id]?_format=application/json | _format 指定 一般的な mime type | [id]に存在するリソースの id を指定する | 200 OK | 指定した id のリソース | |
4 | GET [base]/Patient/[id]?_pretty=true | _pretty 指定 プリティプリント形式による応答 | [id]に存在するリソースの id を指定する | 200 OK | 指定した id のリソース | |
5 | GET [base]/Patient/[id]?_pretty=false | _pretty 指定 プリティプリント形式による応答 | [id]に存在するリソースの id を指定する | 200 OK | 指定した id のリソース | |
6 | GET [base]/Patient/[id]?name=value ※検索パラメータは例 | リクエスト不正 | [id]と検索パラメータを共に指定する | 400 Bad Request | OperationOutcome | |
7 | GET [base]/Patient/[id] | 未検出 | [id]に存在しないリソースの id を指定する または、HTTP ヘッダー Accept にサーバでサポートされていない FHIR バージョンを指定する | 404 Not Found | OperationOutcome | |
8 | GET [base]/Patient/[id] | 受理できない | HTTP ヘッダー Accept にサーバでサポートされていないフォーマット(MIME タイプ)を指定する | 406 Not Acceptable | なし | |
9 | GET [base]/Patient/[id] | 消滅した | [id]に DELETE インタラクションで削除したリソースの id を指定する | 410 Gone | OperationOutcome | |
10 | GET [base]/Patient/[id]Http request HEADER ETag= | Conditional read ※未確認 | ||||
11 | GET [base]/Patient/[id]Http request HEADER If-Modified-Since=date-time | Conditional read | id と date-time を指定し、id で指定したリソースが date-time より未来に更新された(=対象リソースの lastUpdated より古い)場合のみ当該リソースを取得する | 200 OK or 304 Not Modified | 指定した id のリソース or なし | |
12 | GET [base]/Patient/[id]Http request HEADER If-None-Match=ETag | Conditional read | id と ETag を指定し、 ETag が対象リソースの versionId と異なる場合のみ当該リソースを取得する | 200 OK or 304 Not Modified | 指定した id のリソース or なし |
vread
GET [base]/[type]/[id]/_history/[vid] {?_format=[mime-type]}
No | Interaction | Remarks | summary | operation | expectation HTTP status | expectation Response Body |
---|---|---|---|---|---|---|
1 | GET [base]/Patient/[id]/_history/[vid] | 基本形 オプションパラメータ無し | [id]に存在するリソースの id を、[vid]に存在するバージョンの vid を指定する | 200 OK | 指定した id、vid のリソース | |
2 | GET [base]/Patient/[id]/_history/[vid]?_format=application/fhir+json | _format 指定 | [id]に存在するリソースの id を、[vid]に存在するバージョンの vid を指定する | 200 OK | 指定した id、vid のリソース | |
3 | GET [base]/Patient/[id]/_history/[vid]?_format=application/json | _format 指定 一般的な mime type | [id]に存在するリソースの id、[vid]に存在するバージョンの vid を指定する | 200 OK | 指定した id、vid のリソース | |
4 | GET [base]/Patient/[id]/_history/[vid]?_pretty=true | _pretty 指定 プリティプリント形式による応答 | [id]に存在するリソースの id を、[vid]に存在するバージョンの vid を指定する | 200 OK | 指定した id、vid のリソース | |
5 | GET [base]/Patient/[id]/_history/[vid]?_pretty=false | _pretty 指定 プリティプリント形式による応答 | [id]に存在するリソースの id を、[vid]に存在するバージョンの vid を指定する | 200 OK | 指定した id、vid のリソース | |
6 | GET [base]/Patient/[id]/_history/[vid] | 未検出 | [id]に存在しないリソースの id を指定する または、[vid]に存在しないバージョンの vid を指定する または、HTTP ヘッダー Accept にサーバでサポートされていない FHIR バージョンを指定する | 404 Not Found | OperationOutcome | |
7 | GET [base]/Patient/[id]/_history/[vid] | 受理できない | HTTP ヘッダー Accept にサーバでサポートされていないフォーマット(MIME タイプ)を指定する | 406 Not Acceptable | なし | |
8 | GET [base]/Patient/[id]/_history/[vid] | 消滅した | [id]に DELETE インタラクションで削除したリソースの id を指定する | 410 Gone | OperationOutcome |
update
PUT [base]/[type]/[id] {?_format=[mime-type]}
No | Interaction | Remarks | summary | operation | expectation HTTP status | expectation Response Body |
---|---|---|---|---|---|---|
1 | PUT [base]/Patient/[id]Http request Body id=[id] | 基本形 オプションパラメータ無し | [id]に存在するリソースの id を指定する request body の id に[id]と同じ値をセットする meta.versionId、meta.lastUpdated は指定しても無視される | 200 OK | 指定した id の更新後のリソース | |
2 | PUT [base]/Patient/[id]?_format=application/fhir+jsonHttp request Body id=[id] | _format 指定 | [id]に存在するリソースの id を指定する request body の id に[id]と同じ値をセットする meta.versionId、meta.lastUpdated は指定しても無視される | 200 OK | 指定した id の更新後のリソース | |
3 | PUT [base]/Patient/[id]?_format=application/jsonHttp request Body id=[id] | _format 指定 一般的な mime type | [id]に存在するリソースの id を指定する request body の id に[id]と同じ値をセットする meta.versionId、meta.lastUpdated は指定しても無視される | 200 OK | 指定した id の更新後のリソース | |
4 | PUT [base]/Patient/[id]?_pretty=trueHttp request Body id=[id] | _pretty 指定 プリティプリント形式による応答 | [id]に存在するリソースの id を指定する request body の id に[id]と同じ値をセットする meta.versionId、meta.lastUpdated は指定しても無視される | 200 OK | 指定した id の更新後のリソース | |
5 | PUT [base]/Patient/[id]?_pretty=falseHttp request Body id=[id] | _pretty 指定 プリティプリント形式による応答 | [id]に存在するリソースの id を指定する request body の id に[id]と同じ値をセットする meta.versionId、meta.lastUpdated は指定しても無視される | 200 OK | 指定した id の更新後のリソース | |
6 | PUT [base]/Patient/[id]Http request HEADER Prefer: return=minimal Http request Body id=[id] | HTTP return preference 指定 | [id]に存在するリソースの id を指定する request body の id に[id]と同じ値をセットする meta.versionId、meta.lastUpdated は指定しても無視される | 200 OK | なし | |
7 | PUT [base]/Patient/[id]Http request HEADER Prefer: return=representation Http request Body id=[id] | HTTP return preference 指定 | [id]に存在するリソースの id を指定する request body の id に[id]と同じ値をセットする meta.versionId、meta.lastUpdated は指定しても無視される | 200 OK | 指定した id の更新後のリソース | |
8 | PUT [base]/Patient/[id]Http request HEADER Prefer: return=OperationOutcome Http request Body id=[id] | HTTP return preference 指定 | [id]に存在するリソースの id を指定する request body の id に[id]と同じ値をセットする meta.versionId、meta.lastUpdated は指定しても無視される | 200 OK | OperationOutcome | |
9−1 | PUT [base]/Patient/[id]Http request Body id=[id] | FHIR サーバで Update as Create が許可されている場合 | update での作成 | [id]に存在しないリソースの id を指定する request body の id に[id]と同じ値をセットする meta.versionId、meta.lastUpdated は指定しても無視される | 201 Created | 指定した id の新規のリソース |
9−2 | PUT [base]/Patient/[id]Http request Body id=[id] | FHIR サーバで Update as Create が許可されていない場合 | update での作成 | [id]に存在しないリソースの id を指定する request body の id に[id]と同じ値をセットする meta.versionId、meta.lastUpdated は指定しても無視される | 404 Not Found | OperationOutcome |
10 | PUT [base]/Patient/[id]Http request HEADER If-Match: ETag Http request Body id=[id] | Managing Resource Contention | [id]に存在するリソースのidを指定する ETag の値が対象リソースの versionId と同じなら正常。異なれば前提条件で失敗。 request bodyのidに[id]と同じ値をセットする request bodyに更新内容をセットする meta.versionId、meta.lastUpdated は指定しても無視される | 200 OK or 412 Precondition Failed error | 指定したidの更新後のリソース or OperationOutcome | |
11 | PUT [base]/Patient/[id]Http request Body id=[id] | 未検出 | HTTP ヘッダー Accept にサーバでサポートされていない FHIR バージョンを指定する | 404 Not Found | OperationOutcome | |
12 | PUT [base]/Patient/[id]Http request Body id=[id] | 未実装 | 許可されていないメソッド | update 対象のリソースが存在せず、サーバがクライアントの id 定義を許可しない場合 | 405 Method Not Allowed | OperationOutcome |
13 | PUT [base]/Patient/[id]Http request Body id=[id] | 受理できない | HTTP ヘッダー Accept にサーバでサポートされていないフォーマット(MIME タイプ)を指定する | 406 Not Acceptable | なし | |
14 | PUT [base]/Patient/[id]Http request Body id=[id] | サポートしていないメディアタイプ | HTTP ヘッダー Content-Type に text/html を指定する | 415 Unsupported Media Type | OperationOutcome | |
15 | PUT [base]/Patient/[id]Http request Body id=[id] | 未実装 (ビジネスルール未定) | 処理できないエンティティ | FHIR プロファイルまたはサーバーのビジネスルールに違反した場合 rejecting-updates | 422 Unprocessable Entity | OperationOutcome |
16 | PUT [base]/Patient/[id]Http request Body id=? | リクエストが不正である | id要素が提供されていない場合、またはIDがURLのIDと一致しない場合 | 400 Bad Request | OperationOutcome | |
17 | PUT [base]/ValueSet/[id]Http request Body | リクエストが不正である | ValueSet.compose.include.version がない かつ ValueSet.compose.include.system のCodeSystemの最新バージョンが不明 | 400 Bad Request | OperationOutcome ※詳細は参照整合性の検証 | |
18 | PUT [base]/Patient?[search parameters]Http request Body | Conditional update | search 条件に一致しない、id が指定されていない | 201 Created | 新規のリソース | |
19 | PUT [base]/Patient?[search parameters]Http request Body id=? | Conditional update | search 条件に一致しない、id が指定されている ※Update as Create として扱われる | 201 Created or 404 Not Found | 指定した id の新規のリソース or OperationOutcome | |
20 | PUT [base]/Patient?[search parameters]Http request Body | Conditional update | search 条件に一件一致し、id が指定されていない(または、リソース id が提供され、見つかったリソースと一致する) | 200 OK | 一致した id の更新後のリソース | |
21 | PUT [base]/Patient?[search parameters]Http request Body id=? | Conditional update | search 条件に一件一致し、提供されたリソース ID が見つかったリソースと一致しない | 400 Bad Request | OperationOutcome | |
22 | PUT [base]/Patient?[search parameters]Http request Body | Conditional update | search 条件に複数一致する concurrency | 412 Precondition Failed error | OperationOutcome | |
23 | PUT [base]/PatientHttp request HEADER If-Match: ETag Http request Body id=? | Conditional update | 検索パラメータが無く、If-Matchヘッダーを指定している | 400 Bad Request | OperationOutcome | |
24 | PUT [base]/PatientHttp request HEADER Http request Body id=? | Conditional update | idと検索パラメータのいずれも指定されていない | 400 Bad Request | OperationOutcome | |
25 | PUT [base]/Patient/[id]?[search parameters]Http request HEADER Http request Body id=? | Conditional update | idと検索パラメータが共に指定されている | 400 Bad Request | OperationOutcome |
patch
PATCH [base]/[type]/[id] {?_format=[mime-type]}
No | Interaction | Remarks | summary | operation | expectation HTTP status | expectation Response Body |
---|---|---|---|---|---|---|
1 | PATCH [base]/Patient/[id]Http request Body | 基本形 オプションパラメータ無し | [id]に存在するリソースの id を指定する request body に更新内容をセットする JSON Patch と FHIRPath Patch の形式が指定可能 | 200 OK | 指定した id の更新後のリソース | |
2 | PATCH [base]/Patient/[id]?_format=application/fhir+jsonHttp request Body | _format 指定 | [id]に存在するリソースの id を指定する request body に更新内容をセットする JSON Patch と FHIRPath Patch の形式が指定可能 | 200 OK | 指定した id の更新後のリソース | |
3 | PATCH [base]/Patient/[id]?_format=application/jsonHttp request Body | _format 指定 一般的な mime type | [id]に存在するリソースの id を指定する request body に更新内容をセットする JSON Patch と FHIRPath Patch の形式が指定可能 | 200 OK | 指定した id の更新後のリソース | |
4 | PATCH [base]/Patient/[id]?_pretty=trueHttp request Body | _pretty 指定 プリティプリント形式による応答 | [id]に存在するリソースの id を指定する request body に更新内容をセットする JSON Patch と FHIRPath Patch の形式が指定可能 | 200 OK | 指定した id の更新後のリソース | |
5 | PATCH [base]/Patient/[id]?_pretty=falseHttp request Body | _pretty 指定 | [id]に存在するリソースの id を指定する request body に更新内容をセットする JSON Patch と FHIRPath Patch の形式が指定可能 | 200 OK | 指定した id の更新後のリソース | |
6 | PATCH [base]/Patient/[id]Http request HEADER Prefer: return=minimal Http request Body | HTTP return preference 指定 | [id]に存在するリソースの id を指定する request body に更新内容をセットする JSON Patch と FHIRPath Patch の形式が指定可能 | 200 OK | なし | |
7 | PATCH [base]/Patient/[id]Http request HEADER Prefer: return=representation Http request Body | HTTP return preference 指定 | [id]に存在するリソースの id を指定する request body に更新内容をセットする JSON Patch と FHIRPath Patch の形式が指定可能 | 200 OK | 指定した id の更新後のリソース | |
8 | PATCH [base]/Patient/[id]Http request HEADER Prefer: return=OperationOutcome Http request Body | HTTP return preference 指定 | [id]に存在するリソースの id を指定する request body に更新内容をセットする JSON Patch と FHIRPath Patch の形式が指定可能 | 200 OK | OperationOutcome | |
9 | PATCH [base]/Patient/[id]Http request HEADER If-Match: ETag Http request Body | Managing Resource Contention | [id]に存在するリソースのidを指定する ETag の値が対象リソースの versionId と同じなら正常。異なれば前提条件で失敗。 request body に更新内容をセットする JSON Patch と FHIRPath Patch の形式が指定可能 | 200 OK or 412 Precondition Failed error | 指定したidの更新後のリソース or OperationOutcome | |
10 | PATCH [base]/Patient/[id]Http request Body | リクエストが不正である | request Body に存在しない要素をセットする JSON Patch と FHIRPath Patch の形式が指定可能 | 400 Bad Request | OperationOutcome | |
11 | PATCH [base]/Patient/[id]Http request Body | 未検出 | [id]に存在しないリソースの id を指定する または、HTTP ヘッダー Accept にサーバでサポートされていない FHIR バージョンを指定する | 404 Not Found | OperationOutcome | |
12 | PATCH [base]/Patient/[id]Http request Body | 未実装 | 許可されていないメソッド | 405 Method Not Allowed | OperationOutcome | |
13 | PATCH [base]/Patient/[id]Http request Body | 受理できない | HTTP ヘッダー Accept にサーバでサポートされていないフォーマット(MIME タイプ)を指定する | 406 Not Acceptable | なし | |
14 | PATCH [base]/Patient/[id]Http request Body | サポートしていないメディアタイプ | HTTP ヘッダー Content-Type に text/html を指定する | 415 Unsupported Media Type | OperationOutcome | |
15 | PATCH [base]/Patient/[id]Http request Body | 未実装 (ビジネスルール未定) | 処理できないエンティティ | FHIR プロファイルまたはサーバーのビジネスルールに違反した場合 | 422 Unprocessable Entity | OperationOutcome |
16 | PATCH [base]/Patient?[search parameters]Http request Body | Conditional patch | search 条件に一致しない | 404 Not Found | OperationOutcome | |
17 | PATCH [base]/Patient?[search parameters]Http request Body | Conditional patch | search 条件に一件一致する request body に更新内容をセットする JSON Patch と FHIRPath Patch の形式が指定可能 | 200 OK | 条件に一致した更新後のリソース | |
18 | PATCH [base]/Patient?[search parameters]Http request Body | Conditional patch | search 条件に複数一致する | 412 Precondition Failed error | OperationOutcome | |
19 | PATCH [base]/PatientHttp request HEADER If-Match: ETag Http request Body | Conditional patch | 検索パラメータが無く、If-Match ヘッダーを指定している | 400 Bad Request | OperationOutcome | |
20 | PATCH [base]/PatientHttp request HEADER Http request Body | Conditional patch | idと検索パラメータのいずれも指定されていない | 400 Bad Request | OperationOutcome | |
21 | PATCH [base]/Patient/[id]?[search parameters]Http request HEADER Http request Body | Conditional patch | idと検索パラメータが共に指定されている | 400 Bad Request | OperationOutcome |
delete
DELETE [base]/[type]/[id]
No | Interaction | Remarks | summary | operation | expectation HTTP status | expectation Response Body |
---|---|---|---|---|---|---|
1 | DELETE [base]/Patient/[id] | openfhir.config 設定ファイルに contains.payload=false の設定がされていると、正常時の HTTP status は 204 No Content になる。その場合 Response Body に値は設定されない。 | 基本形 オプションパラメータ無し | [id]に存在するリソースの id を指定する | 200 OK | OperationOutcome |
2 | DELETE [base]/Patient/[id]?_format=application/fhir+json | _format 指定 | [id]に存在するリソースの id を指定する | 200 OK | OperationOutcome | |
3 | DELETE [base]/Patient/[id]?_format=application/json | _format 指定 一般的な mime type | [id]に存在するリソースの id を指定する | 200 OK | OperationOutcome | |
4 | DELETE [base]/Patient/[id]?_pretty=true | _pretty 指定 プリティプリント形式による応答 | [id]に存在するリソースの id を指定する | 200 OK | OperationOutcome | |
5 | DELETE [base]/Patient/[id]?_pretty=false | _pretty 指定 プリティプリント形式による応答 | [id]に存在するリソースの id を指定する | 200 OK | OperationOutcome | |
6 | DELETE [base]/Patient/[id] | 未検出 | [id]に存在しないリソースの id を指定する または、HTTP ヘッダー Accept にサーバでサポートされていない FHIR バージョンを指定する | 404 Not Found | OperationOutcome | |
7 | DELETE [base]/Patient/[id] | 未実装 (使用する想定が無い) | 許可されていないメソッド | 405 Method Not Allowed | OperationOutcome | |
8 | DELETE [base]/Patient/[id] | 受理できない | HTTP ヘッダー Accept にサーバでサポートされていないフォーマット(MIME タイプ)を指定する | 406 Not Acceptable | なし | |
9 | DELETE [base]/Patient/[id] | 未検出 | [id]に削除したリソースの id を指定する | 404 Not Found | OperationOutcome | |
10 | DELETE [base]/Patient?[search parameters] | Conditional delete | search 条件に一件一致する | 200 OK | OperationOutcome | |
11 | DELETE [base]/Patient?[search parameters] | Conditional delete | search 条件に一致しない | 404 Not Found | OperationOutcome | |
12 | DELETE [base]/Patient?[search parameters] | Conditional delete | search 条件に複数一致する ※FHIR サーバの複数削除許可の設定による | 200 OK or 412 Precondition Failed error | OperationOutcome | |
13 | DELETE [base]/Patient | Conditional delete | idと検索パラメータのいずれも指定されていない | 400 Bad Request | OperationOutcome | |
14 | DELETE [base]/Patient/[id]?[search parameters] | Conditional delete | idと検索パラメータが共に指定されている | 400 Bad Request | OperationOutcome |
create
POST [base]/[type] {?_format=[mime-type]}
No | Interaction | Remarks | summary | operation | expectation HTTP status | expectation Response Body |
---|---|---|---|---|---|---|
1 | POST [base]/Patient/Http request Body | 基本形 オプションパラメータ無し | request body に作成するリソースをセットする id 、 meta.versionId と meta.lastUpdated は指定しても無視される | 201 Created | 作成されたリソース | |
2 | POST [base]/Patient?_format=application/fhir+jsonHttp request Body | _format 指定 | request body に作成するリソースをセットする id 、 meta.versionId と meta.lastUpdated は指定しても無視される | 201 Created | 作成されたリソース | |
3 | POST [base]/Patient?_format=application/jsonHttp request Body | _format 指定 一般的な mime type | request body に作成するリソースをセットする id 、 meta.versionId と meta.lastUpdated は指定しても無視される | 201 Created | 作成されたリソース | |
4 | POST [base]/Patient?_pretty=trueHttp request Body | _pretty 指定 | request body に作成するリソースをセットする id 、 meta.versionId と meta.lastUpdated は指定しても無視される | 201 Created | 作成されたリソース | |
5 | POST [base]/Patient?_pretty=falseHttp request Body | _pretty 指定 | request body に作成するリソースをセットする id 、 meta.versionId と meta.lastUpdated は指定しても無視される | 201 Created | 作成されたリソース | |
6 | POST [base]/PatientHttp request HEADER Prefer: return=minimal Http request Body | HTTP return preference 指定 | request body に作成するリソースをセットする id 、 meta.versionId と meta.lastUpdated は指定しても無視される | 201 Created | なし | |
7 | POST [base]/PatientHttp request HEADER Prefer: return=representation Http request Body | HTTP return preference 指定 | request body に作成するリソースをセットする id 、 meta.versionId と meta.lastUpdated は指定しても無視される | 201 Created | 作成されたリソース | |
8 | POST [base]/PatientHttp request HEADER Prefer: return=OperationOutcome Http request Body | HTTP return preference 指定 | request body に作成するリソースをセットする id 、 meta.versionId と meta.lastUpdated は指定しても無視される | 201 Created | OperationOutcome | |
9 | POST [base]/PatientHttp request Body | リクエストが不正である | バリデーションルールに違反するリソースを request body にセットする | 400 Bad Request | OperationOutcome | |
10 | POST [base]/ValueSetHttp request Body | リクエストが不正である | ValueSet.compose.include.version がない かつ ValueSet.compose.include.system のCodeSystemの最新バージョンが不明 | 400 Bad Request | OperationOutcome ※詳細は参照整合性の検証 | |
11 | POST [base]/PatientHttp request Body | 未検出 | HTTP ヘッダー Accept にサーバでサポートされていない FHIR バージョンを指定する | 404 Not Found | OperationOutcome | |
12 | POST [base]/PatientHttp request Body | 未実装 (未使用) | 許可されていないメソッド | 405 Method Not Allowed | OperationOutcome | |
13 | POST [base]/PatientHttp request Body | 受理できない | HTTP ヘッダー Accept にサーバでサポートされていないフォーマット(MIME タイプ)を指定する | 406 Not Acceptable | なし | |
14 | POST [base]/PatientHttp request Body | サポートしていないメディアタイプ | HTTP ヘッダー Content-Type に text/html を指定する | 415 Unsupported Media Type | OperationOutcome | |
15 | POST [base]/PatientHttp request Body | 未実装 (ビジネスルール未定) | 処理できないエンティティ | FHIR プロファイルまたはサーバーのビジネスルールに違反した場合 | 422 Unprocessable Entity | OperationOutcome |
16 | POST [base]/PatientHttp request HEADER If-None-Exist: [search parameters] Http request Body | Conditional create | search 条件に一致しない | 201 Created | 作成されたリソース | |
17 | POST [base]/PatientHttp request HEADER If-None-Exist: [search parameters] Http request Body | Conditional create | search 条件に一件一致する | 200 OK | 一致したリソース ※POST リクエストは無視される | |
18 | POST [base]/PatientHttp request HEADER If-None-Exist: [search parameters] Http request Body | Conditional create | search 条件に複数一致する | 412 Precondition Failed error | OperationOutcome |
search
Search handling mechanism
GET [base]/[type]{?[parameters]{&_format=[mime-type]}}
GET [base]?[parameters]{&_format=[mime-type]}
No | Interaction | Remarks | summary | operation | expectation HTTP status | expectation Response Body |
---|---|---|---|---|---|---|
1 | GET [base]/Patient | 対象となるリソースが存在しない場合は Response Body の Bundle.total に 0 が設定される。HTTP Status は 200 OK になる。 | 基本形 オプションパラメータ無し | 指定した type(Patient)のリソースが存在する状態で実施する | 200 OK | Bundle |
2 | GET [base]/Patient?_format=application/fhir+json | _format 指定 | 指定した type(Patient)のリソースが存在する状態で実施する | 200 OK | Bundle | |
3 | GET [base]/Patient?_format=application/json | _format 指定 一般的な mime type | 指定した type(Patient)のリソースが存在する状態で実施する | 200 OK | Bundle | |
4 | GET [base]/Patient?_pretty=true | _pretty 指定 プリティプリント形式による応答 | 指定した type(Patient)のリソースが存在する状態で実施する | 200 OK | Bundle | |
5 | GET [base]/Patient?_pretty=false | _pretty 指定 プリティプリント形式による応答 | 指定した type(Patient)のリソースが存在する状態で実施する | 200 OK | Bundle | |
6 | GET [base]/Patient?_id=[id] | _id 指定 | [id]に存在するリソースの id を指定する | 200 OK | Bundle | |
7 | GET [base]/Patient?_lastUpdated=gt2010-10-01 ※パラメータは例 | _lastUpdated 指定 | lastUpdated が指定された date より新しいリソースを用意する | 200 OK | Bundle | |
8 | GET [base]/Patient?_tag=chol-mmol ※パラメータは例 | _tag 指定 | 指定の meta.tag を持つ Patient を用意する | 200 OK | Bundle | |
9 | GET [base]/Patient?_profile=http://hl7fhir.jp/fhir/StructureDefinition/JP_Patient ※パラメータは例 | _profile 指定 | 指定の meta.profile を持つ Patient を用意する | 200 OK | Bundle | |
10 | GET [base]/Patient?_security=HMARKT ※パラメータは例 | _security 指定 | 指定の meta.security を持つ Patient を用意する | 200 OK | Bundle | |
11 | GET [base]/Patient?gender:missing=true ※パラメータは例 | 指定できるモディファイアは検索パラメータのデータ型によって異る | モディファイア 指定 | 指定の検索パラメータを持つ Patient を用意する | 200 OK | Bundle |
12 | GET [base]/Patient?birthdate=eq2010-10-01 ※パラメータは例 | 指定できるプレフィックスは検索パラメータのデータ型によって異る | プレフィックス 指定 | 指定の検索パラメータを持つ Patient を用意する | 200 OK | Bundle |
13 | GET [base]/Patient?general-practitioner._id=10 または GET [base]//Patient?general-practitioner:Organization._id=10 ※パラメータは例 | Chained 検索 | reference 型の検索パラメータを持つ Patient を用意する | 200 OK | Bundle | |
14 | GET [base]/Patient?_has:Observation:patient:code=1234-5 ※パラメータは例 | _has 指定 | Patient とその Patient への参照と指定の code を持つ Observation を用意する | 200 OK | Bundle | |
15 | GET [base]/Observation?combo-code-value-quantity=http://loinc.org|15074-8$6.30|http://unitsofmeasure.org|mmol/L ※ Composite 検索パラメータは Patient ではサポートされていないため、Observation で例示 パラメータは例 | Composite 検索 | 指定の Composite(値のペア)を持つ Observation を用意する | 200 OK | Bundle | |
16 | GET [base]/Patient?_list=[id] | _list 指定 | [id]に Patient を保持する List の id を指定する | 200 OK | Bundle | |
17 | GET [base]/Patient?_filter=_id eq 10 and birthdate eq 1980-12-17 ※パラメータは例 | 独自の構文があり、固有のオペレータが使用可能 指定できるオペレータは検索パラメータのデータ型によって異る | _filter 指定 | 指定 filter の値を持つ Patient を用意する | 200 OK | Bundle |
18 | GET [base]/?_type=Patient | _type 指定 | 指定した type(Patient)のリソースが存在する状態で実施する | 200 OK | Bundle | |
19 | GET [base]/Patient?_sort=-birthdate,family ※パラメータは例 | _sort 指定 | 指定した type(Patient)のリソースが存在する状態で実施する | 200 OK | Bundle | |
20 | GET [base]/Patient?_count=10 ※パラメータは例 | _count=0 の場合は _summary=count と同じ出力になる | _count 指定 | 指定したリソース(Patient)が存在する状態で実施する | 200 OK | Bundle |
21 | GET [base]/Observation?_include=Observation:patient ※パラメータは例 | 検索対象のリソースから参照されるリソースを返却 | _include 指定 | Observation とそのリソース内で参照している Patient を用意する | 200 OK | Bundle |
22 | GET [base]/Patient?_revinclude=Account:subject ※パラメータは例 | 検索対象のリソースを参照するリソースを返却 | _revinclude 指定 | Patient とその Patient への参照を持つ Account を用意する | 200 OK | Bundle |
23 | GET [base]/Patient?_summary=true | _summary 指定 summary Patient リソースの基本定義で「 summary 」としてマークされている要素のみを返す | 指定した type(Patient)のリソース、summary の対象要素が存在する状態で実施する | 200 OK | Bundle | |
24 | GET [base]/Patient?_summary=text | _summary 指定 「 text 」要素、「 id 」要素、「 meta 」要素、および最上位の必須要素のみを返す | 指定した type(Patient)のリソース、summary の対象要素が存在する状態で実施する | 200 OK | Bundle | |
25 | GET [base]/Patient?_summary=data | _summary 指定 テキスト要素を削除して返す | 指定した type(Patient)のリソース、summary の対象要素が存在する状態で実施する | 200 OK | Bundle | |
26 | GET [base]/Patient?_summary=false | _summary 指定 リソースの全てを返す | 指定した type(Patient)のリソース、summary の対象要素が存在する状態で実施する | 200 OK | Bundle | |
27 | GET [base]/Patient?_summary=count | _summary 指定 リソースの数を返す | 指定した type(Patient)のリソース、summary の対象要素が存在する状態で実施する | 200 OK | Bundle | |
28 | GET [base]/Patient?_elements=identifier,active,link ※パラメータは例 | _elements 指定 | 指定した type(Patient)のリソースが存在する状態で実施する リソースに存在する elements を指定する | 200 OK | Bundle | |
29 | GET [base]/Patient?_contained=false&general-practitioner.family=Careful ※パラメータは例 _contained の設定値 ・false(default): 他のリソースに包含されるリソースは返却しない ・true : 他のリソースに包含されるリソースのみを返却 ・both : 他のリソースに包含されるリソースと包含されない(通常の)リソースの両方を返却 | 他のリソースに包含されるリソースを返却するかどうかを制御 | _contained 指定 | Practitioner とその Practitioner の contained 要素を持つ Patient を用意する | 200 OK | Bundle |
30 | GET [base]/Patient?_containedType=container&general-practitioner.family=Careful ※パラメータは例 _containedType の設定値 ・container(default): コンテナリソースを返却 ・contained : 他のリソースに包含されるリソースのみを返却 | 他のリソースに包含されるリソースを返却する場合、包含されるリソースのみを返却するのか、コンテナリ ソースを含み返却するかを制御 | _containedType 指定 | Practitioner とその Practitioner の contained 要素を持つ Patient を用意する | 200 OK | Bundle |
31-1 | GET [base]/Patient?birthDate=1974-12-25 ※パラメータは例 | 検索パラメータ不正 | 所定の検索パラメータ以外の name が指定された場合 | 400 Bad Request | OperationOutcome | |
31-2 | GET [base]/?_type=Patient&_elements=active ※パラメータは例 | 検索パラメータ不正 | _type と _elements が同時に指定された場合 | 400 Bad Request | OperationOutcome | |
32 | GET [base]/Patient | 未実装 | 認証が必要である | 401 Unauthorized | OperationOutcome | |
33 | GET [base]/Patient | 未検出 | HTTP ヘッダー Accept にサーバでサポートされていない FHIR バージョンを指定する | 404 Not Found | OperationOutcome | |
34 | GET [base]/Patient | 受理できない | HTTP ヘッダー Accept にサーバでサポートされていないフォーマット(MIME タイプ)を指定する | 406 Not Acceptable | なし |
Variant Searches
compartment
- 全タイプの compartment 検索
GET [base]/[Compartment]/[id]/*{?[parameters]{&_format=[mime-type]}}
- 特定タイプの compartment 検索
GET [base]/[Compartment]/[id]/[type]{?[parameters]{&_format=[mime-type]}}
インタラクションは特定タイプの例です。説明が無い場合は全タイプも同じインタラクションです。
compartment の種類:Patient/Encounter/RelatedPerson/Practitioner/Device
No | Interaction | Remarks | summary | operation | expectation HTTP status | expectation Response Body |
---|---|---|---|---|---|---|
1 | GET [base]/[Compartment]/[id]/[type] | 対象となるリソースが存在しない場合は Response Body の Bundle.total に 0 が設定される。HTTP Status は 200 OK になる。 | 基本形 オプションパラメータ無し | 指定した Compartment のリソースが存在する状態で実施する | 200 OK | Bundle |
2 | GET [base]/[Compartment]/[id]/[type]?_format=application/fhir+json | _format 指定 | 指定した Compartment のリソースが存在する状態で実施する | 200 OK | Bundle | |
3 | GET [base]/[Compartment]/[id]/[type]?_format=application/json | _format 指定 一般的な mime type | 指定した Compartment のリソースが存在する状態で実施する | 200 OK | Bundle | |
4 | GET [base]/[Compartment]/[id]/[type]?_pretty=true | _pretty 指定 プリティプリント形式による応答 | 指定した Compartment のリソースが存在する状態で実施する | 200 OK | Bundle | |
5 | GET [base]/[Compartment]/[id]/[type]?_pretty=false | _pretty 指定 プリティプリント形式による応答 | 指定した Compartment のリソースが存在する状態で実施する | 200 OK | Bundle | |
6 | GET [base]/[Compartment]/[id]/[type]?_elements=identifier,active,link ※パラメータは例 | 特定タイプにのみ有効。全タイプに指定すると 400 Bad Request になる。 | _elements 指定 | 指定した Compartment のリソースが存在する状態で実施する リソースに存在する elements を指定する | 200 OK | Bundle |
7 | GET [base]/[Compartment]/[id]/[type]?_id=[type-id] | _id 指定 | [type-id]に存在する Compartment の[type]の id を指定する | 200 OK | Bundle | |
8 | GET [base]/[Compartment]/[id]/[type]?_lastUpdated=gt2010-10-01 ※パラメータは例 | _lastUpdated 指定 | lastUpdated が指定された date より新しい Compartment を用意する | 200 OK | Bundle | |
9 | GET [base]/[Compartment]/[id]/Patient?_has:Observation:patient:code=1234-5 ※type、パラメータは例 | _has 指定 | Compartment、Patient とその Patient への参照と指定の code を持つ Observation を用意する | 200 OK | Bundle | |
10 | GET [base]/[Compartment]/[id]/Patient?_profile=http://hl7fhir.jp/fhir/StructureDefinition/JP_Patient ※type、パラメータは例 | _profile 指定 | Compartment、指定の meta.profile を持つ Patient を用意する | 200 OK | Bundle | |
11 | GET [base]/[Compartment]/[id]/Observation?_include=Observation:patient ※type、パラメータは例 | 特定タイプにのみ有効。全タイプに指定すると 400 Bad Request になる。 | _include 指定 | Compartment、Patient とその Patient への参照を持つ Observation を用意する | 200 OK | Bundle |
12 | GET [base]/[Compartment]/[id]/Patient?_tag=chol-mmol ※type、パラメータは例 | _tag 指定 | Compartment、指定の meta.tag を持つ Patient を用意する | 200 OK | Bundle | |
13 | GET [base]/[Compartment]/[id]/Patient?_security=HMARKT ※type、パラメータは例 | _security 指定 | Compartment、指定の meta.security を持つ Patient を用意する | 200 OK | Bundle | |
14-1 | GET [base]/[Compartment]/[id]/Patient?birthDate=1974-12-25 ※type、パラメータは例 | 特定タイプの場合 | 検索パラメータ不正 | 所定の検索パラメータ以外の name が指定された場合 | 400 Bad Request | OperationOutcome |
14-2 | GET [base]/[Compartment]/[id]/*?birthdate=1974-12-25 ※パラメータは例 | 全タイプの場合 | 検索パラメータ不正 | 特定リソースの検索パラメータが指定された場合 | 400 Bad Request | OperationOutcome |
15 | GET [base]/Compartment]/[id]/[type] | 未実装 | 認証が必要である | 401 Unauthorized | OperationOutcome | |
16 | GET [base]/Compartment]/[id]/[type] | 未検出 | HTTP ヘッダー Accept にサーバでサポートされていない FHIR バージョンを指定する | 404 Not Found | OperationOutcome | |
17 | GET [base]/Compartment]/[id]/[type] | 受理できない | HTTP ヘッダー Accept にサーバでサポートされていないフォーマット(MIME タイプ)を指定する | 406 Not Acceptable | なし |
capabilities
GET [base]/metadata{?mode=[mode]} {&_format=[mime-type]}
No | Interaction | Remarks | summary | operation | expectation HTTP status | expectation Response Body |
---|---|---|---|---|---|---|
1 | GET [base]/metadata | 基本形 オプションパラメータ無し | 200 OK | サーバの Capability Statement | ||
2 | GET [base]/metadata?_format=application/fhir+json | _format 指定 | 200 OK | サーバの Capability Statement | ||
3 | GET [base]/metadata?_format=application/json | _format 指定 一般的な mime type | 200 OK | サーバの Capability Statement | ||
4 | GET [base]/metadata?_pretty=true | _pretty 指定 プリティプリント形式による応答 | 200 OK | サーバの Capability Statement | ||
5 | GET [base]/metadata?_pretty=false | _pretty 指定 プリティプリント形式による応答 | 200 OK | サーバの Capability Statement | ||
6 | GET [base]/metadata?mode=full | mode 指定 | 200 OK | サーバの Capability Statement | ||
7 | GET [base]/metadata?mode=normative | mode 指定 | 200 OK | サーバの Capability Statement (標準的な部分のみ) | ||
8 | GET [base]/metadata?mode=terminology | mode 指定 | 200 OK | サーバーでサポートされている terminology に関する詳細情報 | ||
9 | GET [base]/metadata | 未検出 | HTTP ヘッダー Accept にサーバでサポートされていない FHIR バージョンを指定する | 404 Not Found | OperationOutcome |
batch/transaction
POST [base] {?_format=[mime-type]}
例:
- Transaction Example with Matching Response
- Batch request to fetch Meds & Allergies with Response
- Batch request to fetch simple Patient Summary with Response
トランザクション処理ルール
トランザクション中のエントリは以下の順序で実行される。
- Process any DELETE interactions
- Process any POST interactions
- Process any PUT or PATCH interactions
- Process any GET or HEAD interactions
- Resolve any conditional references
上記の実行順序とは無関係に Request body に指定されているインタラクションの順序で Response body へ実行結果が出力される。
No | Interaction | Remarks | summary | operation | expectation HTTP status | expectation Response Body |
---|---|---|---|---|---|---|
1 | POST [base]Http request Body | 基本形 オプションパラメータ無し | request body に batch/transaction をセットする(Bundle 形式) Bundle.type は batch または transaction | 200 OK | 処理結果(Bundle 形式) Bundle.type は batch または transaction | |
2 | POST [base]?_format=application/fhir+jsonHttp request Body | _format 指定 | request body に batch/transaction をセットする(Bundle 形式) Bundle.type は batch または transaction | 200 OK | 処理結果(Bundle 形式) Bundle.type は batch または transaction | |
3 | POST [base]?_format=application/jsonHttp request Body | _format 指定 一般的な mime type | request body に batch/transaction をセットする(Bundle 形式) Bundle.type は batch または transaction | 200 OK | 処理結果(Bundle 形式) Bundle.type は batch または transaction | |
4 | POST [base]?_pretty=trueHttp request Body | _pretty 指定 | request body に batch/transaction をセットする(Bundle 形式) Bundle.type は batch または transaction | 200 OK | 処理結果(Bundle 形式) Bundle.type は batch または transaction | |
5 | POST [base]?_pretty=falseHttp request Body | _pretty 指定 | request body に batch/transaction をセットする(Bundle 形式) Bundle.type は batch または transaction | 200 OK | 処理結果(Bundle 形式) Bundle.type は batch または transaction | |
6 | POST [base]Http request HEADER Prefer: return=minimal Http request Body | HTTP return preference 指定 | request body に batch/transaction をセットする(Bundle 形式) Bundle.type は batch または transaction | 200 OK | 処理結果(Bundle 形式) Bundle.type は batch または transaction | |
7 | POST [base]Http request HEADER Prefer: return=representation Http request Body | HTTP return preference 指定 | request body に batch/transaction をセットする(Bundle 形式) Bundle.type は batch または transaction | 200 OK | 処理結果(Bundle 形式) Bundle.type は batch または transaction | |
8 | POST [base]Http request HEADER Prefer: return=OperationOutcome Http request Body | HTTP return preference 指定 | request body に batch/transaction をセットする(Bundle 形式) Bundle.type は batch または transaction | 200 OK | 処理結果(Bundle 形式) Bundle.type は batch または transaction | |
9 | POST [base]Http request Body | 未検出 | HTTP ヘッダー Accept にサーバでサポートされていない FHIR バージョンを指定する transaction の場合、 request body 中、[id]に存在しないリソースの id を指定しても発生する | 404 Not Found | OperationOutcome | |
10 | POST [base]Http request Body | 未実装 (未使用) | 許可されていないメソッド | 405 Method Not Allowed | OperationOutcome | |
11 | POST [base]Http request Body | 受理できない | HTTP ヘッダー Accept にサーバでサポートされていないフォーマット(MIME タイプ)を指定する | 406 Not Acceptable | なし | |
12 | POST [base]Http request Body | サポートしていないメディアタイプ | HTTP ヘッダー Content-Type に text/html を指定する | 415 Unsupported Media Type | OperationOutcome | |
13 | POST [base]Http request Body | 未実装 (ビジネスルール未定) | 処理できないエンティティ | FHIR プロファイルまたはサーバーのビジネスルールに違反した場合 | 422 Unprocessable Entity | OperationOutcome |
14 | POST [base]Http request Body | batch 固有 | 各エントリは個別に扱われる | request body に batch をセットする(Bundle 形式) Bundle.type は batch 正常終了するエントリと異常終了するエントリが混在している | 200 OK | 処理結果(Bundle 形式) Bundle.type は batch |
15 | POST [base]Http request Body | batch 固有 | エントリは指定した順序に実行される | request body に batch をセットする(Bundle 形式) Bundle.type は batch 複数のエントリがある | 200 OK | 処理結果(Bundle 形式) Bundle.type は batch |
16-1 | POST [base]Http request Body | transaction 固有 | エントリ全体で正常/異常が判定される | request body に transaction をセットする(Bundle 形式) Bundle.type は transaction 正常終了するエントリと異常終了するエントリが混在している | 異常終了したエントリの HTTP status | OperationOutcome |
16-2 | POST [base]Http request Body | transaction 固有 | リクエストが不正である | あるエントリで Bad Request が発生した場合 | 400 Bad Request | OperationOutcome |
16-3 | POST [base]Http request Body | transaction 固有 | 前提条件で失敗した | あるエントリで Precondition Failed が発生した場合 | 412 Precondition Failed | OperationOutcome |
17 | POST [base]Http request Body | transaction 固有 | エントリは以下の順序で実行される 1.DELETE 2.POST 3.PUT 4.GET 5.conditional references | request body に transaction をセットする(Bundle 形式) Bundle.type は transaction 実行順序の逆にエントリが指定されている | 200 OK | 処理結果(Bundle 形式) Bundle.type は transaction |
18 | POST [base]Http request Body | Conditional インタラクション | 1.read If-Modified-Since If-None-Match 2.update If-Match PUT [base]/[type]?[search parameters] 3.delete DELETE [base]/[type]/?[search parameters] 4.create If-None-Exist | request body に batch/transaction をセットする(Bundle 形式) Bundle.type は batch または transaction エントリのインタラクションに左記の条件を指定する | 200 OK ※ transaction で If-Match のエラー時は 412 Precondition Failed error | 処理結果(Bundle 形式) Bundle.type は batch または transaction |
history
特定のリソース
GET [base]/[type]/[id]/_history{?[parameters]&_format=[mime-type]}
No | Interaction | Remarks | summary | operation | expectation HTTP status | expectation Response Body |
---|---|---|---|---|---|---|
1 | GET [base]/Patient/[id]/_history | 対象となるリソースが存在しない場合は Response Body の Bundle.total に 0 が設定される。HTTP Status は 200 OK になる。 | 基本形 オプションパラメータ無し | [id]に存在するリソースの id を指定する | 200 OK | Bundle 指定した id の全バージョンのリソース |
2 | GET [base]/Patient/[id]/_history?_format=application/fhir+json | _format 指定 | [id]に存在するリソースの id を指定する | 200 OK | Bundle 指定した id の全バージョンのリソース | |
3 | GET [base]/Patient/[id]/_history?_format=application/json | _format 指定 一般的な mime type | [id]に存在するリソースの id を指定する | 200 OK | Bundle 指定した id の全バージョンのリソース | |
4 | GET [base]/Patient/[id]/_history?_pretty=true | _pretty 指定 プリティプリント形式による応答 | [id]に存在するリソースの id を指定する | 200 OK | Bundle 指定した id の全バージョンのリソース | |
5 | GET [base]/Patient/[id]/_history?_pretty=false | _pretty 指定 プリティプリント形式による応答 | [id]に存在するリソースの id を指定する | 200 OK | Bundle 指定した id の全バージョンのリソース | |
6 | GET [base]/Patient/[id]/_history?_count=[count] | _count: integer | _count 指定 | [id]に存在するリソースの id を指定する [count] に1ページに含まれる検索結果の最大数を指定する | 200 OK | Bundle 指定した id の1ページ分のバージョンのリソース |
7 | GET [base]/Patient/[id]/_history?_since=[since] | _since: instant | _since 指定 | [id]に存在するリソースの id を指定する [since] に instant を指定する 指定した instant 以降に作成されたバージョンのリソースのみ取得される | 200 OK | Bundle 指定した id の [since] で指定された以降のバージョンのリソース |
8 | GET [base]/Patient/[id]/_history?_at=[at] | _at: date(Time) | _at 指定 | [id]に存在するリソースの id を指定する [at] に date(Time) を指定する 指定した date(Time) の期間中で最新バージョンのリソースが取得される | 200 OK | Bundle 指定した id の [at] で指定されたバージョンのリソース |
9 | GET [base]/Patient/[id]/_history?_list=[list] | _list: reference ※ [list] には List リソースの論理 [id] のみ指定可能 | _list 指定 | [id]に存在するリソースの id を指定する [list] に reference を指定する 指定した reference で参照されているバージョンのリソースのみ取得される | 200 OK | Bundle 指定した id の [list] で指定されたバージョンのリソース |
10 | GET [base]/Patient/[id]/_history | 未検出 | [id]に存在しないリソースの id を指定する または、HTTP ヘッダー Accept にサーバでサポートされていない FHIR バージョンを指定する | 404 Not Found | OperationOutcome | |
11 | GET [base]/Patient/[id]/_history | 受理できない | HTTP ヘッダー Accept にサーバでサポートされていないフォーマット(MIME タイプ)を指定する | 406 Not Acceptable | なし |
特定のタイプの全リソース
GET [base]/[type]/_history{?[parameters]&_format=[mime-type]}
No | Interaction | Remarks | summary | operation | expectation HTTP status | expectation Response Body |
---|---|---|---|---|---|---|
1 | GET [base]/Patient/_history | 対象となるリソースが存在しない場合は Response Body の Bundle.total に 0 が設定される。HTTP Status は 200 OK になる。 | 基本形 オプションパラメータ無し | [type]に有効なタイプを指定する | 200 OK | Bundle 指定したタイプの全バージョンのリソース |
2 | GET [base]/Patient/_history?_format=application/fhir+json | _format 指定 | [type]に有効なタイプを指定する | 200 OK | Bundle 指定したタイプの全バージョンのリソース | |
3 | GET [base]/Patient/_history?_format=application/json | _format 指定 一般的な mime type | [type]に有効なタイプを指定する | 200 OK | Bundle 指定したタイプの全バージョンのリソース | |
4 | GET [base]/Patient/_history?_pretty=true | _pretty 指定 プリティプリント形式による応答 | [type]に有効なタイプを指定する | 200 OK | Bundle 指定したタイプの全バージョンのリソース | |
5 | GET [base]/Patient/_history?_pretty=false | _pretty 指定 プリティプリント形式による応答 | [type]に有効なタイプを指定する | 200 OK | Bundle 指定したタイプの全バージョンのリソース | |
6 | GET [base]/Patient/_history?_count=[count] | _count: integer | _count 指定 | [type]に有効なタイプを指定する [count] に1ページに含まれる検索結果の最大数を指定する | 200 OK | Bundle 指定したタイプの1ページ分のバージョンのリソース |
7 | GET [base]/Patient/_history?_since=[since] | _since: instant | _since 指定 | [type]に有効なタイプを指定する [since] に instant を指定する 指定した instant 以降に作成されたバージョンのリソースのみ取得される | 200 OK | Bundle 指定したタイプの [since] で指定された以降のバージョンのリソース |
8 | GET [base]/Patient/_history?_at=[at] | _at: date(Time) | _at 指定 | [type]に有効なタイプを指定する [at] に date(Time) を指定する 指定した date(Time) の期間中で最新バージョンのリソースが取得される | 200 OK | Bundle 指定したタイプの [at] で指定されたバージョンのリソース |
9 | GET [base]/Patient/_history?_list=[list] | _list: reference ※ [list] には List リソースの論理 [id] のみ指定可能 | _list 指定 | [type]に有効なタイプを指定する [list] に reference を指定する 指定した reference で参照されているバージョンのリソースのみ取得される | 200 OK | Bundle 指定したタイプの [list] で指定されたバージョンのリソース |
10 | GET [base]/Patient/_history | 未検出 | [type]にリソースが存在しないタイプを指定する または、HTTP ヘッダー Accept にサーバでサポートされていない FHIR バージョンを指定する | 404 Not Found | OperationOutcome | |
11 | GET [base]/Patient/_history | 受理できない | HTTP ヘッダー Accept にサーバでサポートされていないフォーマット(MIME タイプ)を指定する | 406 Not Acceptable | なし |
システムでサポートされている全リソース
GET [base]/_history{?[parameters]&_format=[mime-type]}
No | Interaction | Remarks | summary | operation | expectation HTTP status | expectation Response Body |
---|---|---|---|---|---|---|
1 | GET [base]/_history | 対象となるリソースが存在しない場合は Response Body の Bundle.total に 0 が設定される。HTTP Status は 200 OK になる。 | 基本形 オプションパラメータ無し | リソースが存在する状態で実行する | 200 OK | Bundle 全タイプの全バージョンのリソース |
2 | GET [base]/_history?_format=application/fhir+json | _format 指定 | リソースが存在する状態で実行する | 200 OK | Bundle 全タイプの全バージョンのリソース | |
3 | GET [base]/_history?_format=application/json | _format 指定 一般的な mime type | リソースが存在する状態で実行する | 200 OK | Bundle 全タイプの全バージョンのリソース | |
4 | GET [base]/_history?_pretty=true | _pretty 指定 プリティプリント形式による応答 | リソースが存在する状態で実行する | 200 OK | Bundle 全タイプの全バージョンのリソース | |
5 | GET [base]/_history?_pretty=false | _pretty 指定 プリティプリント形式による応答 | リソースが存在する状態で実行する | 200 OK | Bundle 全タイプの全バージョンのリソース | |
6 | GET [base]/_history?_count=[count] | _count: integer | _count 指定 | リソースが存在する状態で実行する [count] に1ページに含まれる検索結果の最大数を指定する | 200 OK | Bundle 全タイプの1ページ分のバージョンのリソース |
7 | GET [base]/_history?_since=[since] | _since: instant | _since 指定 | リソースが存在する状態で実行する [since] に instant を指定する 指定した instant 以降に作成されたバージョンのリソースのみ取得される | 200 OK | Bundle 全タイプの [since] で指定されたバージョンのリソース |
8 | GET [base]/_history?_at=[at] | _at: date(Time) | _at 指定 | リソースが存在する状態で実行する [at] に date(Time) を指定する 指定した date(Time) の期間中で最新のバージョンのリソースが取得される | 200 OK | Bundle 全タイプの [at] で指定されたバージョンのリソース |
9 | GET [base]/_history?_list=[list] | _list: reference ※ [list] には List リソースの論理 [id] のみ指定可能 | _list 指定 | リソースが存在する状態で実行する [list] に reference を指定する 指定した reference で参照されているバージョンのリソースのみ取得される | 200 OK | Bundle 全タイプの [list] で指定されたバージョンのリソース |
10 | GET [base]/_history | 未検出 | リソースが存在しない状態で実行する または、HTTP ヘッダー Accept にサーバでサポートされていない FHIR バージョンを指定する | 404 Not Found | OperationOutcome | |
11 | GET [base]/_history | 受理できない | HTTP ヘッダー Accept にサーバでサポートされていないフォーマット(MIME タイプ)を指定する | 406 Not Acceptable | なし |
terminology
関連リソース(説明対象のみ抜粋)
- CodeSystem https://www.hl7.org/fhir/r4/terminologies-systems.html#4.3.0
- ValueSet https://www.hl7.org/fhir/r4/terminologies-valuesets.html#4.4.0
- ConceptMap https://www.hl7.org/fhir/r4/terminologies-conceptmaps.html#4.5
各オペレーション(説明対象のみ抜粋)
- CodeSystem https://hl7.org/fhir/r4/codesystem-operations.html#4.8.21 $lookup $subsumes $validate-code
- ValueSet https://hl7.org/fhir/r4/valueset-operations.html#4.9.15 $expand $validate-code
- ConceptMap https://hl7.org/fhir/r4/conceptmap-operations.html#4.10.15 $translate
GET
No | Interaction | Remarks | summary | operation | expectation | expectation |
---|---|---|---|---|---|---|
1 | GET [base]/CodeSystem/$lookup?system=http://hl7.org/fhir/CodeSystem/example&code=chol-mass | 指定コードの概念の詳細情報を取得 | 200 OK | |||
2 | GET [base]/CodeSystem/$subsumes?system=http://hl7.org/fhir/goal-status&codeA=accepted&codeB=accepted | コード A と B の包摂関係をテストする | 200 OK | |||
3 | GET [base]/CodeSystem/[id]/$subsumes?system=http://hl7.org/fhir/goal-status&codeA=accepted&codeB=accepted | 200 OK | ||||
4 | GET [base]/CodeSystem/[id]/$validate-code?url=http://hl7.org/fhir/CodeSystem/example&code=chol-mass | コード化された値の検証 | 200 OK | |||
5 | GET [base]/ValueSet/$expand?url=http://hl7.org/fhir/ValueSet/example | コンセプトセットに ValueSet を展開する | 200 OK | |||
6 | GET [base]/ValueSet/$validate-code?system=http://loinc.org&code=14647-2 | コード化された値の検証 | 200 OK | |||
7 | GET [base]/ValueSet/[id]/$validate-code?system=http://loinc.org&code=14647-2 | 200 OK | ||||
8 | GET [base]/ConceptMap/$translate?system=http://hl7.org/fhir/address-use&code=home&source=http://hl7.org/fhir/ValueSet/address-use&target=http://terminology.hl7.org/ValueSet/v3-AddressUse | バリューセット間でのコードの変換 | 200 OK | |||
9 | GET [base]/ConceptMap/[id]/$translate?system=http://hl7.org/fhir/address-use&code=home&source=http://hl7.org/fhir/ValueSet/address-use&target=http://terminology.hl7.org/ValueSet/v3-AddressUse | 200 OK |
POST
No | Interaction | Remarks | summary | operation | expectation | expectation |
---|---|---|---|---|---|---|
1 | POST [base]/CodeSystem/$lookup | 指定コードの概念の詳細情報を取得 | request body に Parameters をセットする | 200 OK | ||
2 | POST [base]/CodeSystem/$subsumes | コード A と B の包摂関係をテストする | request body に Parameters をセットする | 200 OK | ||
3 | POST [base]/CodeSystem/$validate-code | コード化された値の検証 | request body に Parameters をセットする | 200 OK | ||
4 | POST [base]/ValueSet/$expand | コンセプトセットに ValueSet を展開する | request body に Parameters をセットする | 200 OK | ||
5 | POST [base]/ValueSet/$validate-code | コード化された値の検証 | request body に Parameters をセットする | 200 OK | ||
6 | POST [base]/ConceptMap/$translate | バリューセット間でのコードの変換 | request body に Parameters をセットする | 200 OK |
エラー系
No | Interaction | Remarks | summary | operation | expectation | expectation |
---|---|---|---|---|---|---|
1 | GET [base]/CodeSystem/$example | 存在しないオペレーション | 存在しないオペレーションを指定 | 400 Bad Request | OperationOutcome | |
2 | GET [base]/CodeSystem/$lookup?system=http://hl7.org/fhir/CodeSystem/example&code=XXXX | 存在しない code | 存在しない code を指定 | 400 Bad Request | OperationOutcome | |
3 | GET [base]/CodeSystem/$subsumes?system=http://hl7.org/fhir/goal-status&codeA=accepted&codeB=accepted | 受理できない | HTTP ヘッダー Accept にサーバでサポートされていないフォーマット(MIME タイプ)を指定する | 406 Not Acceptable | なし | |
4 | POST [base]/CodeSystem/$lookup | リクエストが不正である | バリデーションルールに違反するリソースを request body にセットする | 400 Bad Request | OperationOutcome | |
5 | POST POST [base]/ValueSet/$expand | 未検出 | HTTP ヘッダー Accept にサーバでサポートされていない FHIR バージョンを指定する | 404 Not Found | OperationOutcome | |
6 | POST [base]/ValueSet/$validate-code | 受理できない | HTTP ヘッダー Accept にサーバでサポートされていないフォーマット(MIME タイプ)を指定する | 406 Not Acceptable | なし | |
7 | POST [base]/ConceptMap/$translate | サポートしていないメディアタイプ | HTTP ヘッダー Content-Type に text/html を指定する | 415 Unsupported Media Type | OperationOutcome |
カスタムオペレーション
No | Interaction | Remarks | summary | operation | expectation | expectation |
---|---|---|---|---|---|---|
1 | POST [base]/CodeSystem/$upload-code-system ・入力パラメータ system:コードシステムの URL kind:0 ・Content-Type text/csv; charset=Shift_JIS | csv | CodeSystem アップロード | csv ファイルのアップロード | 200 OK | |
2 | POST [base]/CodeSystem/$upload-code-system ・入力パラメータ system:コードシステムの URL kind:1 ・Content-Type application/zip; charset=Shift_JIS | zip | CodeSystem アップロード | zip ファイルのアップロード | 200 OK | |
3 | POST [base]/CodeSystem/$upload-code-system ・入力パラメータ system:コードシステムの URL kind:2 category:0(病名基本テーブル)、1(修飾語テーブル) ・Content-Type text/csv; charset=Shift_JIS | ICD10 | CodeSystem アップロード | ICD10 ファイルのアップロード | 200 OK | |
4 | POST [base]/CodeSystem/$upload-code-system ・入力パラメータ system:コードシステムの URL kind:3 ・Content-Type text/csv; charset=Shift_JIS | Hotcode | CodeSystem アップロード | Hotcode ファイルのアップロード | 200 OK | |
5 | POST [base]/CodeSystem/$upload-delta-add ・入力パラメータ system:コードシステムの URL kind:0 ・Content-Type text/csv; charset=Shift_JIS | csv | CodeSystem 差分アップロード | 既存 CodeSystem に差分を追加する | 200 OK | |
6 | POST [base]/CodeSystem/$upload-delta-add ・入力パラメータ system:コードシステムの URL kind:1 ・Content-Type application/zip; charset=Shift_JIS | zip | CodeSystem 差分アップロード | 既存 CodeSystem に差分を追加する | 200 OK | |
7 | POST [base]/CodeSystem/$upload-delta-remove ・入力パラメータ system:コードシステムの URL kind:0 ・Content-Type text/csv; charset=Shift_JIS | csv | CodeSystem 差分削除 | 既存 CodeSystem から差分を削除する | 200 OK | |
8 | POST [base]/CodeSystem/$upload-delta-remove ・入力パラメータ system:コードシステムの URL kind:1 ・Content-Type application/zip; charset=Shift_JIS | zip | CodeSystem 差分削除 | 既存 CodeSystem から差分を削除する | 200 OK | |
9 | POST [base]/ConceptMap/$import-concept-map ・入力パラメータ url:ConceptMap リソースの URL source:ソースバリューセット target;ターゲットバリューセット | csv | ConceptMap インポート | ConceptMap の csv インポート | 200 OK | |
10 | GET [base]/ConceptMap/$export-concept-map ・入力パラメータ url:ConceptMap リソースの URL ・Accept: text/csv | csv | ConceptMap エクスポート | ConceptMap の csv エクスポート | 200 OK | |
11 | GET [base]/ConceptMap/$export-concept-map ・入力パラメータ url:ConceptMap リソースの URL ・Accept: application/fhir+json | binary | ConceptMap エクスポート | ConceptMap の binary エクスポート | 200 OK |
Operations
Base Operations (All resource types)
Operation $validate on Resource
- リクエストボディに Parametersリソースが指定されている場合はURLに指定したパラメータは無視される
- パラメータに指定できる profile は package.tgz に含まれている profile だけである
- profile パラメータは指定有無に関わらず結果は同じである(package.tgz に含まれている profile が使用される)
- modeパラメータに profile は指定できない(指定するとエラーになる)
- 他のリソースから参照されているリソースであっても削除可能(mode=delete 時の動作)
- mode=delete 時、参照されないがリクエストボディが必要(POSTリクエストのため)
URL: [base]/[Resource]/$validate
No | Interaction | Remarks | summary | operation | expectation HTTP status | expectation Response Body |
---|---|---|---|---|---|---|
1 | POST [base]/Patient/$validateHttp request Body Parameters resource(Resource) mode(code) profile(uri) または Resource | 基本形 オプションパラメータ無し | request body に In Parameters(resource, mode, profile) または Resource をセットする | 200 OK | OperationOutcome | |
2 | POST [base]/Patient/$validate?mode=[Code]&profile=[URI]Http request Body Resource | 基本形 パラメータで mode, profile を指定 | request body に In Parameters(resource, mode, profile) または Resource をセットする | 200 OK | OperationOutcome | |
3 | POST [base]/Patient/$validate?_format=application/fhir+jsonHttp request Body Parameters resource(Resource) mode(code) profile(uri) または Resource | _format 指定 | request body に In Parameters(resource, mode, profile) または Resource をセットする | 200 OK | OperationOutcome | |
4 | POST [base]/Patient/$validate?_format=application/jsonHttp request Body Parameters resource(Resource) mode(code) profile(uri) または Resource | _format 指定 一般的な mime type | request body に In Parameters(resource, mode, profile) または Resource をセットする | 200 OK | OperationOutcome | |
5 | POST [base]/Patient/$validate?_pretty=trueHttp request Body Parameters resource(Resource) mode(code) profile(uri) または Resource | _pretty 指定 | request body に In Parameters(resource, mode, profile) または Resource をセットする | 200 OK | OperationOutcome | |
6 | POST [base]/Patient/$validate?_pretty=falseHttp request Body Parameters resource(Resource) mode(code) profile(uri) または Resource | _pretty 指定 | request body に In Parameters(resource, mode, profile) または Resource をセットする | 200 OK | OperationOutcome | |
7 | POST [base]/Patient/$validateHttp request Body Parameters resource(Resource) mode(code) profile(uri) | リクエストが不正である | 不正な mode を指定する | 400 Bad Request | OperationOutcome | |
8 | POST [base]/Patient/$validateHttp request Body Parameters resource(Resource) mode(code) profile(uri) または Resource | 未検出 | HTTP ヘッダー Accept にサーバでサポートされていない FHIR バージョンを指定する | 404 Not Found | OperationOutcome | |
9 | POST [base]/Patient/$validateHttp request Body Parameters resource(Resource) mode(code) profile(uri) または Resource | 受理できない | HTTP ヘッダー Accept にサーバでサポートされていないフォーマット(MIME タイプ)を指定する | 406 Not Acceptable | なし |
URL: [base]/[Resource]/[id]/$validate
※ mode=update, delete を想定
No | Interaction | Remarks | summary | operation | expectation HTTP status | expectation Response Body |
---|---|---|---|---|---|---|
1 | POST [base]/Patient/[id]/$validateHttp request Body Parameters resource(Resource) mode(code) profile(uri) または Resource | 基本形 オプションパラメータ無し | request body に In Parameters(resource, mode, profile) または Resource をセットする | 200 OK | OperationOutcome | |
2 | POST [base]/Patient/[id]/$validate?mode=[Code]&profile=[URI]Http request Body Resource | 基本形 パラメータで mode, profile を指定 | request body に In Parameters(resource, mode, profile) または Resource をセットする | 200 OK | OperationOutcome | |
3 | POST [base]/Patient/[id]/$validate?_format=application/fhir+jsonHttp request Body Parameters resource(Resource) mode(code) profile(uri) または Resource | _format 指定 | request body に In Parameters(resource, mode, profile) または Resource をセットする | 200 OK | OperationOutcome | |
4 | POST [base]/Patient/[id]/$validate?_format=application/jsonHttp request Body Parameters resource(Resource) mode(code) profile(uri) または Resource | _format 指定 一般的な mime type | request body に In Parameters(resource, mode, profile) または Resource をセットする | 200 OK | OperationOutcome | |
5 | POST [base]/Patient/[id]/$validate?_pretty=trueHttp request Body Parameters resource(Resource) mode(code) profile(uri) または Resource | _pretty 指定 | request body に In Parameters(resource, mode, profile) または Resource をセットする | 200 OK | OperationOutcome | |
6 | POST [base]/Patient/[id]/$validate?_pretty=falseHttp request Body Parameters resource(Resource) mode(code) profile(uri) または Resource | _pretty 指定 | request body に In Parameters(resource, mode, profile) または Resource をセットする | 200 OK | OperationOutcome | |
7 | POST [base]/Patient/[id]/$validateHttp request Body Parameters resource(Resource) mode(code) profile(uri) | リクエストが不正である | 不正な mode を指定する | 400 Bad Request | OperationOutcome | |
8 | POST [base]/Patient/[id]/$validateHttp request Body Parameters resource(Resource) mode(code) profile(uri) または Resource | 未検出 | HTTP ヘッダー Accept にサーバでサポートされていない FHIR バージョンを指定する | 404 Not Found | OperationOutcome | |
9 | POST [base]/Patient/[id]/$validateHttp request Body Parameters resource(Resource) mode(code) profile(uri) または Resource | 受理できない | HTTP ヘッダー Accept にサーバでサポートされていないフォーマット(MIME タイプ)を指定する | 406 Not Acceptable | なし |
Operation $meta on Resource
URL: [base]/$meta
No | Interaction | Remarks | summary | operation | expectation HTTP status | expectation Response Body |
---|---|---|---|---|---|---|
1 | GET [base]/$meta | 基本形 オプションパラメータ無し | 200 OK | Parameters | ||
2 | GET [base]/$meta?_format=application/fhir+json | _format 指定 | 200 OK | Parameters | ||
3 | GET [base]/$meta?_format=application/json | _format 指定 一般的な mime type | 200 OK | Parameters | ||
4 | GET [base]/$meta?_pretty=true | _pretty 指定 | 200 OK | Parameters | ||
5 | GET [base]/$meta?_pretty=false | _pretty 指定 | 200 OK | Parameters | ||
6 | GET [base]/$meta | 未検出 | HTTP ヘッダー Accept にサーバでサポートされていない FHIR バージョンを指定する | 404 Not Found | OperationOutcome | |
7 | GET [base]/$meta | 受理できない | HTTP ヘッダー Accept にサーバでサポートされていないフォーマット(MIME タイプ)を指定する | 406 Not Acceptable | なし |
URL: [base]/[Resource]/$meta
No | Interaction | Remarks | summary | operation | expectation HTTP status | expectation Response Body |
---|---|---|---|---|---|---|
1 | GET [base]/Patient/$meta | 基本形 オプションパラメータ無し | 指定した type(Patient)のリソースが存在する状態で実施する | 200 OK | Parameters | |
2 | GET [base]/Patient/$meta?_format=application/fhir+json | _format 指定 | 指定した type(Patient)のリソースが存在する状態で実施する | 200 OK | Parameters | |
3 | GET [base]/Patient/$meta?_format=application/json | _format 指定 一般的な mime type | 指定した type(Patient)のリソースが存在する状態で実施する | 200 OK | Parameters | |
4 | GET [base]/Patient/$meta?_pretty=true | _pretty 指定 | 指定した type(Patient)のリソースが存在する状態で実施する | 200 OK | Parameters | |
5 | GET [base]/Patient/$meta?_pretty=false | _pretty 指定 | 指定した type(Patient)のリソースが存在する状態で実施する | 200 OK | Parameters | |
6 | GET [base]/Patient/$meta | 未検出 | HTTP ヘッダー Accept にサーバでサポートされていない FHIR バージョンを指定する | 404 Not Found | OperationOutcome | |
7 | GET [base]/Patient/$meta | 受理できない | HTTP ヘッダー Accept にサーバでサポートされていないフォーマット(MIME タイプ)を指定する | 406 Not Acceptable | なし |
URL: [base]/[Resource]/[id]/$meta
No | Interaction | Remarks | summary | operation | expectation HTTP status | expectation Response Body |
---|---|---|---|---|---|---|
1 | GET [base]/Patient/[id]/$meta | 基本形 オプションパラメータ無し | [id]に存在するリソースの id を指定する | 200 OK | Parameters | |
2 | GET [base]/Patient/[id]/$meta?_format=application/fhir+json | _format 指定 | [id]に存在するリソースの id を指定する | 200 OK | Parameters | |
3 | GET [base]/Patient/[id]/$meta?_format=application/json | _format 指定 一般的な mime type | [id]に存在するリソースの id を指定する | 200 OK | Parameters | |
4 | GET [base]/Patient/[id]/$meta?_pretty=true | _pretty 指定 | [id]に存在するリソースの id を指定する | 200 OK | Parameters | |
5 | GET [base]/Patient/[id]/$meta?_pretty=false | _pretty 指定 | [id]に存在するリソースの id を指定する | 200 OK | Parameters | |
6 | GET [base]/Patient/[id]/$meta | 未検出 | [id]に存在しないリソースの id を指定する または HTTP ヘッダー Accept にサーバでサポートされていない FHIR バージョンを指定する | 404 Not Found | OperationOutcome | |
7 | GET [base]/Patient/[id]/$meta | 受理できない | HTTP ヘッダー Accept にサーバでサポートされていないフォーマット(MIME タイプ)を指定する | 406 Not Acceptable | なし |
URL: [base]/[Resource]/[id]/$meta-add
No | Interaction | Remarks | summary | operation | expectation HTTP status | expectation Response Body |
---|---|---|---|---|---|---|
1 | Post [base]/Patient/[id]/$meta-addHttp request Body Parameters profiles, tags, and security labels | 既存のリソースにプロファイル、タグ、セキュリティラベルを追加する | [id]に存在するリソースの id を指定する | 200 OK | Parameters |
URL: [base]/[Resource]/[id]/$meta-delete
No | Interaction | Remarks | summary | operation | expectation HTTP status | expectation Response Body |
---|---|---|---|---|---|---|
1 | Post [base]/Patient/[id]/$meta-deleteHttp request Body Parameters profiles, tags, and security labels | 既存のリソースからプロファイル、タグ、セキュリティラベルを削除する | [id]に存在するリソースの id を指定する | 200 OK | Parameters |
Operation $physical-delete on Resource
- FRUCtoS独自のカスタムオペレーションである
URL: [base]/[Resource]/[id]/$physical-delete
No | Interaction | Remarks | summary | operation | expectation HTTP status | expectation Response Body |
---|---|---|---|---|---|---|
1 | GET [base]/Patient/[id]/$physical-delete | DBから指定したリソースの現在値と履歴を削除する | [id]に存在するリソースの id を指定する | 200 OK | OperationOutcome |
Operations Defined by Resource Types
Operation $versions on CapabilityStatement
URL: [base]//$versions
No | Interaction | Remarks | summary | operation | expectation HTTP status | expectation Response Body |
---|---|---|---|---|---|---|
1 | GET [base]/$versions | 200 OK | サーバがサポートしている FHIR バージョン |
Operation $lastn on Observation
URL: [base]/Observation/$lastn
No | Interaction | Remarks | summary | operation | expectation HTTP status | expectation Response Body |
---|---|---|---|---|---|---|
1 | GET [base]/Observation/$lastn?max=3&patient=Patient/123&category=vital-signs | max、subject、category parameter指定 | maxで指定した直近n件を返す | 200 OK | Parameters | |
2 | GET [base]/Observation/$lastn?patient=Patient/123&category=laboratory | subject、category parameter指定 | maxを指定しない場合はグループの最新の値を表示 | 200 OK | Parameters | |
3 | GET [base]/Observation/$lastn?max=3&patient=Patient/123&category=vital-signs&code=9279-1,8867-4,85354-9 | max、subject、category parameter&検索パラメータ指定 | maxで指定した直近n件を返す | 200 OK | Parameters |
Operation $match on Patient
URL: [base]/Patient/$match
No | Interaction | Remarks | summary | operation | expectation HTTP status | expectation Response Body |
---|---|---|---|---|---|---|
1 | POST [base]/Patient/$matchHttp request Body Parameters resource(Resource) onlyCertainMatches(boolean) count(integer) | 対象となるリソースが存在しない場合は Response Body の Bundle.total に 0 が設定される。HTTP Status は 200 OK になる。 | 基本形 オプションパラメータ無し | request body に In Parameters(resource, onlyCertainMatches, count) をセットする | 200 OK | Bundle |
2 | POST [base]/Patient/$match?_format=application/fhir+jsonHttp request Body Parameters resource(Resource) onlyCertainMatches(boolean) count(integer) | _format 指定 | request body に In Parameters(resource, onlyCertainMatches, count) をセットする | 200 OK | Bundle | |
3 | POST [base]/Patient/$match?_format=application/jsonHttp request Body Parameters resource(Resource) onlyCertainMatches(boolean) count(integer) | _format 指定 一般的な mime type | request body に In Parameters(resource, onlyCertainMatches, count) をセットする | 200 OK | Bundle | |
4 | POST [base]/Patient/$match?_pretty=trueHttp request Body Parameters resource(Resource) onlyCertainMatches(boolean) count(integer) | _pretty 指定 | request body に In Parameters(resource, onlyCertainMatches, count) をセットする | 200 OK | Bundle | |
5 | POST [base]/Patient/$match?_pretty=falseHttp request Body Parameters resource(Resource) onlyCertainMatches(boolean) count(integer) | _pretty 指定 | request body に In Parameters(resource, onlyCertainMatches, count) をセットする | 200 OK | Bundle | |
9 | POST [base]/Patient/$matchHttp request Body Parameters onlyCertainMatches(boolean) count(integer) | リクエストが不正である | バリデーションルールに違反するリソースを request body にセットする(必須パラメータ resource をセットしない) | 400 Bad Request | OperationOutcome | |
10 | POST [base]/Patient/$matchHttp request Body Parameters resource(Resource) onlyCertainMatches(boolean) count(integer) | 未検出 | HTTP ヘッダー Accept にサーバでサポートされていない FHIR バージョンを指定する | 404 Not Found | OperationOutcome | |
12 | POST [base]/Patient/$matchHttp request Body Parameters resource(Resource) onlyCertainMatches(boolean) count(integer) | 受理できない | HTTP ヘッダー Accept にサーバでサポートされていないフォーマット(MIME タイプ)を指定する | 406 Not Acceptable | なし |
Operation-patient-everything
URL: [base]/Patient/$everything
URL: [base]/Patient/[id]/$everything
No | Interaction | Remarks | summary | operation | expectation HTTP status | expectation Response Body |
---|---|---|---|---|---|---|
1 | GET [base]/Patient/$everything | 基本形 オプションパラメータ無し | Patinetの関連リソースを全て出力 | 200 OK | Parameters | |
2 | GET [base]/Patient/[id]/$everything | ID 指定 | [id]に存在するリソースの id を指定する | 200 OK | Parameters | |
3 | GET [base]/Patient/$everything _type=[type] | _type 指定 リソースタイプ | [type]に存在するリソースの種別を指定する | 200 OK | Parameters | |
4 | GET [base]/Patient/$everything _since=[instant] | _since 指定 | [instant]に日時を指定する | 200 OK | Parameters | |
5 | GET [base]/Patient/$everything &start=[date] | 未実装 | start 指定 | [date]にcare dates指定範囲の開始日を指定する | 200 OK | Parameters |
6 | GET [base]/Patient/$everything &end=[date] | 未実装 | end 指定 | [date]にcare dates指定範囲の終了日を指定する | 200 OK | Parameters |
7 | GET [base]/Patient/$everything _count=[int] | 未実装 | _count 指定 | [int]に出力ページ数を指定する | 200 OK | Parameters |
Operation $snapshot on StructureDefinition
URL: [base]/StructureDefinition/$snapshot
URL: [base]/StructureDefinition/[id]/$snapshot
No | Interaction | Remarks | summary | operation | expectation HTTP status | expectation Response Body |
---|---|---|---|---|---|---|
1 | GET [base]/StructureDefinition/$snapshot?url=http://hl7.org/fhir/StructureDefinition/Patient ※url パラメータは例 | url パラメータは必須 指定しない場合はエラー | url 指定 | 対象の StructureDefinition を指定する | 200 OK | StructureDefinition |
2 | POST [base]/StructureDefinition/$snapshotHttp request Body | request Body は必須 指定しない場合はエラー | definition 指定 | request body に対象の StructureDefinition を指定する url パラメータは指定しても無視される | 200 OK | StructureDefinition |
3 | GET [base]/StructureDefinition/[id]/$snapshot | instance level | 対象の instance の id を [id] に指定する | 200 OK | StructureDefinition | |
4 | GET [base]/StructureDefinition/$snapshot?url=http://hl7.org/fhir/StructureDefinition/dummy ※url パラメータは例 | リクエスト不正 | 存在しない StructureDefinition を指定する | 400 Bad Request | OperationOutcome | |
5 | POST [base]/StructureDefinition/[id]/$snapshotHttp request Body | リクエスト不正 | request body に不正な StructureDefinition を指定する | 400 Bad Request | OperationOutcome | |
6 | GET [base]/StructureDefinition/[id]/$snapshot | リクエスト不正 | 存在しない [id] を指定する | 400 Bad Request | OperationOutcome |
Documents
FHIR Documents
Document Bundle 分解登録
RequestBody の個々のリソースを分解して登録する FHIR 標準に基づく FRUCtoS 独自の拡張機能
※ 参考 Document Bundleの分解登録
URL: POST [base]
No | Interaction | Remarks | summary | operation | expectation HTTP status | expectation Response Body |
---|---|---|---|---|---|---|
1 | POST [base]Http request Body | 基本形 オプションパラメータ無し | request body に Bundle(type.document)をセットする | 200 OK | 処理結果 Bundle type.transaction-response | |
2 | POST [base]?_format=application/fhir+jsonHttp request Body | _format 指定 | request body に Bundle(type.document)をセットする | 200 OK | 処理結果 Bundle type.transaction-response | |
3 | POST [base]?_format=application/jsonHttp request Body | _format 指定 一般的な mime type | request body に Bundle(type.document)をセットする | 200 OK | 処理結果 Bundle type.transaction-response | |
4 | POST [base]?_pretty=trueHttp request Body | _pretty 指定 | request body に Bundle(type.document)をセットする | 200 OK | 処理結果 Bundle type.transaction-response | |
5 | POST [base]?_pretty=falseHttp request Body | _pretty 指定 | request body に Bundle(type.document)をセットする | 200 OK | 処理結果 Bundle type.transaction-response | |
6 | POST [base]Http request HEADER Prefer: return=minimal Http request Body | HTTP return preference 指定 | request body に Bundle(type.document)をセットする | 200 OK | 処理結果 Bundle type.transaction-response | |
7 | POST [base]Http request HEADER Prefer: return=representation Http request Body | HTTP return preference 指定 | request body に Bundle(type.document)をセットする | 200 OK | 処理結果 Bundle type.transaction-response | |
8 | POST [base]Http request HEADER Prefer: return=OperationOutcome Http request Body | HTTP return preference 指定 | request body に Bundle(type.document)をセットする | 200 OK | 処理結果 Bundle type.transaction-response | |
9 | POST [base]Http request Body | 未検出 | HTTP ヘッダー Accept にサーバでサポートされていない FHIR バージョンを指定する | 404 Not Found | OperationOutcome | |
10 | POST [base]Http request Body | 受理できない | HTTP ヘッダー Accept にサーバでサポートされていないフォーマット(MIME タイプ)を指定する | 406 Not Acceptable | なし | |
11 | POST [base]Http request Body | サポートしていないメディアタイプ | HTTP ヘッダー Content-Type に text/html を指定する | 415 Unsupported Media Type | OperationOutcome | |
12 | POST [base]Http request Body | リクエストが不正である | request body の Bundle でリソースの参照不整合を発生させる | 400 Bad Request | OperationOutcome | |
13 | POST [base]Http request Body | 前提条件で失敗した | request body の Bundle で entry リソースの identifier を複数のリソースに一致させる | 412 Precondition Failed | OperationOutcome |