ICD10PCS Entity Resolver

Description

Entity Resolution model Based on KNN using Word Embeddings + Word Movers Distance.

Predicted Entities

ICD10-PCS Codes and their normalized definition with clinical_embeddings.

Live Demo Open in Colab Copy S3 URI

How to use

...
model = ChunkEntityResolverModel.pretrained("chunkresolve_icd10pcs_clinical","en","clinical/models")
	.setInputCols("token","chunk_embeddings")
	.setOutputCol("entity")

pipeline_icd10pcs = Pipeline(stages = [documentAssembler, sentenceDetector, tokenizer, stopwords, word_embeddings, ner, chunk_embeddings, model])

data = ["""He has a starvation ketosis but nothing found for significant for dry oral mucosa"""]

pipeline_model = pipeline_icd10pcs.fit(spark.createDataFrame([[""]]).toDF("text"))

light_pipeline = LightPipeline(pipeline_model)

result = light_pipeline.annotate(data)
...
val model = ChunkEntityResolverModel.pretrained("chunkresolve_icd10pcs_clinical","en","clinical/models")
	.setInputCols("token","chunk_embeddings")
	.setOutputCol("entity")

val pipeline = new Pipeline().setStages(Array(documentAssembler, sentenceDetector, tokenizer, stopwords, word_embeddings, ner, chunk_embeddings, model))

val data = Seq("He has a starvation ketosis but nothing found for significant for dry oral mucosa").toDF("text")
val result = pipeline.fit(data).transform(data)

Results

|   | chunks               | begin | end | code    | resolutions                                      |
|---|----------------------|-------|-----|---------|--------------------------------------------------|
| 0 | a starvation ketosis | 7     | 26  | 6A3Z1ZZ | Hyperthermia, Multiple:::Narcosynthesis:::Hype...|
| 1 | dry oral mucosa      | 66    | 80  | 8E0ZXY4 | Yoga Therapy:::Release Cecum, Open Approach:::...|

Model Information

Model Name: chunkresolve_icd10pcs_clinical
Compatibility: Healthcare NLP 3.0.0+
License: Licensed
Edition: Official
Input Labels: [token, chunk_embeddings]
Output Labels: [icd10pcs]
Language: en