ORCA-APIを用いたアップルスクリプトの実例02d

次は特定薬剤治療管理料のXMLデーターを作成します。 
Set_XML_MedicalInformation_FromBlood2023b

この項目は初めの採血後4ヶ月以内と以降でMedical_codeが変わること、そして算定初月の年・月の記入が必要となります。 
先ず今回のセクションをXML1というレイヤーに保存してゆきます。(3行目)
もしもbloodのデーターに113000410が有った場合(採血オーダーでは該当する項目があればこの 番号 & " " & 薬剤名でデーターを送るように設定してます)、この特定薬剤治療管理料のXMLデーターを作成ルートに入ります。
その場所からスペース1個開けてその後に薬剤名が記載されているので、11300410の場所をLocにセット、M_Codeのデフォルト値を11300410にセットします。 以前に薬剤採血されていなければ変数Denovo 0 3ヶ月以内なら3 4ヶ月以降なら4と設定する様にデザインしておきます。
変数ymは年-月をセット、変数drugには薬剤名をセットします。
先ず薬剤名drugを12行目からのTry構文の中で取り出します。 113000410の後の字からをbにセットし、bの中で'までの長さ分-1を切り出すとそれが薬剤名になっているはずです。 エラーが生じた場合drugは初期値の""が格納された状態となります。
次にこの患者で113000410が設定された最も小さな年月をSQLで取り出します。 min(sryym)ですね。これがなければ戻り値はerror:で始まりますのでその場合は一回目の採血です。  あと現在から3ヶ月前の日付 d_3mと現在の日付d_をあらかじめDate関数で計算しておきます。 22行目のM_Codeの設定は2重に登録されている様で本来必要ないですね。
24行目から変数ym及び、Denovo, M_code にそれぞれの条件で設定値を代入してゆきます(34行目まで)。

この条件で先ず薬剤治療管理料1の1列目の設定 M_Codeの設定が完了します。 これをXML1に代入します。

Set_XML_MedicalInformation_FromBlood2023c

次は2列目、の設定で、これはDenovo 0の時とDenovo 3の時で数字が異なります。 その条件でXML1に2行目を書き込みます(1行目から6行目)、11行目からは和暦の計算となります。ORCAでは平成は4,令和は5に設定されてますのでそれを踏襲します。初回採血時が平成の場合と令和の場合で、Medical_Codeが異なります。 それをymから割り出して計算します。 (18行目まで)
さらに日付の入力はMedical_Numberに和暦で年と月の間を-で区切って入力しますのでの整形を行いxml2に入力して設定後に 最終的にXML1に3列目を登録します。


Set_XML_MedicalInformation_FromBlood2023d

最後は薬剤名を登録していきますが、現在は薬剤のカテゴリーによってMedical codeが違うのでそれを検出しM_codeに代入して、最後の4列目を作製してXML1に投入します。 

これで薬剤の検査部分は終了です。
三好クリニックでの電子カルテ・レセコン