Stream: implementers
Topic: Capturing "Procedure not done"
Halina Labikova (Jan 23 2020 at 20:07):
I need a way to capture explicit negation for certain procedures never being completed (or ordered for that matter). I can't find documentation on this being addressed, so here is one of the approaches that I'm considering.
Example: Mastectomy not done
Resource type: Observation
Observation.code.coding: Procedure History
Observation.component.code.coding: Mastectomy
Observation.component.valueCodeableConcept: Not Done
What are your thoughts? Am I possibly misunderstanding how components are supposed to be used in observations?
Jose Costa Teixeira (Jan 23 2020 at 20:09):
Procedure.status="not-done" ?
Lloyd McKenzie (Jan 23 2020 at 20:15):
For Observation it would be Observation.dataAbsentReason=not-performed
Halina Labikova (Jan 23 2020 at 20:43):
@Jose Costa Teixeira Procedure.status "not done" doesn't quite fit, as the definition is "The event was terminated prior to any activity beyond preparation." - implying that there was an event to be terminated in first place.
@Lloyd McKenzie Isn't the dataAbsentReason intended to describe observations resulting from procedures (e.g. PSA Level) as opposed to the observation of the procedure list in the patient record?
Jose Costa Teixeira (Jan 23 2020 at 20:49):
What do you mean "implying there was an event to be terminated"?
Do you want to capture a procedure never being completed? Or a type of event?
i.e. do you mean "this mastectomy was never performed on the patient" or "this patient never had any mastectomy"?
Halina Labikova (Jan 23 2020 at 21:09):
@Jose Costa Teixeira I want to capture procedure never being done (sorry, word 'completed' might have been misleading) -e.i., "this patient never had any mastectomy"
Jose Costa Teixeira (Jan 23 2020 at 21:39):
I'd then use some other terms. Observation would be more 'number of previous mastectomies', no? Then you can have the value as an integer
Halina Labikova (Jan 23 2020 at 22:04):
@Jose Costa Teixeira Getting codeable concepts for 'number of previous Procedures X' for all procedures might be cumbersome (and also would clutter the ontologies with unnecessarily precoordinated concepts), especially with obscure ones or the procedures where counting doesn't make sense ("number of appendectomies done"). Hence I was thinking of layering it, with code being "Procedure history" and component.code being "Procedure X". Done/not done would be a value per procedure.
Lloyd McKenzie (Jan 23 2020 at 23:39):
If that's what you want, that would be a positive Observation that you're actually making - you're observing the absence of past interventions
Richard Townley-O'Neill (Jan 28 2020 at 11:28):
An example of this sort of thing is the HL7 AU profile of Observation for Assertion of No Relevant Finding. Observation.code has a fixed value meaning assertion and Observation.value is bound to ta value set whose values are in https://ontoserver.csiro.au/shrimp/rt.html?system=http://snomed.info/sct&versionId=http%3A%2F%2Fsnomed.info%2Fsct%2F32506021000036107%2Fversion%2F20191231&refset=1234411000168107&fhir=https://stu3.ontoserver.csiro.au/fhir
Halina Labikova (Jan 28 2020 at 18:03):
@Richard Townley-O'Neill Thank you, but I think this profile doesn't quite cover my usecase - I need to record an absence of a specific procedure/medication in the patient record, as opposed to a generic 'no history of' statement. Side question out of curiosity: what is the reasoning behind slicing valueCodeableConcept while keeping the cardinality 1..1 (or, without adding additional rules for the slicing)?
Richard Townley-O'Neill (Jan 28 2020 at 23:15):
what is the reasoning behind slicing valueCodeableConcept while keeping the cardinality 1..1 (or, without adding additional rules for the slicing)?
I think it is because the binding only applies to Observation.value[x] when it is of type CodeableConcept.
Halina Labikova (Jan 29 2020 at 18:51):
Hmm. Since CodeableConcept is the only possible datatype of the value element, defining the slice doesn't really seem necessary to me. But I guess doing it doesn't make any practical difference anyway (someone correct me if I'm wrong)
Last updated: Apr 12 2022 at 19:14 UTC