2.1.2.8 JP Core Immunization(予防接種)プロファイル

2.1.2.8.1 概略


項目 内容
定義URL http://jpfhir.jp/fhir/core/StructureDefinition/JP_Immunization
バージョン 1.0.0
名前 JPCoreImmunizationProfile
タイトル JP Core Immunization Profile
ステータス アクティブ(2022-03-31)
定義 このプロファイルはImmunizationリソースに対して、予防接種のデータを送受信するための基礎となる制約と拡張を定めたものである。
公開者 FHIR® Japanese implementation research working group in Japan Association of Medical Informatics (JAMI)
Copyright FHIR® Japanese implementation research working group in Japan Association of Medical Informatics (JAMI)
ソースリソース https://simplifier.net/fhirjpigwg/jpImmunization

このプロファイルは予防接種情報をImmunizationリソースを使用して表現する。 以下、このプロファイルのImmunizationリソースを「JP Core Immunizationリソース」と呼ぶ。

予防接種のFHIR仕様に関しては、先行事例としてはデジタル庁が公開している新型コロナワクチン接種証明書アプリがあるが、スマートフォンでQRコードとして表示できるデータサイズに納めるため、記述されている情報は極めて限定的である。そこで、国内で利用されているそれ以外の予防接種関係の文書やAPIなども参考にして記述すべき項目の洗い出しや記述方法の検討を行った。具体的には、母子手帳、Yellow Card、 市町村長が有する接種記録(予防接種台帳)、ワクチン接種記録システム(VRS)、マイナポータル自己情報取得APIを参考にした。既存のImmunizationの要素で記述できない項目については、新たに拡張を定義した。

背景および想定シナリオ

本プロファイルは、以下のようなユースケースを想定している。

  • 新型コロナワクチン接種の記録を各自治体から政府に報告する
  • マイナポータルから自分自身のワクチン接種の記録を取得する
  • 個人の各種ワクチン接種の記録をPHRに記録する

スコープ

対象

このプロファイルの対象は各種ワクチンの接種情報を電子的に連携するためのメッセージを記述することである。

対象としないこと

このプロファイルはワクチン以外の一般的な注射薬剤については対象としない。一般的な注射薬剤は、JP Core MedicationRequest Injectionプロファイルで記述することとする。

2.1.2.8.2 関連するプロファイル

JP Core Immunizationリソースは、以下のリソースから直接参照される。

  • 特になし

JP Core Immunizationリソースは、以下のリソースを直接参照する。

  • JP Core Patientリソース
  • JP Core Encounterリソース
  • JP Core Practitionerリソース
  • JP Core PractitionerRoleリソース
  • JP Core Organizationリソース
  • JP Core Locationリソース
  • JP Core Conditionリソース

2.1.2.8.3 リソース定義

id
statusBinding
statusReason
vaccineCode
patient
encounter
occurrence[x]
recorded
reportOrigin
location
manufacturer
lotNumber
expirationDate
site
route
doseQuantity
performer
note
reasonCode
reasonReference
isSubpotent
subpotentReason
education
programEligibility
fundingSource
reaction
protocolApplied

必須要素

次のデータ項目は必須(データが存在しなければならない)、あるいは、データが送信システムに存在する場合はサポートされなければならないことを意味する。(Must Support)。

JP Core Immunization リソースは、次の要素を持たなければならない。

  • status
  • vaccineCode
  • patient
  • occurrence

JP Core Immunizationリソースは、次の要素をサポートしなければならない。

Extensions定義

JP Core Immunization リソースで使用される拡張は次の通りである。

JP Core Immunization独自で追加されたExtension

拡張 説明 URL 値の型
DueDateOfNextDose 次回接種予定日 http://jpfhir.jp/fhir/core/StructureDefinition/JP_Immunization_DueDateOfNextDose|dateTime|
ManufacturedDate 製造年月日 http://jpfhir.jp/fhir/core/StructureDefinition/JP_Immunization_ManufacturedDate|dateTime
CertificatedDate 検定年月日 http://jpfhir.jp/fhir/core/StructureDefinition/JP_Immunization_CertificatedDate|dateTime

既存のExtensionの利用

既存のExtensionの利用は特にない。

用語定義

HL7 FHIRの基底規格では、ワクチンコードとして CVX コードが使われているが、日本ではHOTコードやYJコードで一通り使用されているワクチンが定義されているため、国内で利用する際の用語集としては HOTコードとYJコードを採用した。それ以外の用語集の利用を妨げるものではない。

分類 名称 URI
ワクチン HOT9 urn:oid:1.2.392.200119.4.403.1
ワクチン HOT13 urn:oid:1.2.392.100495.20.2.75
ワクチン YJコード urn:oid:1.2.392.100495.20.1.73
対象疾患 MEDIS標準病名マスター病名交換用コード urn:oid:1.2.392.200119.4.101.6

JP Core Immunizationリソースの各要素のバインディングは以下の通りである。

Path 定義 バインディング強度 バリューセット
Immunization.status オーダーの現在の状態を示すコード required http://hl7.org/fhir/ValueSet/immunization-status
Immunization.vaccineCode ワクチンの識別情報 prefered HOT9,HOT13,YJコード
Immunization.site 接種部位 prefered JAMI処方・注射オーダ標準用法規格(外用部位コード)
Immunization.route 接種経路 prefered HL7 V2(使用者定義表0162)
Immunization.doseQuantity.code 接種量単位 prefered UCUM
Immunization.protocolApplied.targetDisease ワクチン対象疾患 prefered MEDIS標準病名マスター病名交換用コード

制約一覧

JP Core Immunization リソースは、以下の制約を満たさなければならない。

項目の追加

参考にしたワクチン関係の文書やAPIで扱われている項目に合わせ、以下の項目を追加した。

  • 次回接種予定日(拡張「JP_Immunization_ExpectedNextDoseDate」を使用)
  • 製造年月日(拡張「JP_Immunization_ManufacturedDate」を使用)
  • 検定年月日(拡張「JP_Immunization_TestDate」を使用)

2.1.2.8.4 利用方法

Interaction一覧

コンフォーマンス インタラクション
SHALL(必須) search-type、read
SHOULD(推奨) vread、history-instance
MAY(利用可能) create、update、patch、delete、history-type

Search Parameter一覧

コンフォーマンス パラメータ
SHALL identifier token GET [base]/Immunization?identifier=http://myhospital.com/fhir/immunization|1234567890
SHOULD patient reference GET [base]/Immunization?patient=123456
SHOULD patient,date referenece,date GET [base]/Immunization?patient=123456&date=eq2013-01-14
MAY date,lot-number date,string GET [base]/Immunization?date=eq2013-01-14
必須検索パラメータ

次の検索パラメータは必須でサポートされなければならない。

  1. identifier 検索パラメータを使用して、オーダーIDなどの識別子によるMedicationReuqestの検索をサポートしなければならない(SHALL)。

    GET [base]/Immunization?identifier={system|}[code]

    例:

    GET [base]/Immunization?identifier=http://myhospital.com/fhir/medication\|1234567890

    指定された識別子に一致するImmunizationリソースを含むBundleを検索する。

推奨検索パラメータ

次の検索パラメータをサポートすることが望ましい。

  1. patient 検索パラメータを使用して、患者のリファレンス情報によるImmunizationの検索をサポートすることが望ましい(SHOULD)。
GET [base]/Immunization?patient=[id] GET [base]/Immunization?patient=[url]

例:

GET [base]/Immunization?patient=123456

リソースIDが123456の患者のImmunizationリソースを含むBundleを検索する。

  1. patient,date 検索パラメータを使用して、患者のリファレンス情報と接種日によるImmunizationの検索をサポートすることが望ましい(SHOULD)。

    GET [base]/Immunization?patient=[id]&date=[date] GET [base]/Immunization?patient=[url]&date=[date]

    例:

    GET [base]/Immunization?patient=123456&date=eq2013-01-14

    リソースIDが123456の患者の2013-01-14に服用するImmunizationリソースを含むBundleを検索する。

Operation一覧

JP Immunization リソースに対して使用される操作は次の通りである。

  • $everything:[base]/Immunization/[id]/$everything

    • この操作が呼び出された特定のImmunizationに関連する全ての情報を返す。

Operation 詳細

$everything 操作

この操作は、この操作が呼び出された特定のImmunizationリソースに関連する全ての情報を返す。応答は "searchset" タイプのBundleリソースである。サーバは、少なくとも、識別されたImmunizationコンパートメントに含まれる全てのリソースと、それらから参照されるすべてのリソースを返すことが望ましい。

この操作の公式なURLは以下である。

http://hl7.jp/fhir/OperationDefinition/Immunization-everything

URL: [base]/Immunization/[id]/$everything

本操作は、べき等な操作である。

入力パラメータ
名前 多重度 バインディング プロファイル 説明
start 0..1 date 特定の日付範囲で提供されたケアに関連する全ての記録を意味する。開始日が指定されていない場合、終了日以前のすべてのレコードが対象に含まれる。
end 0..1 date 特定の日付範囲で提供されたケアに関連する全ての記録を意味する。終了日が指定されていない場合、開始日以降のすべてのレコードが対象に含まれる。
_since 0..1 instant 指定された日時以降に更新されたリソースのみが応答に含まれる。
_type 0..* code 応答に含むFHIRリソース型を、カンマ区切りで指定する。指定されない場合は、サーバは全てのリソース型を対象とする。
_count 0..1 integer Bundleの1ページに含まれるリソース件数を指定。
出力パラメータ
名前 多重度 バインディング プロファイル 説明
return 1..1 Bundle バンドルのタイプは"searchset"である。この操作の結果は、リソースとして直接返される。

リクエスト:単一のImmunizationに関連する全てのリソースを取得する。

GET [base]/Immunization/1234567890/$everything [some headers]

レスポンス:指定されたImmunizationに関連する全てのリソースを返す。

HTTP/1.1 200 OK [other headers] { "resourceType": "Bundle", "id": "example", "meta": { "lastUpdated": "2014-08-18T01:43:33Z" }, "type": "searchset", "entry": [ { "fullUrl": "http://example.org/fhir/Immunization/1234567890", "resource": { "resourceType": "Immunization",      ・・・     }, } ] }

サンプル

.ワクチン接種例1

Command 'link' could not render: File was not found for jp_medication_example_1.xml

ワクチン接種メッセージ作成例

具体的な内服処方箋の作成例について、上記のサンプルのそれぞれについて解説する。

ワクチン接種例1

このワクチン接種例では下記の内容をFHIRで表現する場合について解説する。

ワクチン接種の上記部分をFHIR R4で記述する場合以下のようになる。

<details>
<summary><b>FHIRでのワクチン接種例一部抜粋(クリックで展開)</b></summary>
<div>

</div>
</details>

サンプル

2.1.2.8.5 注意事項

記述の単位について

Immunizationはワクチンを vaccineCodeとして1つまでしか持つことしかできないので、ワクチン単位でImmunizationリソースを作成する。

ワクチンの種類や製剤名の記述方法について

ワクチンの種類や製剤名は Immunization.vaccineCode要素にCodeableConcept型で記述する。ワクチンを識別するコードは、HOTコード(HOT13を推奨)ないしYJコードを使用する。

"vaccineCode": {
  "coding":  [
      {
          "system": "urn:oid:1.2.392.100495.20.2.75",
          "code": "1820201040101",
          "display": "インフルエンザHAワクチン「第一三共」1mL"
      }
  ]
},

接種年月日の記述方法について

ワクチンを接種した日は Immunization.occurrenceDateTime要素にdateTime型で記述する。日付での記述が難しい場合は、Immunization.occurrenceString要素にテキストで記述してもよい。

Immunization.occurrenceDateTime要素を使用した例:

"occurrenceDateTime": "2022-03-02",

Immunization.occurrenceString要素を使用した例:

"occurrenceString": "6才頃",

記録日時の記述方法について

ワクチン接種の情報を記録した日時は Immunization.recorded要素にdateTime型で記述する。

"recorded": "2022-03-02T10:45:23+09:00",

接種場所の記述方法について

ワクチンの接種場所は Immunization.location要素にReference型でLocationリソースの参照情報を記述する。

"location" : {
    "reference" : "Location/1234"
}

製造会社の記述方法について

ワクチンの製造会社は Immunization.manufacturer要素にReference型でOrganizationリソースの参照情報を記述する。

"manufacturer" : {
    "reference" : "Organization/1234"
}

ワクチンのロット番号の記述方法について

ワクチンのロット番号は Immunization.lotNumber要素にstring型で記述する。

"lotNumber" : "FF3620",

接種部位の記述方法について

ワクチンの接種部位は Immunization.site要素に CodeableConcept型で記述する。部位を識別するコードにはJAMI処方・注射オーダ標準用法規格(外用部位コード) を推奨する

"site": {
  "coding":  [
    {
      "system": "urn:oid:1.2.392.200250.2.2.20.32",
      "code": "74L",
      "display": "左上腕"
    }
  ]
},

摂取量の記述方法について

ワクチンの接種量は Immunization.doseQuantity要素にSimpleQuantity型で記述する。全体の容量をUCUM("http://unitsofmeasure.org")を使用してmL単位で指定する。

"doseQuantity": {
  "value": 1,
  "unit": "mL",
  "system": "http://unitsofmeasure.org",
  "code": "mL"
},

接種実施者の記述方法について

ワクチンの接種実施者 Immunization.performer.actor要素にReference型でPractitionerリソースの参照情報を記述する。Immunization.performer.functionにはValueSet "http://hl7.org/fhir/ValueSet/immunization-function"から"AP" (Administering Provider)を指定する。

"performer": [
  {
    "function": {
      "coding": [
        {
          "system": "http://terminology.hl7.org/CodeSystem/v2-0443",
          "code": "AP",
          "display": "Administering Provider"
        }
      ]
    },
    "actor": {
      "reference": "Practitioner/1234"
    }
  }
],

接種を行わなかった理由の記述方法について

ワクチン接種を行わなかった理由を記述したい場合は、Immunization.reasonCode要素にCodeableConcept型で記述する。適当な標準コードが整備されていないため、ローカルコードを定義するか、CodeableConcept.text要素にテキストとして記述する。

"reasonCode": [
  {
    "text": "37.5℃以上の発熱があったため。"
  }
],