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.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