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 HEADERETag= | Conditional read ※未確認 | ||||
| 11 | GET [base]/Patient/[id]Http request HEADERIf-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 HEADERIf-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 Bodyid=[id] | 基本形 オ プションパラメータ無し | [id]に存在するリソースの id を指定する request body の id に[id]と同じ値をセットする meta.versionId、meta.lastUpdated は指定しても無視される | 200 OK | 指定した id の更新後のリソース | |
| 2 | PUT [base]/Patient/[id]?_format=application/fhir+jsonHttp request Bodyid=[id] | _format 指定 | [id]に存在するリソースの id を指定する request body の id に[id]と同じ値をセットする meta.versionId、meta.lastUpdated は指定しても無視される | 200 OK | 指定した id の更新後のリソース | |
| 3 | PUT [base]/Patient/[id]?_format=application/jsonHttp request Bodyid=[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 Bodyid=[id] | _pretty 指定 プリティプリント形式による応答 | [id]に存在するリソースの id を指定する request body の id に[id]と 同じ値をセットする meta.versionId、meta.lastUpdated は指定しても無視される | 200 OK | 指定した id の更新後のリソース | |
| 5 | PUT [base]/Patient/[id]?_pretty=falseHttp request Bodyid=[id] | _pretty 指定 プリティプリント形式による応答 | [id]に存在するリソースの id を指定する request body の id に[id]と同じ値をセットする meta.versionId、meta.lastUpdated は指定しても無視される | 200 OK | 指定した id の更新後のリソース | |
| 6 | PUT [base]/Patient/[id]Http request HEADERPrefer: return=minimalHttp request Bodyid=[id] | HTTP return preference 指定 | [id]に存在するリソースの id を指定する request body の id に[id]と同じ値をセットする meta.versionId、meta.lastUpdated は指定しても無視される | 200 OK | なし | |
| 7 | PUT [base]/Patient/[id]Http request HEADERPrefer: return=representationHttp request Bodyid=[id] | HTTP return preference 指定 | [id]に存在するリソースの id を指定する request body の id に[id]と同じ値をセットする meta.versionId、meta.lastUpdated は指定しても無視される | 200 OK | 指定した id の更新後のリソース | |
| 8 | PUT [base]/Patient/[id]Http request HEADERPrefer: return=OperationOutcomeHttp request Bodyid=[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 Bodyid=[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 Bodyid=[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 HEADERIf-Match: ETagHttp request Bodyid=[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 Bodyid=[id] | 未検出 | HTTP ヘッダー Accept にサーバでサポートされていない FHIR バージョンを指定する | 404 Not Found | OperationOutcome | |
| 12 | PUT [base]/Patient/[id]Http request Bodyid=[id] | 未実装 | 許可されていないメソッド | update 対象のリソースが存在せず、サーバがクライアントの id 定義を許可しない場合 | 405 Method Not Allowed | OperationOutcome |
| 13 | PUT [base]/Patient/[id]Http request Bodyid=[id] | 受理できない | HTTP ヘッダー Accept にサーバでサポートされていないフォーマット(MIME タイプ)を指定する | 406 Not Acceptable | なし | |
| 14 | PUT [base]/Patient/[id]Http request Bodyid=[id] | サポートしていないメディアタイプ | HTTP ヘッダー Content-Type に text/html を指定する | 415 Unsupported Media Type | OperationOutcome | |
| 15 | PUT [base]/Patient/[id]Http request Bodyid=[id] | 未実装 (ビジネスルール未定) | 処理できないエンティティ | FHIR プロファイルまたはサーバーのビジネスルールに違反した場合 rejecting-updates | 422 Unprocessable Entity | OperationOutcome |
| 16 | PUT [base]/Patient/[id]Http request Bodyid=? | リクエストが不正である | 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 Bodyid=? | 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 Bodyid=? | 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 HEADERIf-Match: ETagHttp request Bodyid=? | Conditional update | 検索パラメータが無く、If-Matchヘッダーを指定している | 400 Bad Request | OperationOutcome | |
| 24 | PUT [base]/PatientHttp request HEADERHttp request Bodyid=? | Conditional update | idと検索パラメータのいずれも指定されていない | 400 Bad Request | OperationOutcome | |
| 25 | PUT [base]/Patient/[id]?[search parameters]Http request HEADERHttp request Bodyid=? | 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 HEADERPrefer: return=minimalHttp request Body | HTTP return preference 指定 | [id]に存在するリソースの id を指定する request body に更新内容をセットする JSON Patch と FHIRPath Patch の形式が指定可能 | 200 OK | なし | |
| 7 | PATCH [base]/Patient/[id]Http request HEADERPrefer: return=representationHttp request Body | HTTP return preference 指定 | [id]に存在するリソースの id を指定する request body に更新内容をセットする JSON Patch と FHIRPath Patch の形式が指定可能 | 200 OK | 指定した id の更新後のリソース | |
| 8 | PATCH [base]/Patient/[id]Http request HEADERPrefer: return=OperationOutcomeHttp request Body | HTTP return preference 指定 | [id]に存在するリソースの id を指定する request body に更新内容をセットする JSON Patch と FHIRPath Patch の形式が指定可能 | 200 OK | OperationOutcome | |
| 9 | PATCH [base]/Patient/[id]Http request HEADERIf-Match: ETagHttp 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 HEADERIf-Match: ETagHttp request Body | Conditional patch | 検索パラメータが無く、If-Match ヘッダーを指定している | 400 Bad Request | OperationOutcome | |
| 20 | PATCH [base]/PatientHttp request HEADERHttp request Body | Conditional patch | idと検索パラメータのいずれも指定されていない | 400 Bad Request | OperationOutcome | |
| 21 | PATCH [base]/Patient/[id]?[search parameters]Http request HEADERHttp 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 HEADERPrefer: return=minimalHttp request Body | HTTP return preference 指定 | request body に作成するリソースをセットする id 、 meta.versionId と meta.lastUpdated は指定しても無視される | 201 Created | なし | |
| 7 | POST [base]/PatientHttp request HEADERPrefer: return=representationHttp request Body | HTTP return preference 指定 | request body に作成するリソースをセットする id 、 meta.versionId と meta.lastUpdated は指定しても無視される | 201 Created | 作成されたリソース | |
| 8 | POST [base]/PatientHttp request HEADERPrefer: return=OperationOutcomeHttp 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 HEADERIf-None-Exist: [search parameters]Http request Body | Conditional create | search 条件に一致しない | 201 Created | 作成されたリソース | |
| 17 | POST [base]/PatientHttp request HEADERIf-None-Exist: [search parameters]Http request Body | Conditional create | search 条件に一件一致する | 200 OK | 一致したリソース ※POST リクエストは無視される | |
| 18 | POST [base]/PatientHttp request HEADERIf-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 |