Terminology関連カスタムオペレーション
機能概要
- CSV形式によるCodeSyetemのアップロード機能、及びConceptMapのインポート/エクスポート機能をサポートします。
サポートするオペレーションは以下の通りです。
$upload-code-system
- CSV形式ファイル、ZIPファイルをアップロードし、CodeSystemリソースとして取込みます。
※ ZIPファイルの中身はconcepts.csv と hierarchy.csv(オプション)
リクエスト形式
POST [base]/CodeSystem/$upload-code-system?[parameters]
- CSVファイルの場合
- Content-Type:text/csv; charset=CSVファイルの文字コード
- ZIPファイルの場合
- Content-Type:application/zip; charset=CSVファイルの文字コード
入力パラメータ
# | パラメータ名 | 多重度 | 説明 | 備考 |
---|---|---|---|---|
1 | system | 1..1 | コードシステムのURL | |
2 | version | 0..1 | コードシステムのバージョン | 指定しない場合、URLが一致しバージョンが存在しないリソースが対象 |
3 | kind | 1..1 | アップロードするファイルの種類 | 0:CSVファイル(concepts.csv) 1:ZIPファイル(concepts.csv、hierarchy.csv) 2:ICD10対応標準病名マスター(MEDIS) 3:医薬品HOTコードマスター(MEDIS) ※HOT13のみ |
4 | category | 0..1 | アップロードするファイルの分類 | ICD10対応標準病名マスターの場合必須 0:病名基本テーブル 1:修飾語テーブル |
リクエストボディ
- CSVファイルの場合
- テキストデータとして指定
- ZIPファイルの場合
- バイナリデータとして指定
※ 必須入力パラメータ(system、kind)、またはリクエストボディが指定されていない場合はエラーが返却されます。
CSVフォーマット
concepts.csv(コード一覧を記載したCSV)
CODE
:概念を識別するコードDISPLAY
:ユーザーに表示するテキスト
※ #
で始まるコメント行および空白行は無視されます。
hierarchy.csv(コードの親子関係を記載したCSV)
PARENT
:親のコンセプトコード(concept.code)CHILD
:子のコンセプトコード(concept.code)
※ #
で始まるコメント行および空白行は無視されます。
ICD10対応標準病名マスター
- MEDIS ICD10対応標準病名マスターを参照してください。
医薬品HOTコードマスター
- MEDIS 医薬品HOTコードマスターを参照してください。
例
CSVファイルの場合
リクエスト
POST [base]/CodeSystem/$upload-code-system?system=http://hl7.org/fhir/CodeSystem/example&kind=0
リクエストボディ
CODE,DISPLAY
F,完治
N,不変
W,悪化
レスポンス
{
"resourceType": "CodeSystem",
"id": "4",
"meta": {
"versionId": "4",
"lastUpdated": "2021-10-27T13:35:46.351+09:00"
},
"url": "http://hl7.org/fhir/CodeSystem/example",
"status": "active",
"content": "complete",
"concept": [
{
"code": "F",
"display": "完治"
},
{
"code": "N",
"display": "不変"
},
{
"code": "W",
"display": "悪化"
}
]
}
ZIPファイルの場合
リクエスト
POST [base]/CodeSystem/$upload-code-system?system=http://hl7.org/fhir/CodeSystem/example&kind=1
リクエストボディ
concepts.csv
CODE,DISPLAY
CHEM,化学
HB,ヘモグロビン
MICRO,微生物学
C&S,培養と感受性
C,培養
hierarchy.csv
PARENT,CHILD
CHEM,HB
MICRO,C&S
C&S,C
レスポンス
{
"resourceType": "CodeSystem",
"id": "14",
"meta": {
"versionId": "2",
"lastUpdated": "2021-10-29T16:22:17.082+09:00"
},
"url": "http://hl7.org/fhir/CodeSystem/example",
"status": "active",
"content": "complete",
"concept": [
{
"code": "CHEM",
"display": "化学",
"concept": [
{
"code": "HB",
"display": "ヘモグロビン"
}
]
},
{
"code": "MICRO",
"display": "微生物学",
"concept": [
{
"code": "C&S",
"display": "培養と感受性",
"concept": [
{
"code": "C",
"display": "培養"
}
]
}
]
}
]
}
$upload-delta-add
- CSVファイルまたはZIPファイルによる、CodeSystemリソースの差分の追加処理を実行します。
※ ZIPファイルの中身はconcepts.csv と hierarchy.csv(オプション)
POST [base]/CodeSystem/$upload-delta-add?[parameters]
- CSVファイルの場合
- Content-Type:text/csv; charset=CSVファイルの文字コード
- ZIPファイルの場合
- Content-Type:application/zip; charset=CSVファイルの文字コード
入力パラメータ
# | パラメータ名 | 多重度 | 説明 | 備考 |
---|---|---|---|---|
1 | system | 1..1 | コードシステムのURL | |
2 | version | 0..1 | コードシステムのバージョン | 指定しない場合、URLが一致しバージョンが存在しないリソースが対象 |
3 | kind | 1..1 | アップロードするファイルの種類 | 0:CSVファイル(concepts.csv) 1:ZIPファイル(concepts.csv、hierarchy.csv) |
リクエストボディ
- CSVファイルの場合
- テキストデータとして指定
- ZIPファイルの場合
- バイナリデータとして指定
※ 必須入力パラメータ(system、kind)、またはリクエストボディが指定されていない場合はエラーが返却されます。
CSVフォーマット
concepts.csv(コード一覧を記載したCSV)
CODE
:概念を識別するコードDISPLAY
:ユーザーに表示するテキスト
※ #
で始まるコメント行および空白行は無視されます。
hierarchy.csv(コードの親子関係を記載したCSV)
PARENT
:親のコンセプトコード(concept.code)CHILD
:子のコンセプトコード(concept.code)
※ #
で始まるコメント行および空白行は無視されます。
例
CSVファイルの場合
リクエスト
POST [base]/CodeSystem/$upload-delta-add?system=http://hl7.org/fhir/CodeSystem/example&kind=0
リクエストボディ
concepts.csv
CODE,DISPLAY
R,軽快
S,後遺症残
レスポンス
{
"resourceType": "CodeSystem",
"id": "4",
"meta": {
"versionId": "5",
"lastUpdated": "2021-10-27T13:37:43.015+09:00"
},
"url": "http://hl7.org/fhir/CodeSystem/example",
"status": "active",
"content": "complete",
"concept": [
{
"code": "F",
"display": "完治"
},
{
"code": "N",
"display": "不変"
},
{
"code": "W",
"display": "悪化"
},
{
"code": "R",
"display": "軽快"
},
{
"code": "S",
"display": "後遺症残"
}
]
}
ZIPファイルの場合
リクエスト
POST [base]/CodeSystem/$upload-delta-add?system=http://hl7.org/fhir/CodeSystem/example&kind=1
リクエストボディ
concepts.csv
CODE,DISPLAY
NEUT,好中球
S,感受性
hierarchy.csv
PARENT,CHILD
CHEM,NEUT
C&S,S
レスポンス
{
"resourceType": "CodeSystem",
"id": "14",
"meta": {
"versionId": "3",
"lastUpdated": "2021-10-29T16:24:50.012+09:00"
},
"url": "http://hl7.org/fhir/CodeSystem/example",
"status": "active",
"content": "complete",
"concept": [
{
"code": "CHEM",
"display": "化学",
"concept": [
{
"code": "HB",
"display": "ヘモグロビン"
},
{
"code": "NEUT",
"display": "好中球"
}
]
},
{
"code": "MICRO",
"display": "微生物学",
"concept": [
{
"code": "C&S",
"display": "培養と感受性",
"concept": [
{
"code": "C",
"display": "培養"
}
]
}
]
},
{
"code": "C&S",
"concept": [
{
"code": "S",
"display": "感受性"
}
]
}
]
}
$upload-delta-remove
- CSVファイルまたはZIPファイルによる、CodeSystemリソースの差分の削除処理を実行します。
※ZIPファイルの中身はconcepts.csv と hierarchy.csv(オプション)
POST [base]/CodeSystem/$upload-delta-remove?[parameters]
- CSVファイルの場合
- Content-Type:text/csv; charset=CSVファイルの文字コード
- ZIPファイルの場合
- Content-Type:application/zip; charset=CSVファイルの文字コード
入力パラメータ
# | パラメータ名 | 多重度 | 説明 | 備考 |
---|---|---|---|---|
1 | system | 1..1 | コードシステムのURL | |
2 | version | 0..1 | コードシステムのバージョン | 指定しない場合、URLが一致しバージョンが存在しないリソースが対象 |
3 | kind | 1..1 | アップロードするファイルの種類 | 0:CSVファイル(concepts.csv) 1:ZIPファイル(concepts.csv、hierarchy.csv) |
リクエストボディ
- CSVファイルの場合
- テキストデータとして指定
- ZIPファイルの場合
- バイナリデータとして指定
※ 必須入力パラメータ(system、kind)、またはリクエストボディが指定されていない場合はエラーが返却されます。
CSVフォーマット
concepts.csv(コード一覧を記載したCSV)
CODE
:概念を識別するコードDISPLAY
:ユーザーに表示するテキスト
※ #
で始まるコメント行および空白行は無視されます。
hierarchy.csv(コードの親子関係を記載したCSV)
PARENT
:親のコンセプトコード(concept.code)CHILD
:子のコンセプトコード(concept.code)
※ #
で始まるコメント行および空白行は無視されます。
例
CSVファイルの場合
リクエスト
POST [base]/CodeSystem/$upload-delta-remove?system=http://hl7.org/fhir/CodeSystem/example&kind=0
リクエストボディ
concepts.csv
CODE,DISPLAY
N,不変
R,軽快
レスポンス
{
"resourceType": "CodeSystem",
"id": "4",
"meta": {
"versionId": "6",
"lastUpdated": "2021-10-27T13:39:10.206+09:00"
},
"url": "http://hl7.org/fhir/CodeSystem/example",
"status": "active",
"content": "complete",
"concept": [
{
"code": "F",
"display": "完治"
},
{
"code": "W",
"display": "悪化"
},
{
"code": "S",
"display": "後遺症残"
}
]
}
ZIPファイルの場合
リクエスト
POST [base]/CodeSystem/$upload-delta-remove?system=http://hl7.org/fhir/CodeSystem/example&kind=1
リクエストボディ
concepts.csv
CODE,DISPLAY
NEUT,好中球
S,感受性
hierarchy.csv
PARENT,CHILD
CHEM,NEUT
C&S,S
レスポンス
{
"resourceType": "CodeSystem",
"id": "14",
"meta": {
"versionId": "4",
"lastUpdated": "2021-10-29T16:26:29.900+09:00"
},
"url": "http://hl7.org/fhir/CodeSystem/example",
"status": "active",
"content": "complete",
"concept": [
{
"code": "CHEM",
"display": "化学",
"concept": [
{
"code": "HB",
"display": "ヘモグロビン"
}
]
},
{
"code": "MICRO",
"display": "微生物学",
"concept": [
{
"code": "C&S",
"display": "培養と感受性",
"concept": [
{
"code": "C",
"display": "培養"
}
]
}
]
},
{
"code": "C&S"
}
]
}
$import-concept-map
- CSVファイルによる、ConceptMapリソースのインポート処理を実行します。
POST [base]/ConceptMap/$import-concept-map?[parameters]
- CSVファイル
- Content-Type:text/csv; charset=CSVファイルの文字コード
入力パラメータ
# | パラメータ名 | 多重度 | 説明 | 備考 |
---|---|---|---|---|
1 | url | 1..1 | ConceptMapリソースのURL (ConceptMap.url) | |
2 | version | 0..1 | ConceptMapリソースのバージョン (ConceptMap.version) | 指定しない場合、URLが一致しバージョンが存在しないリソースが対象 |
3 | source | 0..1 | マップされている概念を含むソースバリューセット (ConceptMap.sourceUri) | |
4 | target | 0..1 | マッピングのコンテキストを提供するターゲットバリューセット (ConceptMap.targetUri) |
リクエストボディ
- テキストデータとして指定
※ 必須入力パラメータ(url)、またはリクエストボディが指定されていない場合はエラーが返却されます。
CSVフォーマット
GROUP_SOURCE
:変換元のコードシステムGROUP_SOURCE_VERSION
:変換元のコードシステムのバージョンGROUP_TARGET
:変換先のコードシステムGROUP_TARGET_VERSION
:変換先のコードシステムのバージョンELEMENT_CODE
:変換元のコードELEMENT_DISPLAY
:変換元の表示名TARGET_CODE
:変換先のコードTARGET_DISPLAY
:変換先の表示名EQUIVALENCE
:変換元と変換先のコードシステムの同等性- 設定する値はFHIR仕様を参照
COMMENT
:マッピングの説明
注意
$import-concept-map
オペレーションでは、シングル/ダブルクォーテーションで囲んだ場合でも半角カンマ ,
はエスケープされず、区切り文字として認識されます(エスケープ機能を実装予定)。
例
リクエスト
POST [base]/ConceptMap/$import-concept-map?url=http://hl7.org/fhir/ConceptMap/101
リクエストボディ
conceptMap.csv
GROUP_SOURCE | GROUP_SOURCE_VERSION | GROUP_TARGET | GROUP_TARGET_VERSION | ELEMENT_CODE | ELEMENT_DISPLAY | TARGET_CODE | TARGET_DISPLAY | EQUIVALENCE | COMMENT |
---|---|---|---|---|---|---|---|---|---|
http://hl7.org/fhir/address-use | 4.0.1 | http://terminology.hl7.org/CodeSystem/v3-AddressUse | 2.0.0 | home | Home | H | home address | equivalent | |
http://hl7.org/fhir/address-use | 4.0.1 | http://terminology.hl7.org/CodeSystem/v3-AddressUse | 2.0.0 | work | Work | WP | work place | equivalent | |
http://hl7.org/fhir/address-use | 4.0.1 | http://terminology.hl7.org/CodeSystem/v3-AddressUse | 2.0.0 | old | Old / Incorrect | BAD | bad address | disjoint | concept-map Comment |
レスポンス
{
"resourceType": "ConceptMap",
"id": "13",
"meta": {
"versionId": "1",
"lastUpdated": "2021-10-29T14:54:26.507+09:00"
},
"url": "http://hl7.org/fhir/ConceptMap/101",
"status": "active",
"group": [
{
"source": "http://hl7.org/fhir/address-use",
"sourceVersion": "4.0.1",
"target": "http://terminology.hl7.org/CodeSystem/v3-AddressUse",
"targetVersion": "2.0.0",
"element": [
{
"code": "home",
"display": "Home",
"target": [
{
"code": "H",
"display": "home address",
"equivalence": "equivalent"
}
]
},
{
"code": "work",
"display": "Work",
"target": [
{
"code": "WP",
"display": "work place",
"equivalence": "equivalent"
}
]
},
{
"code": "old",
"display": "Old / Incorrect",
"target": [
{
"code": "BAD",
"display": "bad address",
"equivalence": "disjoint",
"comment": "concept-mapComment"
}
]
}
]
}
]
}
$export-concept-map
- ConceptMapリソースをCSV形式に変換し、CSV形式またはBinaryリソース形式でエクスポート処理を実行します。
GET [base]/ConceptMap/$export-concept-map?[parameters]
- CSV形式
- Accept:text/csv
- Binaryリソース形式
- Accept:application/fhir+json
入力パラメータ
# | パラメータ名 | 多重度 | 説明 | 備考 |
---|---|---|---|---|
1 | url | 1..1 | ConceptMapリソースのURL (ConceptMap.url) | |
2 | version | 0..1 | ConceptMapリソースのバージョン (ConceptMap.version) | 指定しない場合、URLが一致しバージョンが存在しないリソースが対象 |
※ 必須入力パラメータ(url)が指定されていない場合はエラーが返却されます。
例
リクエスト
GET [base]/ConceptMap/$export-concept-map?url=http://hl7.org/fhir/ConceptMap/101
レスポンス
CSV形式
GROUP_SOURCE,GROUP_SOURCE_VERSION,GROUP_TARGET,GROUP_TARGET_VERSION,ELEMENT_CODE,ELEMENT_DISPLAY,TARGET_CODE,TARGET_DISPLAY,EQUIVALENCE,COMMENT
http://hl7.org/fhir/address-use,4.0.1,http://terminology.hl7.org/CodeSystem/v3-AddressUse,2.0.0,home,Home,H,home address,equivalent,
http://hl7.org/fhir/address-use,4.0.1,http://terminology.hl7.org/CodeSystem/v3-AddressUse,2.0.0,work,Work,WP,work place,equivalent,
http://hl7.org/fhir/address-use,4.0.1,http://terminology.hl7.org/CodeSystem/v3-AddressUse,2.0.0,old,Old / Incorrect,BAD,bad address,disjoint,concept-mapComment
Binaryリソース形式
{
"resourceType": "Binary",
"id": "26c1ec84-7add-4617-947f-9abab237c93b",
"contentType": "text/csv",
"data": "R1JPVVBfU09VUkNFLEd[etc]"
}