介護現場の福祉用具管理をスマート化！TAIS+モジュール (tais_plus) × Odoo の活用法

# TAIS+モジュール (tais_plus)

**オープンソース**

https://github.com/jp-one/joo-taisplus

## はじめに  
介護業界では、福祉用具の管理は業務の要となります。しかし、従来の手作業による管理では **情報のばらつき** や **入力ミス** が発生しやすく、業務負担が大きいという課題がありました。  

さらに、**令和6年7月4日付の介護サービス計画書の様式改正** により、居宅サービス計画書の様式に **「用具名称（機種名）」と「TAISコード・届出コード」** の項目が追加されました。これらの追加項目により、福祉用具貸与事業所とのデータ連携をより効率的に行うことが可能になります。  

つまり、**ケアマネ**にも**ケアプラン**作成時には、**福祉用具貸与サービスの利用**において、**TAISコードの記載**が必要になりました。

:::note info
**TAISコードとは**
TAISコードは、以下の形式で構成されています：

**例: 00001-000010**

このコードを使用することで、登録された福祉用具を簡単に検索・閲覧することができます。1つの製品には1つのTAISコードが付与され、検索画面でコードを入力することで該当製品の詳細情報を確認できます。また、企業コードのみを入力することで、その企業が提供する全製品を一括で調べることも可能です。

次のページで検索することができます。
[福祉用具情報システム（TAIS）- https://www.techno-tais.jp/](https://www.techno-tais.jp/)

:::

**TAIS+モジュール (tais_plus)** は、この新しい様式に対応し、Odooを介して **福祉用具の運用を統一・最適化** することができるアドオンモジュールです。本記事では、その特徴や導入のメリットについて解説します。  

:::note warn
**用語の定義**
誰かが「TAISコード」または「届出コード」のことを「商品コード」と呼んでしまったので、少し混乱するかと思います。用語の定義を関連図に示します。

```plantuml

商品コード <|-- TAISコード
商品コード <|-- 届出コード

商品コード .u. 全国平均貸与価格および貸与価格の上限
TAISコード .l. 福祉用具情報システム
届出コード .r. 福祉用具届出システム
```
「商品コード」は、広義の「TAISコード」であり、多くの文脈において「TAISコード」とした場合、「届出コード」も含んでいると考えても良いかと思います。

※ 福祉用具情報システム（TAIS）で、「届出コード」の検索は**できません。**

:::

## TAIS+モジュールとは？  
### 概要  
**TAIS+モジュール (tais_plus)** は、**介護事業者向けに最適化されたOdooアドオンモジュール** であり、以下のような特徴を備えています。  

- **TAISコード管理**：福祉用具情報システム（TAIS）に基づき、正確な製品識別と管理が可能  
- **貸与価格の上限管理**：全国平均貸与価格および貸与価格の上限を自動取得・更新  
- **エクセルインポート機能**：大量の価格情報を一括登録でき、業務の負担を軽減  
- **CSVデータによる標準化されたデータ連携**：福祉用具貸与事業所と居宅介護支援事業所の効率的な情報交換を支援  
- **API連携機能**：外部システムやEXCEL VBAから貸与価格の上限を取得可能  
- **Odooのワークフロー統合**：既存のOdooモジュールとの連携がスムーズ  

:::note info
**odooとは**
オープンソースのERPです。
:::

https://www.odoo.com/ja_JP


## 居宅サービス計画書の改正とTAIS+モジュールの役割  
令和6年7月4日に厚生労働省から発表された通知（老認発0704第１号）では、居宅サービス計画書の様式に **「用具名称（機種名）」と「TAISコード・届出コード」** の項目が追加されました。  

### 新様式の目的  
この改正の目的は、  
✅ **居宅介護支援事業所と福祉用具貸与事業所間で扱う情報を統一**  
✅ **CSVデータによる効率的な情報連携を可能にする**  
ことです。  

ただし、**データ連携を行わない場合は、当面の間、当該項目を空白のままとしても問題なし** とされており、導入時の柔軟な対応が認められています。  

**TAIS+モジュールは、この新様式に準拠し、居宅介護支援事業所と福祉用具貸与事業所のシステム間連携をスムーズにする役割を果たします。**

## CSVデータ連携の標準仕様と現状の課題  
介護業界では **ケアプランデータ連携標準仕様 Q&A（令和5年10月版）** に基づき、福祉用具の情報がデータ連携されるべき理想像として、以下の課題が認識されています。  

### 既存の課題  
- 福祉用具貸与事業所が **居宅介護支援事業所から受け取る居宅サービス計画書には商品コードが含まれていない** ため、手入力が必要  
- CSVデータ連携を行っても **再度商品コードを入力しなければならず、業務負担が大きい**  
- 転記ミスが発生しやすく、**返戻のリスクが高まる**  

### 改善策  
介護保険最新情報Vol.1177によれば、**令和6年度の標準仕様改訂** により、以下の改善が期待されています。  

✅ **介護支援専門員が作成する「居宅サービス計画書」と福祉用具専門相談員が作成する「福祉用具サービス計画書」の両方で商品コードを統一**  
✅ **データ連携の強化により、転記・計算し直しが不要になり、業務負担軽減と返戻防止に貢献**  

:::note info
**商品コード**と**統計**
ここでの「**商品コード**」は、「**TAISコード**」もしくは「**届出コード**」のことを指します。
**商品コード**（**TAISコード**または**届出コード**）に対して、**全国平均貸与価格**および**貸与価格の上限**に関する**統計**が行われています。
:::


### TAIS+モジュールによるデータ連携強化  
**TAIS+モジュールをOdooに導入することで、TAISコードによる商品の統一管理が可能になります。**  

- **福祉用具貸与事業所と居宅介護支援事業所間で統一されたTAISコードデータを共有**  
- **CSVデータの自動インポートに対応し、手入力を最小化**  
- **エクセルファイルの処理を強化し、標準仕様改訂にスムーズに適応**  

これにより、事業所間の業務効率が向上し、介護保険請求の正確性が担保されます。

:::note warn
**単位数の試算**
「居宅サービス計画書」を**介護支援専門員が**作成する段階で、その福祉用具が適正な価格で貸与されるかどうかを**事前に確認**することができ、**正確で適正な単位数を試算する**ことができます。
:::



## EXCELでのデータ利用（システム間連携）

Excel VBAを用いれば、**TAIS+モジュール**に登録した**商品データ**をExcelシート上で利用することができます。これは、odooプラットフォームが、RPC(`XML-RPC`または`JSON-RPC`)を提供しているからです。ここではExcel VBAを例にしていますが、RPCを実装可能な多くの外部システムからのデータ利用が可能です。詳しくは、Odoo公式ドキュメントの[External API](https://www.odoo.com/documentation/18.0/developer/reference/external_api.html)を参照してください。

**External API**

https://www.odoo.com/documentation/18.0/developer/reference/external_api.html

:::note info
**福祉用具の全国平均貸与価格及び貸与価格の上限一覧のインポート**

公表されている価格情報のデータ（Excel形式版）をダウンロードし、Odooアプリで取り込みます。
※ 「平成30年10月貸与分」からの**すべてのデータが必要**です。

**ダウンロード**
＜＜テクノエイド協会版＞＞
https://www.techno-aids.or.jp/tekisei/index.shtml#tab3_detial

**Odooでの取り込み**
福祉用具(TAIS+) > マスタ管理 > 貸与価格リストのインポート

:::

### Excelツールの取得(`odoo-json-rpc-vba`)

Excel VBAを用いて**TAIS+モジュール**のAPIにアクセスするために、`odoo-json-rpc-vba`を取得し、`JSON-RPC Blank.xlsm`ファイルを作成します。

**odoo-json-rpc-vba**  

https://github.com/jp-rad/odoo-json-rpc-vba

README.mdに従って、次の手順で、`JSON-RPC Blank.xlsm`を作成します。

**手順1. git clone**  
コマンドプロンプトで、githubからソースコードを取得します。
```
git clone --recursive https://github.com/jp-rad/odoo-json-rpc-vba
```

**手順2. create_blank_workbook.vbs**  
エクスプローラーで、`odoo-json-rpc-vba/tools`フォルダを開き、`create_blank_workbook.vbs`ファイルを実行します。

**手順3. JSON-RPC Blank.xlsm**  
`odoo-json-rpc-vba`フォルダ内に、`JSON-RPC Blank.xlsm`ファイルが作成されていることを確認します。

### Excel VBAによる商品データ取得

Excel VBA から商品データを取得するために、OdooのTAIS+モジュールにアクセスするための接続情報が必要です。

**Odoo接続情報**

|#|項目|内容|説明|
|---|---|---|---|
|1|BaseUrl|ベースURL|OdooサーバーのURLのベース部|
|2|DbName|Odooデータベース名|接続するOdooのデータベース名|
|3|Useraname|Odooユーザー名|Odooを使用するユーザー名|
|4|Password|個人設定のAPIキー|各ユーザーの個人設定で生成したAPIキー|

**ソースコード例**

**ある日付**における**商品コード**（**TAISコード**または**届出コード**）の**貸与価格の上限**を取得する例です。
`JSON-RPC Blank.xlsm`ファイルを開き、モジュールに次のコードを記述して、`GetPriceCap`を実行します。

```vb
Sub GetPriceCap()
  Dim cl As New OdWebClient
  Dim args As New Collection
  Dim ret As OdResult
  Dim dic As Dictionary
  
  cl.SetInsecure True ' 自己証明書対策
  
  ' 接続情報
  cl.BaseUrl = "https://localhost"
  cl.DbName = "dev_odoo"
  cl.Username = "admin"
  cl.Password = "a123...999z"   ' 個人設定のAPIキー
  
  ' 認証
  cl.Common.Authenticate
  
  ' 取得
  args.Add "01234-012345" ' TAISコード
  args.Add "2023-10-01"   ' 日付（文字列）
  Set ret = cl.Model("taisplus.api.service").ExecuteKw("get_tais_price_cap_json", args)
  Debug.Print ret.JsonResult
  
  ' JSON文字列をDictionaryへ変換
  Set dic = JsonConverter.ParseJson(ret.JsonResult)

  ' 貸与価格の上限
  If IsNull(dic("target")) Then
      Debug.Print "貸与価格の上限：", "(なし)"
  Else
      Debug.Print "貸与価格の上限：", dic("target")("price_cap")
  End If
End Sub
```

:::note info
**ExecuteKwでの引数の渡し方**

`ExecuteKw`の名前の由来は、「キーワード(Kw)で実行する(Execute)」です。
第２引数に空のリスト（`[]`）を指定し、第３引数にDictionaryオブジェクト(`kws`)を指定します。
Dicitonaryオブジェクトには、引数名をキーとした引数の値を代入します。

ソースコード例で呼び出される`def get_tais_price_cap_json(self, tais_code: str, date_string: str):`の場合、`tais_code`引数の値と`date_string`引数の値をDictionaryオブジェクトに代入します。
Dictionaryオブジェクトですので、引数を代入する順序は問われません。また、Collectionオブジェックとを使った場合に比べると、引数の値を設定しやすくなります。

```vb
    Dim kws As New Dictionary
    
    Dim taisCodeList As New Collection
    Dim v As Variant

    ' TAISコードのリスト
    With taisCodeList
        .Add "11111-222222"
        .Add "aaaaa-bbbbbb"
        .Add "33333-444444"
        .Add "xxxxx-yyyyyy"
        .Add "99999-zzzzzz"
    End With
    
    kws("date_string") = "2025-10-01" ' 日付（文字列）
    For Each v In taisCodeList
        kws("tais_code") = v ' TAISコード    
        Set ret = cl.Model("taisplus.api.service").ExecuteKw("get_tais_price_cap_json", "[]", kws)
        Debug.Print ret.JsonResult
    Next v

```

:::


## まとめ  
**TAIS+モジュール (tais_plus) を Odooに導入することで、介護業界の福祉用具管理が劇的に改善されます。** 特に、**新様式に対応したデータ連携強化・貸与価格の透明化・業務効率化** の観点から、導入メリットは大きいといえるでしょう。  

介護事業者の皆さんは、**TAIS+モジュール** を導入することで、新たな標準仕様に対応した業務フローの構築を進めることが可能です。ぜひOdooとTAIS+モジュールを活用し、**介護業務のDXを推進していきましょう！** 🚀✨