検索
連載

なぜドメイン知識(業務知識)の習得が重要なのか? 変化する知識に対応し続けるためにドメイン知識と開発(1)

ITエンジニアは「ドメイン知識」の習得を求められることがあるが、技術知識の取得と比べると優先度は低くなりがちだ。制度改正の多い介護・医療分野のドメイン知識習得に取り組むエス・エム・エスの事例から、ドメイン知識習得の重要性とそれを開発に生かすためのポイントを解説する。第1回は、開発者のドメイン知識取得の重要性と体制づくりについて。

Share
Tweet
LINE
Hatena

開発者がドメイン知識を習得することの重要性

 デジタルトランスフォーメーション(DX)がうたわれて久しい昨今、システムの内製化に舵を切る企業は着実に増えているように見えます。その背景には、世界的に猛威を振るっている新型コロナウイルス感染症(COVID-19)による影響も少なからずあります。直接会うということがリスクとなり、リモート会議や、文書も紙からデジタルへと、業務の変化が余儀なくされています。

 しかし、業務の変化は社会情勢などの外的要因によるものだけではありません。むしろ事業拡大や転換などの内的要因によることの方がほとんどでしょう。システムはデジタル化した業務を体現しています。

 介護事業所の事務システムを例に挙げます。介護報酬は、診療報酬と同様に利用者に提供したサービスごとに定められた点数(単位数)に、単位数単価を掛けることで計算できます。

報酬額=単位数(点数)×単位数単価

 この計算式をシステムに落とし込む際、どう考えるべきでしょうか。一見すると報酬額、単位数および単価はただの数値(Number型)のように見えます。しかし、介護報酬の計算において報酬額に単位数を掛けたり、単位数と単位数単価を足したりすることはありません。介護報酬の仕組み、つまり「ドメイン」を理解すると、それらを別の型として意識できるようになります。

 上述の計算は介護事業所の事務システムではさまざまな場所に現れます。これらが全てシステム内で同じ数値(Number型)として記述されていると、計算式に関わる変更の影響範囲が測りにくくなったり、システムの改修を繰り返すにつれてNumber型の変数が思わぬ使われ方をしてバグを作り込んでしまったりする危険もあります。柔軟過ぎるコードでは、逆に業務の変化に対応できなくなってしまうのです。

 以上は一例ですが、開発者の業務への理解は大変重要です。業務の変化に対応できないシステムを構築してしまうと、システムが業務の変化の足かせとなる可能性があります。

変化し続ける情勢に素早く対応するために

 エス・エム・エスでは、介護事業者向けの経営支援サービスとしてSaaS型のクラウドサービス「カイポケ」を提供しています。高齢社会においてなくてはならない介護・医療サービスは、それぞれ法制度の下に事業者が高齢者に対して提供します。法制度はそのときの社会情勢などにより見直され、医療報酬は2年、介護報酬は3年ごとにそれぞれ改定(報酬改定)が行われます。2021年度の介護報酬改定においても、COVID-19の影響を受けて報酬が上乗せされたり、ICT活用による規制緩和などが含まれたりしています。介護・医療に関わるこのサービスを開発・運用するためには、法改正によって生じた変更点に追従し続ける必要があります。


エス・エム・エス社内の様子(撮影はコロナ禍以前のもの)

 変化に素早く対応するには、システムを小さく区切ることが重要です。例えば、上述の報酬改定の影響を大きく受ける「介護報酬の計算」と「(介護サービスの)利用料の回収」はどちらも金額に関わります。「利用料の回収」は多様化する決済方法への対応や回収状況の可視化などにも関係します。一方で「介護報酬の計算」は制度の影響を強く受けます。このように事柄によって関心事が異なります。

 これら2つの関心事をシステムとして切り離しておくことでお互いの影響を小さくすることができ、それぞれの要求の変化に対して素早く対応できるようになります。システムを小さく区切る境界線を見つけるためにはドメイン知識が欠かせません。システムを開発する開発者自身がドメイン知識を身に付けておくことが重要です。

 システムを改修して報酬改定に対応する場合は、介護保険制度というドメインについて知っておく必要があります。報酬改定ではこの単位数や計算式が見直されますが、改定内容の提示から施行まで3カ月程度しかありません。また、初回に提示された内容が更新されることもあります。そのため、改定内容を素早くキャッチアップしシステムを改修する必要があります。

ドメイン知識を開発者が得て開発に生かすための仕組み

Copyright © ITmedia, Inc. All Rights Reserved.

[an error occurred while processing this directive]
ページトップに戻る