Skip to content

Instantly share code, notes, and snippets.

@halcwb
Created July 27, 2023 10:16
Show Gist options
  • Save halcwb/acbc401d788fd62061082342a182b386 to your computer and use it in GitHub Desktop.
Save halcwb/acbc401d788fd62061082342a182b386 to your computer and use it in GitHub Desktop.
Calculate the anion gap and the delta ratio
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