icdcodex package

Subpackages

Submodules

icdcodex.datacleaning module

icdcodex.hierarchy module

deserialize icd hierarchies computed in datacleaning.py

icdcodex.hierarchy.icd10cm(version: str | None = None) Tuple[Graph, Sequence[str]][source]

deserialize icd-10-cm hierarchy

Parameters:

version (str, optional) – icd-10-cm version, including 2019 to 2024. If None, use the system year. Defaults to None.

Returns:

ICD-10-CM hierarchy and codes

Return type:

Tuple[nx.Graph, Sequence[str]]

icdcodex.hierarchy.icd9() Tuple[Graph, Sequence[str]][source]

deserialize icd9 hierarchy

Returns:

ICD9 hierarchy and codes

Return type:

Tuple[nx.Graph, Sequence[str]]

icdcodex.icd2vec module

Build a vector embedding from a networkX representation of the ICD hierarchy

class icdcodex.icd2vec.Icd2Vec(num_embedding_dimensions: int = 128, num_walks: int = 10, walk_length: int = 10, window: int = 4, workers=1, **kwargs)[source]

Bases: object

fit(icd_hierarchy: Graph, icd_codes: Sequence[str], **kwargs)[source]

construct vector embedding of all ICD codes

Parameters:
  • icd_hierarchy (nx.Graph) – Graph of ICD hierarchy

  • kwargs – arguments passed to the Node2Vec.fit

to_code(vecs: Sequence[Sequence] | ndarray) Sequence[str][source]

decode continuous representation of ICD code(s) into the code itself

Parameters:

vecs (Union[Sequence[Sequence], np.ndarray]) – continuous representation of ICD code(s)

Returns:

ICD code(s)

Return type:

Sequence[str]

to_vec(icd_codes: Sequence[str]) ndarray[source]

encode ICD code(s) into a matrix of continuously-valued representations of shape m x n where m = self.num_embedding_dimensions and n = len(icd_codes)

Parameters:

icd_codes (Sequence[str]) – list of icd code(s)

Raises:

ValueError – If model is not fit beforehand

Returns:

continuously-valued representations if ICD codes

Return type:

np.ndarray

Module contents