drajer-health / eCRNow

Repository for eCRNow app.
Apache License 2.0
40 stars 54 forks source link

Social History Section: Travel History act #194

Closed ElizHough closed 3 years ago

ElizHough commented 3 years ago

Need to recreate this in dev domain, as was reported for client pt data. Observations with category eq Social-History (or unknown) are being mapped to /ClinicalDocument/component/structuredBody/component[6]/section/entry/act/code ="420008001".

These are the SNOMED codes that should be mapped to this section. (Revised since initial analysis) SNOMED CT 420008001 ID Risk - Recent Travel History/Travel (Event)
SNOMED CT 46521000175102 Recent Travel History-Detail of recent history of travel (observable entity) (US)
SNOMED CT 260413007 No recent travel- None (qualifier value)
SNOMED CT 443846001 Detail of Travel History (Covid) SNOMED CT 34831000175105 Recent Travel History (outside US)

ElizHough commented 3 years ago

TrvlHx.zip Attached is zip containing xml of the Social History Section -which demonstrates that Observations with Observation.category.extension."url": "http://hl7.org/fhir/StructureDefinition/data-absent-reason" are mapping to Travel Act code="420008001" For example, "Supine body position (finding)" with SNOMED CT code="40199007" is mapping to Travel Act. "Physical activity assessment (procedure)" with SNOMED CT "398636004" is also being mapped to Travel Act. Only Travel SNOMEDs as in the list above should be mapping. The list was enhanced to include valid Travel SNOMEDs in addition to he the original code 34831000175105.

ElizHough commented 3 years ago

54 Miscellaneous Observations were being picked up for the Social History section that were not Travel Snomeds. Pt had 420008001 snomed that was not picked up, (maybe due to 34831000175105 not being present on the pt? and an extreme amount of observations that did not have a category defined ("unknown")? Anantha found a bug in the code, travel is harded to 420008001. Following are the SNOMED codes supported for travel that should be picked up.

"161085007", and "161086008" in addition to SNOMED CT 420008001 ID Risk - Recent Travel History/Travel (Event) SNOMED CT 46521000175102 Recent Travel History-Detail of recent history of travel (observable entity) SNOMED CT 260413007 No recent travel- None (qualifier value) SNOMED CT 443846001 Detail of Travel History (Covid) SNOMED CT 34831000175105 Recent Travel History

This line in darjer code should be changed

https://github.com/drajer-health/eCRNow/blob/master/src/main/java/com/drajer/cdafromr4/CdaSocialHistoryGenerator.java#L224

nbashyam commented 3 years ago

Add Filter to remove all categories except Social History.

Add finalized Code list to the SNOMED codes.

ElizHough commented 3 years ago

We confirmed with the Open dev team whether social-history category is the correct option for infectious disease screening. They have approved that Observation.category eq "social-history" is the appropriate category for infectious disease screening for Travel.

ElizHough commented 3 years ago

3/10/21 meeting: Confirmed with John/Sarah/Tim that the following codes will be mapped for Cerner to "420008001". The SNOMEDCT code indicating "no travel" will not be mapped to the eicr at this time. r4 FHIR Observation.category.coding.code will be "social-history". Observation | code.coding | SNOMED CT 420008001 ID Risk - Recent Travel History/Travel (Event) Observation | code.coding | SNOMED CT 46521000175102 Recent Travel History-Detail of recent history of travel (observable entity) Observation | code.coding | SNOMED CT 443846001 Detail of Travel History (Covid) Observation | code.coding | SNOMED CT 34831000175105 Recent Travel History (outside US) Observation | code.coding | SNOMED CT 161085007 Detail of history of foreign travel (observable entity) Observation | code.coding | SNOMED CT 161086008 Recent countries visited (observable entity)

ElizHough commented 3 years ago

Attached sample json in text file for PtId12748293_encId97957025 in our FHIR dev domain. Observation.category eq "social-history" Please NOTE: Travel Observations with Observation.status eq "entered-in-error" should NOT be mapped to eicr doc. This patient has 4 Observations for Travel (2 with status eq "final", 2 with status eq "entered-in-error" Observation.id eq M-197424266 with snomedct "465210001751002" Recent Travel with valueCodeableconcept.text indicating Travel in last 7 days Observation.id eq M-197424268 with snomedct "161086008" Recent countries visited with valueCodeableConcept.coding.code "223668000" and .text eq "Italy" Observation.id eq M-19742428 status: "entered-in-error" should not be mapped to eicr Observation.id eq M-197424250 status: "entered-in-error" should not be mapped to eicr SocialHx_PtId12748293_encId97957025.zip

ElizHough commented 3 years ago

eCR Now code 'entered-in-error' travel observations are now removed from the document. However, each travel observation now creates a duplicate /ClinicalDocument/component/structuredBody/component[6]/section/entry[5]/act

Same pt example as in previous attachment, and an additional example (from dev FHIR domain c1941) Travel.zip

nbashyam commented 3 years ago

This should be fixed as per the last discussion and the issue with the EHR API returning SNOMED coded observations when asked for LOiNC ones.

https://fhir-ehr-code.cerner.com/r4/ec2458f2-1e24-41c8-b71b-0e701af7583d/Observation?patient=12748293&code=http%3A%2F%2Floinc.org%7C29762-2

ElizHough commented 3 years ago

At this time, I am awaiting info as to why the Observations mapped to snomed are returned when queried by LOINC. I'm not sure if your update indicates that the duplicate travel issue remains until we resolve the LOINC issue, or if you made some changes to remove duplicates. If you could clarify, thank you.