感染症届出様式とそれに基づく届出書 FHIR仕様書
1.0.0 - trial-use Japan

感染症届出様式とそれに基づく届出書 FHIR仕様書 - Local Development build (v1.0.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

感染症届け(個票) FHIR 記述仕様書 案

項目内容
定義URL http://jpfhir.jp/fhir/eInfectionReport/ImplementationGuide/eInfectionReport
Version 1.0.0
Name

eInfectionReportImplementationGuide

Title

感染症届出様式とそれに基づく届出書 FHIR仕様書

Status Draft ( 2024-05-09 )
Copyright

Copyright, The Department of Bio-Medical Informatics, The University of Tokyo. CC(Creative Commons license) BY-ND CC表示・改変禁止

 改訂Ver. 0.9 (2023.5.31)

感染症届出様式 HL7FHIR記述仕様 案

本仕様書の位置づけ

この仕様書は、HL7FHIR(以下、単に「FHIR」という)に準拠した感染症届出様式と届出の記述仕様を記述した文書であり、令和4年度厚生労働行政推進調査事業費補助金(地域医療基盤開発推進研究事業) 「次世代の医療情報の標準規格への改定等に関する研究(21IA2014)」(研究代表者:東京大学 大江和彦)により実施された。

また、本仕様書の作成にあたって、ベースとした仕様には、FHIRR4に修正を加えたVer.4.0.1(Oct-30,2019)のQuestionnaireリソースとQuestionnaireResponseリソースを採用している。

参照する仕様等

本仕様書は、以下の仕様等を参照して作成されている。 HL7FHIRR4Ver.4.0.1[http://hl7.org/fhir/index.html] 本仕様書ではFHIR基底仕様という。

文書データの表現形式

ファイル形式

ファイル形式は、JSON形式(JavaScriptObjectNotation:RFC8259、IETFSTD90、ECMA-4042ndedition)とする。 ファイル名を有するファイルを作成する場合には、特に送受信施設間で別の取り決めがない限り、.jsonの拡張子を末尾に付与するものとする。 ###文字集合 文字集合はUnicode文字セットとする。これはISO/IEC10646:2017(JIS X0221国際符号化文字集合)と同一である。 ###符号化形式 文字符号化形式は、UTF-8(ISO/IEC10646 UCSTransformationFormat8)とする。ネットワーク上で直接データを送受信することを想定し、バイト順マーク(BOM:byteordermark:UTF-8では0xEF0xBB0xBF)を先頭に付与しないものとする。

感染症届出様式の全体構造

届出様式

届出様式は、Questionnaireリソースのインスタンスファイルとして記述される。

届出票

QuestionnaireResponseリソースのインスタンスファイルとして記述される。

届出様式 FHIRプロファイルの生成

  • 届出様式 FHIRプロファイルは、以下の手順で作成される。
  • 1)エクセルシートに規定の方法で、既存の届出様式の構造を記述する。これをタブ区切りのテキストデータとして保存する。
  • 2)開発されたpythonプログラムにより、このタブ区切りテキストデータを読み込み、届出様式は、Questionnaireリソースのインスタンスファイル、およびQuestionnaireResponseのプロファイルのFSH言語[https://build.fhir.org/ig/HL7/fhir-shorthand/]によるファイルに自動変換される。
  • 3)FSHファイルは、FHIRにより提供されている sushi コマンド[https://github.com/FHIR/sushi]を実行することにより、json形式のFHIRリソースファイルに自動変換される。
  • 4)同様の方法でサンプル報告書のjsonファイルを作成する。
  • 5)サンプル報告書のjsonファイルは、FHIRにより提供されているValidatorにより、3)で作成されたFHIRリソースファイルをプロファイルとしてVadateできる。

届出様式作成のための仕様

作成フローの概略


主要プロセスのWebサービス化の方針

作成フローの概略で示すプロセスのうち、自動化可能な変換処理と生成ファイルの検証(Validatoin)処理は、Webサービス化を予定している。これにより、エクセルファイルをアプロードするだけで、最終生成ファイルを取得することができるようになり、変換作業の2)以降は不要となる。

1)エクセルシートによる定義の作成

エクセル定義表の作成方法は以下のページで説明する。

定義ファイルの例

2) 変換作業の手順

以降の変換プログラムの実行環境の準備
  • FHIRにより提供されている sushi コマンド[https://github.com/FHIR/sushi] が実行できるようにインストールを行う。Webで検索すればm日本語での解説ページなども存在するので参照のこと。Windows、MacOSXともに使用可能。
先頭の$はOSのターミナルソフト等(Windowsではコマンドプロンプトなど)のプロンプト文字なので入力しない。
sushi コマンドをインストールを終えたあとの最初の作業の履歴例を以下に示す(プロジェクトの初期化).
myHome/work のフォルダ上での作業と仮定する。

$ sushi . init
╭───────────────────────────────────────────────────────────╮
│ This interactive tool will use your answers to create a   │
│ working SUSHI project configured with your project's      │
│ basic information.                                        │
╰───────────────────────────────────────────────────────────╯

Name (Default: ExampleIG): infectionReport
Id (Default: fhir.example): infectionReportWork
Canonical (Default: http://example.org): http://infectionReportWork
Status (Default: draft): 
Version (Default: 0.1.0): 
Publisher Name (Default: Example Publisher): myName
Publisher Url (Default: http://example.org/example-publisher): http://myName
Initialize SUSHI project in myHome/work/infectionReport? [y/n]: y
Downloading publisher scripts from https://github.com/HL7/ig-publisher-scripts
(node:34671) Warning: Accessing non-existent property 'INVALID_ALT_NUMBER' of module exports inside circular dependency
(Use `node --trace-warnings ...` to show where the warning was created)
(node:34671) Warning: Accessing non-existent property 'INVALID_ALT_NUMBER' of module exports inside circular dependency

╭───────────────────────────────────────────────────────────╮
│ Project initialized at: ./infectionReport                 │
├───────────────────────────────────────────────────────────┤
│ Now try this:                                             │
│                                                           │
│ > cd infectionReport                                      │
│ > sushi .                                                 │
│                                                           │
│ For guidance on project structure and configuration see   │
│ the SUSHI documentation: https://fshschool.org/docs/sushi │
╰───────────────────────────────────────────────────────────╯

上記の一連の作業を終えると、次のような構成でフォルダ、設定ファイルが myHome/work の下に出来上がっている。

infectionReport/
├── _genonce.bat
├── _genonce.sh
├── _updatePublisher.bat
├── _updatePublisher.sh
├── ig.ini
├── input
│   ├── fsh
│   │   └── patient.fsh
│   ├── ignoreWarnings.txt
│   └── pagecontent
│       └── index.md
└── sushi-config.yaml
  • sushiコマンドが正常に実行できることを確認する
$ sushi .
  :
  :
最後の行に下記の表示が枠内に表示されれば問題ない。   
|ランダムメッセージ | 0 Errors  |  0 Warnings |
  • python version3 を実行できるようにインストールを行う。
感染症届出様式FHIR仕様の共通プロファイルをダウンロード 
  • 提供される感染症届出様式FHIR仕様の共通プロファイル一式をダウンロード(準備中)して、infectionReport/input/fsh/フォルダ内に格納する 注意:現時点では腸管出血性大腸菌感染症、急性脳症の2つ用の一式なので、他の感染症届出定義を作成しても不足するCodeSystemとValueSetがあるため動作しない。
届出様式をFSH言語でのFHIR仕様データに変換

以下の例で前提とする環境

  • python version3の起動は、python で実行できる環境
  • 変換プログラム:convertDef2IRQuestionnaireFish.py が infectionReport/pythonScriptフォルダにある。
  • 定義ファイル:腸管出血性大腸菌感染症のEHEC.tsvがsheetFormatフォルダにある。
  • 出力場所:infectionReport/input/fshフォルダに変換結果を出力する(このフォルダは上記までの作業で作成されているはず)
  • 作業にあたって、まずinfectionReportフォルダに移動

■ 腸管出血性大腸菌感染症の届出様式のFHIR のQuestionnaireリソースに変換する。
プログラム名:convertDef2IRQuestionnaireFish.py
入力定義ファイル:EHEC.tsv
FSH出力ファイル:Q_EHEC_eInfectionReportTemplate.fsh
FHIR出力ファイル:fsh-generated/resource/Questionnaire-EInfectionReport-EHEC-Questionnaire-test.json

  • 出力ファイル:腸管出血性大腸菌感染症 届出様式[EInfectionReport-EHEC-Questionnaire-test] -(参考) 出力ファイル:急性脳炎 届出様式[EInfectionReport-IAE-Questionnaire-test]
    • FHIR出力ファイル:fsh-generated/resource/Questionnaire-EInfectionReport-IAE-Questionnaire-test.json)
$ python pythonScript/convertDef2IRQuestionnaireFish.py sheetFormat/EHEC.tsv >input/fsh/Q_EHEC_eInfectionReportTemplate.fsh
$ sushi .
  • 上記の実行により、出力フォルダ(infectionReport/input/fsh)に、Q_EHEC_eInfectionReport.fsh が作成される。このファイルは、腸管出血性大腸菌感染症の届出個票様式をFHIR のQuestionnaireリソースのインスタンスである。あくまで届出様式のFHIRリソースであり、個別症例の届出データではない。

■ 腸管出血性大腸菌感染症の届出個票様式に従った症例届けデータFHIR定義プロファイル QuestionnaireResponseプロファイル(StructureDefinition)に変換する。
プログラム名:convertDef2IRProfileFish.py
入力定義ファイル:EHEC.tsv
出力ファイル:JP_QR_eInfectionReportProfiles_EHEC.fsh

  • 出力ファイル:[EInfectionReport-EHEC-Questionnaire-test]
    $ python pythonScript/convertDef2IRProfileFish.py sheetFormat/EHEC.tsv >input/fsh/profiles/JP_QR_eInfectionReportProfiles_EHEC.fsh
    $ sushi .
    
症例の届出個票FHIR データ(個別症例の届出データ)を生成

 <エクセルシートデータからの変換プログラムは作成中>

  • 腸管出血性大腸菌感染症の届出個票のFHIR データ(個別症例の届出データ(FHIR形式)のサンプルEInfectionReport-EHEC-Example-01
{
  "resourceType": "QuestionnaireResponse",
  "id": "EInfectionReport-EHEC-Example-01",
  "meta": {
    "profile": [
      "http://jpfhir.jp/fhir/eInfectionReport/StructureDefinition/JP_QResponse_eInfectionReport_EHEC"
    ]
  },
  "questionnaire": "http://jpfhir.jp/fhir/eInfectionReport/mhlw/Questionnaire/JP_Questionnaire_eInfectionReport_EHEC",
  "identifier": {
    "system": "http://jpfhir.jp/fhir/core/IdSystem/resourceInstance-identifier",
    "value": "1311234567-20230531-0001"
  },
  "status": "completed",
  "authored": "2023-05-31",
  "item": [
    {
      "linkId": "block_Header",
      "text": "届出元情報",
      "item": [
        {
          "linkId": "i0_1",
          "text": "報告年月日",
          "answer": [
            {
              "valueDate": "2023-05-31"
            }
          ]
        },
        {
          "linkId": "i0_2",
          "text": "医師氏名",
          "answer": [
            {
              "valueString": "河野 和男"
            }
          ]
        },
        {
          "linkId": "i0_3",
          "text": "従事する病院・診療所の名称",
          "answer": [
            {
              "valueString": "東京中央病院"
            }
          ]
        },
        {
          "linkId": "i0_4",
          "text": "上記病院・診療所の所在地",
          "answer": [
            {
              "valueString": "東京都港区海岸1-1-1"
            }
          ]
        },
        {
          "linkId": "i0_5",
          "text": "電話番号",
          "answer": [
            {
              "valueString": "03-1234-1234"
            }
          ]
        }
      ]
    },
    {
      "linkId": "block_Subject",
      "text": "当該者情報",
      "item": [
        {
          "linkId": "i1_1",
          "text": "診断(検案)した者(死体)の類型",
          "answer": [
            {
              "valueCoding": {
                "code": "01",
                "system": "http://jpfhir.jp/fhir/eInfectionReport/CodeSystem/subjectClass_CS",
                "display": "患者(確定例)"
              }
            }
          ]
        },
        {
          "linkId": "i1_2",
          "text": "当該者氏名",
          "answer": [
            {
              "valueString": "田中 太郎"
            }
          ]
        },
        {
          "linkId": "i1_3",
          "text": "性別",
          "answer": [
            {
              "valueCoding": {
                "code": "male",
                "system": "http://hl7.org/fhir/administrative-gender",
                "display": "Male"
              }
            }
          ]
        },
        {
          "linkId": "i1_4",
          "text": "生年月日",
          "answer": [
            {
              "valueDate": "1960-01-02"
            }
          ]
        },
        {
          "linkId": "i1_5",
          "text": "診断時の年齢(0歳は月齢)",
          "answer": [
            {
              "valueInteger": 63
            }
          ]
        },
        {
          "linkId": "i1_6",
          "text": "当該者職業",
          "answer": [
            {
              "valueString": "無職"
            }
          ]
        },
        {
          "linkId": "i1_7-1",
          "text": "当該者住所",
          "answer": [
            {
              "valueString": "東京都文京区本郷1-2-3"
            }
          ]
        },
        {
          "linkId": "i1_7-2",
          "text": "当該者住所の電話",
          "answer": [
            {
              "valueString": "03-9999-1234"
            }
          ]
        },
        {
          "linkId": "i1_8-1",
          "text": "当該者所在地",
          "answer": [
            {
              "valueString": "住所に同じ"
            }
          ]
        },
        {
          "linkId": "i1_8-2",
          "text": "当該者所在地の電話",
          "answer": [
            {
              "valueString": "同上"
            }
          ]
        }
      ]
    },
    {
      "linkId": "block_Contents",
      "text": "届出内容",
      "item": [
        {
          "linkId": "i1_11",
          "text": "症状",
          "answer": [
            {
              "valueCoding": {
                "code": "Y",
                "system": "http://jpfhir.jp/fhir/core/CodeSystem/JP_eQuestionaire_YesNo_CS"
              },
              "item": [
                {
                  "linkId": "i1_11_1",
                  "text": "症状選択肢",
                  "answer": [
                    {
                      "valueCoding": {
                        "code": "01",
                        "system": "http://jpfhir.jp/fhir/eInfectionReport/CodeSystem/JP_eInfectionReport_EHEC_symptom_CS"
                      }
                    },
                    {
                      "valueCoding": {
                        "code": "03",
                        "system": "http://jpfhir.jp/fhir/eInfectionReport/CodeSystem/JP_eInfectionReport_EHEC_symptom_CS"
                      }
                    },
                    {
                      "valueCoding": {
                        "code": "98",
                        "system": "http://jpfhir.jp/fhir/eInfectionReport/CodeSystem/JP_eInfectionReport_EHEC_symptom_CS"
                      }
                    }
                  ]
                },
                {
                  "linkId": "i1_11_2",
                  "text": "その他の症状",
                  "answer": [
                    {
                      "valueString": "高熱"
                    },
                    {
                      "valueString": "頭痛"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "linkId": "i1_12",
          "text": "診断方法",
          "item": [
            {
              "linkId": "i1_12_1",
              "text": "分離・同定による病原体の検出、かつ、分離菌における次の1、2いずれかによるベロ毒素の確認(1毒素産生 2PCR法等による毒素遺伝子 )",
              "item": [
                {
                  "linkId": "i1_12_1_1",
                  "text": "1:毒素産生 2:PCR法等による毒素遺伝子",
                  "answer": [
                    {
                      "valueCoding": {
                        "code": "01",
                        "system": "http://jpfhir.jp/fhir/eInfectionReport/CodeSystem/JP_eInfectionReport_EHEC_dxsource_CS"
                      }
                    },
                    {
                      "valueCoding": {
                        "code": "02",
                        "system": "http://jpfhir.jp/fhir/eInfectionReport/CodeSystem/JP_eInfectionReport_EHEC_dxsource_CS"
                      }
                    }
                  ]
                },
                {
                  "linkId": "i1_12_1_2",
                  "text": "検体:便・その他( )",
                  "item": [
                    {
                      "linkId": "i1_12_1_2_1",
                      "text": "検体:便",
                      "answer": [
                        {
                          "valueCoding": {
                            "code": "Y",
                            "system": "http://jpfhir.jp/fhir/core/CodeSystem/JP_eQuestionaire_YesNo_CS"
                          }
                        }
                      ]
                    }
                  ]
                },
                {
                  "linkId": "i1_12_1_3",
                  "text": "O血清群:O( )・不明",
                  "item": [
                    {
                      "linkId": "i1_12_1_3_2",
                      "text": "O血清群:不明",
                      "answer": [
                        {
                          "valueCoding": {
                            "code": "U",
                            "system": "http://jpfhir.jp/fhir/core/CodeSystem/JP_eQuestionaire_Unknown_CS"
                          }
                        }
                      ]
                    }
                  ]
                },
                {
                  "linkId": "i1_12_1_4",
                  "text": "H血清群:H( )・不明",
                  "item": [
                    {
                      "linkId": "i1_12_1_4_1",
                      "text": "H血清群:H( )",
                      "answer": [
                        {
                          "valueString": "123陽性"
                        }
                      ]
                    }
                  ]
                },
                {
                  "linkId": "i1_12_1_5",
                  "text": "ベロ毒素:VT1VT2 ・VT1 ・VT2 ・VT(型不明)",
                  "answer": [
                    {
                      "valueCoding": {
                        "code": "VT2",
                        "system": "http://jpfhir.jp/fhir/eInfectionReport/CodeSystem/JP_eInfectionReport_EHEC_verotoxintype_CS"
                      }
                    }
                  ]
                }
              ]
            },
            {
              "linkId": "i1_12_2",
              "text": "便でのベロ毒素の検出(HUS 発症例に限る)",
              "answer": [
                {
                  "valueBoolean": false
                }
              ]
            },
            {
              "linkId": "i1_12_3",
              "text": "血清でのO抗原凝集抗体又は抗ベロ毒素抗体の検出(HUS発症例に限る)",
              "answer": [
                {
                  "valueBoolean": false
                }
              ]
            },
            {
              "linkId": "i1_12_4",
              "text": "その他の方法",
              "answer": [
                {
                  "valueString": "検査センター委託",
                  "item": [
                    {
                      "linkId": "i1_12_4_1",
                      "text": "検体( )",
                      "answer": [
                        {
                          "valueString": "便"
                        }
                      ]
                    },
                    {
                      "linkId": "i1_12_4_2",
                      "text": "結果( )",
                      "answer": [
                        {
                          "valueString": "陽性"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "linkId": "i1_13",
          "text": "初診年月日",
          "answer": [
            {
              "valueDate": "2023-04-30"
            }
          ]
        },
        {
          "linkId": "i1_14",
          "text": "診断(検案)年月日",
          "answer": [
            {
              "valueDate": "2023-04-30"
            }
          ]
        },
        {
          "linkId": "i1_15",
          "text": "感染したと推定される年月日",
          "answer": [
            {
              "valueDate": "2023-04-27"
            }
          ]
        },
        {
          "linkId": "i1_16",
          "text": "発病年月日",
          "answer": [
            {
              "valueDate": "2023-04-28"
            }
          ]
        },
        {
          "linkId": "i1_17",
          "text": "死亡年月日"
        },
        {
          "linkId": "i1_18",
          "text": "感染原因・感染経路・感染地域",
          "item": [
            {
              "linkId": "i1_18_1",
              "text": "感染原因・感染経路(確定・推定)",
              "answer": [
                {
                  "valueCoding": {
                    "code": "CONFIRMED",
                    "system": "http://jpfhir.jp/fhir/core/CodeSystem/JP_eQuestionaire_Likelihood_CS"
                  },
                  "item": [
                    {
                      "linkId": "i1_18_1_1",
                      "text": "経口感染(飲食物の種類・状況:)",
                      "answer": [
                        {
                          "valueString": "牛乳"
                        }
                      ]
                    },
                    {
                      "linkId": "i1_18_1_2",
                      "text": "接触感染(接触した人・物の種類・状況:)"
                    },
                    {
                      "linkId": "i1_18_1_3",
                      "text": "動物・蚊・昆虫等からの感染(動物・蚊・昆虫等の種類・状況:)"
                    },
                    {
                      "linkId": "i1_18_1_4",
                      "text": "その他"
                    }
                  ]
                }
              ]
            },
            {
              "linkId": "i1_18_2",
              "text": "感染地域(確定・推定)",
              "answer": [
                {
                  "valueCoding": {
                    "code": "CONFIRMED",
                    "system": "http://jpfhir.jp/fhir/core/CodeSystem/JP_eQuestionaire_Likelihood_CS"
                  },
                  "item": [
                    {
                      "linkId": "i1_18_2_1",
                      "text": "日本国内(都道府県,市区町村)",
                      "answer": [
                        {
                          "valueString": "東京都"
                        },
                        {
                          "valueString": "港区"
                        }
                      ]
                    },
                    {
                      "linkId": "i1_18_2_2",
                      "text": "国外(国,詳細地域)"
                    }
                  ]
                }
              ]
            }
          ]
        },
        {
          "linkId": "i1_19",
          "text": "その他感染症の蔓延防止及び当該者の医療のために医師が必要と認める事項",
          "answer": [
            {
              "valueString": "特になし"
            }
          ]
        }
      ]
    }
  ]
}
症例の届出個票FHIR データのバリデーション

 作成された個票データはFHIRのバリデーションソフト(Javaプログラム validator_cli.jar)により検証できる。

$ java -jar validator_cli.jar fsh-generated/resources/QuestionnaireResponse-EInfectionReport-EHEC-Example-01.json -ig fsh-generated/resources -recurse

 :
 :
Done. Times: Loading: 00:10.977, validation: 00:00.734. Memory = 321Mb
Success: 0 errors, 0 warnings, 1 notes
  Information: All OK
$ 

仕様・プログラム策定

・東京大学 大江和彦


→topへ