「家庭用」親ケースと「メンバー」子ケースを使用するアプリがあります。 「メンバー」訪問フォーム内で、特定の条件を満たす、その親にインデックス付けされている他の子ケースの数を検索できるようにしたい:
英語:mm_is_in_tb_treatment = 'yes'プロパティを使用して、この患者にインデックス付けされている他の子供ケースはいくつですか?
インスタンスパス:
instance('casedb')/casedb/case[@case_type='household']/ ...
そして、この「メンバー」ケースの「世帯」を指定してから、この世帯の子ケースをフィルタリングし、次にフィルタリングする方法がわかりません
/mm_is_in_tb_treatment = 'yes'
インスタンスの構文が正しいと、出力はどうなりますか?その基準を満たす#件のケースが必要です。
この場合、フォームにmember
ケースをロードし、メンバーケースID idをロードできると仮定しています
/data/member_id
取得したいものは:
このケースの親の子であるすべてのmember
ケースの数。メンバーケースにはプロパティmm_is_in_tb_treatment = 'yes'
があります
現時点では、以下の完全なクエリを理解しやすくするため、親世帯のケースIDを格納するための新しい非表示値を作成できます。
新しい非表示値:/data/parent_id
:
instance('casedb')/casedb/case[@case_id = /data/member_id]/index/parent
その親の子であるすべてのケースは、次のように参照されます。
instance('casedb')/casedb/case[index/parent = /data/parent_id]
そのステートメントの最後に新しいフィルターを直接追加して、カウントを導入できます。
count(instance('casedb')/casedb/case[index/parent = /data/parent_id][mm_is_in_tb_treatment = 'yes']
必要に応じて、(安全のため)member
ケースでオープンな子のみを含めるように指定することもできます。 1行の式が必要な場合は、親ID参照を折りたたむこともできます。
count(instance('casedb')/casedb/case[@case_type='member'][@status='open'][index/parent = instance('casedb')/casedb/case[@case_id = /data/member_id]/index/parent][mm_is_in_tb_treatment = 'yes']