Accessing Patient Assessment Data

We want to retrieve values for common lab tests like Sodium, Potassium, and Chlorine as part of a real-time simulation. However, it appears that some of these values are only available (via SDK, at least) through the patient assessment system. We create a patient assessment data structure (SECompleteMetabolicPanel, for example) and then use GetPatientAssessment to populate it. Is there a reason this must be done this way, as opposed to the direct accessors we have for other values like SodiumConcentration? (available via bg->GetBloodChemistrySystem()->GetSodiumConcentration())

Is there a reason why some items have direct accessors and others must be fetched via patient assessment? More important, what kind of impact could this have performance wise if there is additional processing done for the patient assessments?

Is there a way to retrieve this data without utilizing the patient assessments, or is that required? It would also be nice to include these values in the Results file created by running a scenario file. Is that possible?

Comments

  • abrayabray Entry Level
    Assessments are data structures structured specifically around a real word test run by clinicians/doctors/etc. (ex. https://www.nlm.nih.gov/medlineplus/ency/article/003468.htm)
    Some of the properties that make up these test, are directly pulled from system properties or compartment properties. But some assessment data is actually computed when you call the GetAssessment method. (Such as the pulmonary function test, includes data for a plot, the urinalysis data will compare system/compartment data against a threshold to result in a Positive/Negative output expected by the clinicians. There is a cost to these extra calculations, so we do not perform them every time step, but on demand via the GetAssessment method.

    That being said, I believe you can get all the 'assessment' data you want from either the system or a compartment (the data you want does not sound like its part of the extra math associated with the GetAssessment method) and can easily be retrieved from a system or a compartment.

    So we can take the Complete/ComprehensiveMetabolicPanel assessment as our example.
    We currently do not support a Chloride or Potassium values in BioGears, but we do support Sodium.
    Sodium is provided and is pulled directly from the system property you referred to above.
    We do some math to put it in the quantity type the assessment wants :


    // Getting data directly off the Blood Chemistry Object and converting Mass/Amount quantity to a Amount/Volume quantity
    double Sodium_mmol_Per_L = GetSodiumConcentration(SEScalarMassPerVolume::g_Per_L) /
    m_data.GetSubstances().GetSodium().GetMolarMass(SEScalarMassPerAmount::g_Per_mmol);


    Again, assessments are structured to mimic an actual test print out that is ordered on a patient. And there may or may not be (probably is) extra computation to get data into the documented structure of the assessment. (Extra calculations depend on the assessment)

    Some other assessment sources we conform to are:
    CBC - https://www.nlm.nih.gov/medlineplus/ency/article/003468.htm
    Urinalysis - https://labtestsonline.org/understanding/analytes/urinalysis/ui-exams/start/1/

    If you have specific data that seems to only be available via assessments that you want every time step, let me know, I will try to point you to the right code that will get you the data each time step, or an explanation as to why that data is not available by default every time step.




Sign In or Register to comment.