Created
July 27, 2023 10:16
-
-
Save halcwb/acbc401d788fd62061082342a182b386 to your computer and use it in GitHub Desktop.
Calculate the anion gap and the delta ratio
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sub Main | |
Console.WriteLine(CalcAnionGap(140, 120, 20, 0)) | |
Console.WriteLine(CalcAnionGap(140, 120, 20, 20)) | |
End Sub | |
' Calculate the anion gap and the delta ratio | |
' Uses albumin correction if available (albumin in gram/L!) | |
' Returns a Tuple with Item1 = anin gap and Item2 = ratio | |
' | |
' Anion gap, mEq/L = sodium, mEq/L - (chloride, mEq/L+ bicarbonate, mEq/L) | |
' Albumin corrected anion gap, mEq/L = anion gap + [ 2.5 × (4 - albumin, g/dL) ] | |
' Delta gap, mEq/L = anion gap - 12* | |
' Albumin corrected delta gap, mEq/L = albumin corrected anion gap - 12 | |
' Delta ratio = delta gap / (24 - bicarbonate, mEq/L) | |
' Albumin corrected delta ratio = albumin corrected delta gap / (24 - bicarbonate, mEq/L) | |
' | |
' See: https://pubmed.ncbi.nlm.nih.gov/25295502/ | |
Function CalcAnionGap(dblNa As Double, dblCl As Double, dblBic As Double, dblAlb As Double) As System.Tuple(Of Double, Double) | |
Dim tplResult As System.Tuple(Of Double, Double) | |
Dim dblGap As Double = -1 | |
Dim dblRatio As Double = -1 | |
If dblNa > 0 And dblCl > 0 And dblBic > 0 Then | |
If dblAlb > 0 Then | |
dblAlb = dblAlb / 10 | |
dblGap = dblNa - (dblCl + dblBic) | |
dblGap = dblGap + (2.5 * (4 - dblAlb)) | |
dblRatio = (dblGap - 12) / (24 - dblBic) | |
Else | |
dblGap = dblNa - (dblCl + dblBic) | |
dblRatio = (dblGap - 12) / (24 - dblBic) | |
End If | |
End If | |
tplResult = System.Tuple.Create(dblGap, dblRatio) | |
Return tplResult | |
End Function |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment