示例#1
0
 public static AQLQuery PatientLaborData(PatientListParameter patientList)
 {
     return(new AQLQuery("PatientLaborData", $@"SELECT e/ehr_id/value as PatientID,
                             c/context/start_time/value as Befunddatum,
                             y/items[at0001]/value/value as FallID,
                             a/items[at0001]/value/id as LabordatenID,
                             a/items[at0029]/value/defining_code/code_string as MaterialID,
                             a/items[at0029]/value/value as Material_l,
                             a/items[at0015]/value/value as ZeitpunktProbenentnahme,
                             a/items[at0034]/value/value as ZeitpunktProbeneingang,
                             d/items[at0024]/value/value as Keim_l,
                             d/items[at0024]/value/defining_code/code_string as KeimID,
                             d/items[at0001,'Nachweis']/value/value as Befund,
                             d/items[at0001,'Nachweis']/value/defining_code/code_string as BefundCode,
                             d/items[at0001,'Quantitatives Ergebnis']/value/magnitude as Viruslast,
                             l/data[at0001]/events[at0002]/data[at0003]/items[at0101]/value/value as Befundkommentar
                             FROM EHR e
                             CONTAINS COMPOSITION c 
                                 CONTAINS (CLUSTER y[openEHR-EHR-CLUSTER.case_identification.v0] 
                                 and OBSERVATION l[openEHR-EHR-OBSERVATION.laboratory_test_result.v1]
                                     CONTAINS (CLUSTER a[openEHR-EHR-CLUSTER.specimen.v1]
                                     and CLUSTER b[openEHR-EHR-CLUSTER.laboratory_test_panel.v0]
                                         CONTAINS (CLUSTER d[openEHR-EHR-CLUSTER.laboratory_test_analyte.v1])))
                             WHERE c/name/value = 'Virologischer Befund'
                             AND e/ehr_id/value MATCHES { patientList.ToAQLMatchString() }
                             ORDER BY a/items[at0015]/value/value ASC"));
 }
示例#2
0
 public static AQLQuery PatientStay(PatientListParameter patientList)
 {
     return(new AQLQuery("PatientStay", $@"SELECT e/ehr_id/value as PatientID,
                         i/items[at0001]/value/value as FallID,
                         h/data[at0001]/items[at0004]/value/value as Beginn,
                         h/data[at0001]/items[at0005]/value/value as Ende,
                         h/data[at0001]/items[at0006]/value/value as Bewegungsart_l,
                         s/items[at0027]/value/value as StationID,
                         s/items[at0029]/value/value as Raum,
                         f/items[at0024]/value/value as Fachabteilung,
                         f/items[at0024]/value/defining_code/code_string as FachabteilungsID
                         FROM EHR e 
                         CONTAINS COMPOSITION c[openEHR-EHR-COMPOSITION.event_summary.v0] 
                             CONTAINS (CLUSTER i[openEHR-EHR-CLUSTER.case_identification.v0]
                             AND ADMIN_ENTRY h[openEHR-EHR-ADMIN_ENTRY.hospitalization.v0]
                                 CONTAINS (CLUSTER s[openEHR-EHR-CLUSTER.location.v1]
                                 AND CLUSTER f[openEHR-EHR-CLUSTER.organization.v0]))
                         WHERE c/name/value = 'Patientenaufenthalt'
                         AND i/items[at0001]/name/value = 'Zugehöriger Versorgungsfall (Kennung)'
                         AND e/ehr_id/value MATCHES {patientList.ToAQLMatchString()}
                         ORDER BY e/ehr_id/value ASC, h/data[at0001]/items[at0004]/value/value ASC"));
 }
示例#3
0
 public static AQLQuery PatientSymptom_US(PatientListParameter patientList)
 {
     return(new AQLQuery("PatientSymptom_US", $"SELECT e/ehr_id/value as PatientenID, a/data[at0001]/items[at0002]/value/value as UnbekanntesSymptom, a/ data[at0001]/items[at0005]/value/value as AussageFehlendeInfo FROM EHR e CONTAINS COMPOSITION c CONTAINS EVALUATION a[openEHR-EHR-EVALUATION.absence.v2] WHERE c/archetype_details/template_id='Symptom' and e/ehr_id/value matches { patientList.ToAQLMatchString() }"));
 }
示例#4
0
 public static AQLQuery PatientSymptom_AS(PatientListParameter patientList)
 {
     return(new AQLQuery("PatientSymptom_AS", $"SELECT e/ehr_id/value as PatientenID, a/data[at0001]/items[at0002]/value/value as AusschlussAussage, a/ data[at0001]/items[at0003]/value/value as Diagnose FROM EHR e CONTAINS COMPOSITION c CONTAINS EVALUATION a[openEHR-EHR-EVALUATION.exclusion_specific.v1] WHERE c/archetype_details/template_id='Symptom' and e/ehr_id/value matches { patientList.ToAQLMatchString() }"));
 }
示例#5
0
 public static AQLQuery PatientSymptom_VS(PatientListParameter patientList)
 {
     return(new AQLQuery("PatientSymptom_VS", $"SELECT e/ehr_id/value as PatientenID, a/data[at0190]/events[at0191]/data[at0192]/items[at0001]/value/value as NameDesSymptoms, a/data[at0190]/events[at0191]/data[at0192/items[at0151]/value/value as Lokalisation, a/ data[at0190]/events[at0191]/data[at0192]/items[at0152]/value/value as Beginn, a/ data[at0190]/events[at0191]/data[at0192]/items[at0021]/value/value as Schweregrad, a/ data[at0190]/events[at0191]/data[at0192]/items[at0161] as Rueckgang FROM EHR e CONTAINS COMPOSITION c CONTAINS OBSERVATION a[openEHR-EHR-OBSERVATION.symptom_sign.v0] WHERE c/archetype_details/template_id='Symptom' and e/ehr_id/value matches { patientList.ToAQLMatchString() }"));
 }
示例#6
0
 public static AQLQuery CasesWithResults(PatientListParameter patientList)
 {
     return(new AQLQuery("CasesWithResults", $"SELECT DISTINCT e/ehr_id/value as PatientID, m/items[at0001]/value/value AS FallID, c/uid/value as UID FROM EHR e CONTAINS COMPOSITION c CONTAINS CLUSTER m[openEHR-EHR-CLUSTER.case_identification.v0] WHERE c/name/value = 'Mikrobiologischer Befund' AND e/ehr_id/value matches { patientList.ToAQLMatchString() } order by m/items[at0001]/value/value asc"));
 }
示例#7
0
 public ActionResult <List <LabDataModel> > Patient_Labordaten_Ps([FromBody] PatientListParameter parameter)
 {
     _logger.LogInformation("CALLED Patient_Labordaten_Ps with parameters: PatientIDs: {patList}", parameter.ToAQLMatchString());
     try
     {
         return(_patientInformation.Patient_Labordaten_Ps(parameter));
     }
     catch (Exception e)
     {
         _logger.LogWarning("CALLED Patient_Labordaten_Ps:" + e.Message);
         return(ErrorHandling(e));
     }
 }