Stream: implementers
Topic: Preoperative evaluation result best resource
Travis Stenerson (Jan 31 2018 at 19:21):
I have been running into this problem consistently and am looking for guidance on the best FHIR representation of the concept of 'fit for surgery' or 'not a candidate for surgery'.
The use case is the status of a tumor's or patient's candidacy for surgical resection, but it also applies to other interventions like radiation therapy and chemotherapy. I need the actual coded result of 'candidate for procedure' or 'not candidate for procedure'. It is somewhat of a point in time observation of the candidacy, but I would also require a coded representation of the procedure in question. The procedure may not yet be an actual 'action' with an associated request/event resource, but just the clinical opinion that this procedure could be performed. There are other observations and conditions that are assessed that lead to the conclusion, but my use case is specifically the actual conclusion of the assessment.
Is this an observation with an extension, a risk assessment, a diagnostic report for the presurgical evaluation with codedDiagnosis of 'candidate for procedure', or the immature clinical impression (where prognosis doesn't sound like the right attribute name)?
Lloyd McKenzie (Jan 31 2018 at 19:44):
Are you just wanting to say "fit for procedure of type x" or are you wanting to say "in preparation for planned surgery as specified in order 1234, I deem the patient fit to proceed"?
Travis Stenerson (Jan 31 2018 at 19:59):
Hi Lloyd,
No action has yet been taken, so order 1234 does not yet exist. If the tumor is appropriate for surgical resection, the order would get placed. However, we would like a record of the opinion that it was fit for procedure X, for guideline adherence. So the former.
Procedure X has so far included: 'mastectomy', 'lumpectomy', 'definitive local therapy', 'radiation therapy', 're-resection', 'surgical resection', 'surgery', 'lymph node dissection/resection'. So it is sometimes a specific procedure, sometimes a class of procedure.
Lloyd McKenzie (Jan 31 2018 at 20:08):
So in that case, I'd say that you'd use Observation and would have an Observation.component that would indicate the code for the type of surgery
Lloyd McKenzie (Jan 31 2018 at 20:09):
If you don't specify the component, then you're saying "any type of procedure" or leaving it to the valueCodeableConcept.coding (if pre or post-coordinated) or coding.text to qualify. If you specify the component, then you're qualifying with the component.
Aziz Boxwala (Jan 31 2018 at 20:15):
Lloyd, would you consider ClinicalImpression or DetectedIssue as candidates for this use case. I recognize that both are early in the maturity stage.
Travis Stenerson (Jan 31 2018 at 20:27):
Thats a good thought Lloyd, that will work well.
Observation.code 'candidacy for procedure',
Obs.valueCodeableConcept 'candidate'|'not candidate',
Observation.component.code 'intervention or procedure',
Obs.component.valueCodeableConcept the coded procedure.
I'm hesitant to use ClinicalImpression until the resource matures. Detected issue would more apply to the second type of 'in preparation for specified order 1234, patient not a candidate'.
Lloyd McKenzie (Jan 31 2018 at 22:51):
DetectedIssue wouldn't be appropriate. It's for contraindications. ClinicalImpression seems like overkill for the use-case and it's not sure whether it'll be retained.
Travis Stenerson (Feb 02 2018 at 21:57):
Quick follow-up to this:
If I restrict component to 1..1, is slicing necessary still?
Also, code, value[x], component.code and component.value[x] can all exist in one observation? As in, is observation.value mutually exclusive with observation.component ? (I don't think so I just haven't seen examples with both)
Lloyd McKenzie (Feb 03 2018 at 03:24):
In general, setting a maximum cardinality should be avoided. Doing so means that systems that have information beyond what you care to pay attention to have to customize their interface to talk to you - i.e. you're making communication partners spend money to remove things that you can ignore for free. That's not a "polite" thing to do in the interoperability space. It also significantly reduces your prospect of working with other systems out of the box - or even at all.
Lloyd McKenzie (Feb 03 2018 at 03:26):
Observation.value and component can exist together - for example an APGAR score would be communicated in Observation.valueCodeableConcept, while the individual components (color, cry, etc.) would be components.
Eric Haas (Feb 03 2018 at 17:32):
(deleted)
Last updated: Apr 12 2022 at 19:14 UTC