There are a number of Resources that work together in this area. Useful suggested reading: https://www.hl7.org/fhir/workflow.html
The intention of the procedure is not given here (RH suggested that could be done in the categories element(s)), that more comes from the CarePlan (consider << 363675004 |Intents (nature of procedure values)|)
|Element / Cardinality||Current Mapping||Discussion|
|basedOn||Provides the link to the general CarePlan|
|preparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown|
See various items under << 129125009 |Procedure with explicit context (situation)|
394906002 |Procedure started (situation)|
416237000 |Procedure not done (situation)|
394908001 |Procedure stopped (situation)|
443938003 |Procedure carried out on subject (situation)|
399714002 |Procedure status unknown (situation)|
Note that some of the descendants of these concepts give some reason for the procedure not being performed.
485 SCT concepts
Note: Only relevant for the "not performed" as indicated by valueset name http://hl7.org/fhir/ValueSet/procedure-not-performed-reason. Could it apply to on hold / stopped status also? See also reasonCode for cases where procedure did occur.
Various cherry picked descendants of 129125009 |Procedure with explicit context (situation)|
This list is problematic because the values could contain substantial medical detail that may or may not detract/conflict with the procedure code itself.
7 SCT concepts
For searching, sorting and display purposes
We could also look at << 224930009 |Services (qualifier value)| or << 129264002 |Action (qualifier value)|
Surprised not to see 14734007 |Administrative procedure (procedure)|
JM: "Intervention" is a more general term than "procedure" which more obviously includes non-medical services such as Education, Social, Counselling, etc.
is-a 71388002 (Procedure)
The restriction to only procedures is correct in that it avoids conflict with the status type elements, but it may be that we will encounter records in the wild which use Procedures with explicit context. It is relevant that in Condition Resource we included < 413350009 |Finding with explicit context|.
KR/JC: Suggestion to not use a procedure with a "Has Focus" value to avoid overlap.
|performer.function||<< 223366009 |Healthcare professional (occupation)||
Used in conjunction with the actor element which is obligatory for the performer element which suggests any actor could potentially perform any role.
Further clarification with the PatientCare WorkGroup would be helpful here.
JR: Considered existing VS too narrow, could we open that up to more general <<265930003 |Education/welfare/health profession (occupation)| - would allow for Social Worker for example. Current set doesn't allow for ad-hoc care. Also, current does not describe a role. Self care does not appear to be an option here.
Procedure might seem unexpected, but - for example - a surgical procedure might have an anaesthetic procedure
note that we'd expect to either use a reasonCode(s) or reasonReference(s) but not a mix.
JC: Also consider addition of Finding with Explicit Context eg relating to some situation with the Mother
Note that this element is not mutually exclusive with reasonReference - there is no invariant declared due to issue with multiple cardinality. Proposed new datatype of codeableReference that would allow either a code or a reference in a single element - should be part of R5.
Consider << 363679005 |Imaging (procedure)| where the reason for the imaging procedure is for guidance as part of some other procedure being performed.
|is-a 442083009 (Anatomical or acquired body structure)|
Usual concerns about overlap as detailed in Terminology Binding but with procedures we have a particular issue with modeling for direct vs indirect finding sites. Possible general rule to use the indirect site, but safer (? ) to not populate the bodySite where the code element indicates some findingSite.
In consideration of removing bodySite, consider situation of multiple instances of a procedure which might be applied to many bodySites. In this use case we'd prefer the solution of bodySite being a specialization of the code's findingSite.
See also extension https://www.hl7.org/fhir/extension-procedure-targetbodystructure-definitions.html which allows the BodyStructure to be a reference to the relevant resource.
|All <! 106239005 |Modifier mainly for procedure (qualifier value)||
|is-a 404684003 (Clinical finding)|
Issue here of whether to avoid complications themselves, for example to use burn rather than 403695002 |Laser-induced burn (disorder)| which is a descendant of 116224001 |Complication of procedure (disorder)|.
It might simplify the lives of analysts of the future if we avoid using << 116223007 |Complication (disorder)| JC indicated that many complications may leave this hierarchy at some point.
Again the option to reference another resource instead of using a code here, but that either/or is not enforced.
A fairly random looking pick list (total 10) eg
18949003 Change of dressing
Wouldn't we expect some set of follow up procedures to be part of the care plan? Surprised not to see the ability to reference other resources here.
Seems more generally useful to allow any sort of Procedure to be used here. JC suggested also allowing ObservableEntities to indicate some test required.
|focalDevice.action||< 129264002 |Action (qualifier value)||
The device itself is referenced via focalDevice.manipulated
|usedCode||<< 49062001 |Device (physical object)||
The reference allows for all sorts of other Resources to be referenced, so is much more flexible than this element which can only be a Device. Suggestion that this is brought up with PatientCare workgroup.