Minamoto さん
早々のご確認・ご対応ありがとうございました。
SCALEにより、小数部が指定された桁数になることは確認できました。
ただ、やはり今回についてはダブルクォーテションが付与されてしまうことが
問題となっております。
FHIRの要素型上、Decimalで定義されているものになってしまうので
ダブルクォーテーションがついてしまうと、バリデータ側でのエラーにかかってしまいます。
やはり、%DynamicObject を使用している限りこちらの問題は難しいという認識でよろしいでしょうか?
FHIRリソースを生成するにあたり、JSONTemplateを活用させていただいております!
このJSONTemplateを利用している中で、1点困っていることがあります。
Decimal型(DoubleやFloatでも)において、小数部が0になるときにおいて
本来であれば
"decimalVal" : 180.0
のように出力してほしいところ
"decimalVal" : 180
と、小数部が省略されて出力されてしまいます。
IRISにおいては、数値をキャノニック形式で表示しているためこのような現象が起きえているのかと
想定しています。
ただ、今回のJSONTemplateを利用した形式ではなく、%JSON.Adapter を継承したクラスにおいて
%JSONExportToString を実行すると意図した値で出力できるため何かしらの解決策はあるのではないかと
おもっておりますが、現状行き詰っている状態です。
@Toshihiko Minamoto
minamotoさん
早々のご対応ありがとうございます。
OutputToDevice / OutputToStream において、想定している通りの
JSONが出力できることが確認できました。
OutputToDynamicObject においては処理内で$char(0)を付加している影響か
Nul制御文字が付与されてしまっているようです。
{"intData":-123.4567,"decimal":"\u0000-123.457","decimalDataList":["\u0000-123","\u0000-123.457"],"numData":["\u0000-123.46","\u0000-123.457",-123.4567],"floatData":[-123.4567,"\u0000-123.457"],"doubleData":[-123.4567,"\u0000-123.457"]}