The Nameless City

何故か製薬やSAS関連のブログ、の予定。

マッピング定義書は、プログラム詳細設計書にはならない

結構悩ましい問題なのだが、解析用データセットの加工をしていると特にそう思うのだが、
順序的に

  1. データセットからそのままはめ込む変数をそのままはめ込む
  2. 解析週の計算
  3. 加工用フラグ変数の算出
  4. フラグ変数を用いての計算

というような順序で計算しないといけないのだが、この細かい計算順序についてがマッピング定義書には記載されていない。
変数と変数の関係性等は、変数の意味を考えて読み取れという形にしかなっていない。解析週の計算については、規定外時点を含み、どこかのレコードを落とす訳だけども、その際に、加工用フラグ変数の算出に用いないレコードが発生する、フラグ変数を用いての計算についても対象外にしていく、というところが結構無理がある。


おまけにであるが、大体バイタルサインの場合に、身長と体重の測定ポイントが他の場合とズレる。もう身長と体重だけ別ドメインにしたいくらい・・・・・・


一時点しか測定しないような検査項目については、ベースラインを設定する意味もないのだが、ロジックに特別に記載しないとベースラインは大体出来てしまう(投与前測定だし)。
使うレコードとしては、解析週のロジックを採用せざるを得ないのでそれにフラグは立てる。


投与前の表現も、日付単位での測定の場合、投与日と同日は投与前な事が多く、しかし、時刻単位で計測するが平均の値を取るのに時刻がすっ飛ぶ一日複数の時点のパターンがあったりする。気を効かせて時刻を複数持ってくれるならまだ良いんだが、トレース出来るだろという事で時刻がないとかの場合には、もうこれ入れられてる時刻単位のハコの名称で取るしかないよね、という事もある。


本来的に言うと、ベースラインの定義とかは、どういうレコードに設定すべきなのかというのは記述すら不要なのであるが、データの持ち方によってアルゴリズムが変わるというタチの悪い代物で、これを複雑なアルゴリズムで記載する意味はあんまないんだが、コンペア一致の為には必要にはなってくる。


んだけど、大体これ、ロジック細かく書く意味・コンペア一致させる意味は、「変な形のあり方の場合の定義」の問題なので、その実どうでもいいブレで、標準みたいなものも確立しづらいんだよね。
例えば、規定外時点で採用されなかった週でも別にBASEやBASECあってもどうでもいいし。


BASETYPEやABLFLみたいなのを、ハッシュオブジェクトで設定出来ないものか・・・・・・複雑な条件になってしまうものを、どうにか・・・・・・・うーん