In addition to the example of SBP + DBP, other examples maybe lab-panels. or even associating two procedures together.
The solution I would recommend is to use visit_occurrence in association with visit_detail. Visit_detail is designed to capture details within visit_occurrence_id, and there cannot be a visit_detail record when visit_occurrence_id is null.
Example in outpatient setting: outpatient primary care visit with a physician visit_concept_id = 8940 . For illustration, lets say the visit_occurrence_id = 123456
- In that visit, patient had a lab encounter where a panel of tests were drawn. This lab encounter may be a visit_detail_id (say 84543) with the same visit_occurrence_id as above 123456. The visit_detail_concept_id for visit_detail would be 32036 . Each of the lab test results in the panel may now be a record in the MEASUREMENT table with visit_occurrence_id 123456 and visit_detail_id 84543.
- Also in the visit, patient has biometric such as weight, SBP and DBP. This would be a different visit_detail_id (say 93432) with the same visit_occurrence_id as above 123456. The visit_detail_concept_id for visit_detail would be 44777714 or 32271 or a newly proposed concept_id belonging to VISIT domain (
I think this approach is scalable. visit_detail is still not supported in ATLAS, but the lift to support visit_detail is much much lower than fact_relationship IMO.