Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Clinical Scenario 1

all patients who have not been discharged

AQL Statement


Code Block
SELECT e/ehr_id
FROM  EHR e CONTAINS ADMIN_ENTRY ae1 [openEHR-EHR-ADMIN_ENTRY.admission.v1]
WHERE ae1/encounter_id/value not in
( SELECT ae2/encounter_id/value
      FROM EHR e CONTAINS ADMIN_ENTRY ae2 [openEHR-EHR-ADMIN_ENTRY.discharge.v1])



alternatively,

Code Block
SELECT e/ehr_id
FROM  EHR e CONTAINS ADMIN_ENTRY ae1 [openEHR-EHR-ADMIN_ENTRY.admission.v1]
WHERE ae1/encounter_id/value ~in
( SELECT ae2/encounter_id/value
      FROM EHR e CONTAINS ADMIN_ENTRY ae2 [openEHR-EHR-ADMIN_ENTRY.discharge.v1])



 

 

 

exists

"EXISTS" operator has been supported in the latest AQL BNF grammar. The path followed by exists does not have brackets around. The section below can be ignored. It will be removed later.

Clinical Scenario 1 

requires all blood pressure values with position recorded

AQL Expression

Code Block
SELECT o
 FROM EHR e CONTAINS COMPOSITION CONTAINS
      OBSERVATION o [openEHR-EHR-OBSERVATION.blood_pressure.v1]
 WHERE exists {"o//*/state[at0007]/items[at0008]"}


I suggest using either no {} or () around the path - preferably no brackets.