SGHI FHIR Profile Implementation Guide
0.1.0 - ci-build

SGHI FHIR Profile Implementation Guide, published by Kathurima Kimathi. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/savannahghi/sil_fhir_profile_ig/ and changes regularly. See the Directory of published versions

## Resource Profile: SGHIProcedure - Mappings

Draft as of 2026-05-21

Mappings for the procedure resource profile.

#### Mappings to Structures in this Implementation Guide

No Mappings Found

#### Mappings to other Structures

No Mappings Found

#### Other Mappings

Name | Workflow Pattern | FiveWs Pattern Mapping | RIM Mapping | HL7 V2 Mapping
--- | --- | --- | --- | ---
Procedure | Event | clinical.general | Entity Role or Act Procedure[moodCode=EVN] |
id |  |  |  |
meta |  |  |  |
implicitRules |  |  |  |
language |  |  |  |
text |  |  | Act.text? |
contained |  |  | N/A |
extension |  |  | N/A |
modifierExtension |  |  | N/A |
identifier | Event.identifier | FiveWs.identifier | .id | PR1-19
id |  |  | n/a |
extension |  |  | n/a |
use |  |  | Role.code or implied by context | N/A
type |  |  | Role.code or implied by context | CX.5
system |  |  | II.root or Role.id.root | CX.4 / EI-2-4
value |  |  | II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root) | CX.1 / EI.1
period |  |  | Role.effectiveTime or implied by context | CX.7 + CX.8
assigner |  |  | II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper | CX.4 / (CX.4 CX.9 CX.10)
instantiatesCanonical | Event.instantiatesCanonical |  | .outboundRelationship[typeCode=DEFN].target |
instantiatesUri | Event.instantiatesUri |  | .outboundRelationship[typeCode=DEFN].target |
basedOn | Event.basedOn |  | .outboundRelationship[typeCode=FLFS].target[classCode=(various e.g. PROC OBS PCPR ACT moodCode=RQO].code |
partOf | Event.partOf |  | .inboundRelationship[typeCode=COMP].source[classCode=SBADM or PROC or OBS moodCode=EVN] | PR1-25
status | Event.status | FiveWs.status | statusCode |
statusReason | Event.statusReason |  | .reason.Observation.value |
category |  | FiveWs.class | .outboundRelationship[typeCode="COMP].target[classCode="LIST" moodCode="EVN"].code | PR1-6
code | Event.code | FiveWs.what[x] | .code | PR1-3
id |  |  | n/a |
extension |  |  | n/a |
coding |  |  | union(. ./translation) | C*E.1-8 C*E.10-22
id |  |  | n/a |
extension |  |  | n/a |
system |  |  | ./codeSystem | C*E.3
version |  |  | ./codeSystemVersion | C*E.7
code |  |  | ./code | C*E.1
display |  |  | CV.displayName | C*E.2 - but note this is not well followed
userSelected |  |  | CD.codingRationale | Sometimes implied by being first
text |  |  | ./originalText[mediaType/code="text/plain"]/data | C*E.9. But note many systems use C*E.2 for this
subject | Event.subject | FiveWs.subject[x] | .participation[typeCode=SBJ].role | PID-3
focus |  | FiveWs.subject[x] |  |
encounter | Event.encounter | FiveWs.context | .inboundRelationship[typeCode=COMP].source[classCode=ENC moodCode=EVN] | PV1-19
Slices for occurrence[x] | Event.occurrence[x] | FiveWs.done[x] | .effectiveTime | PR1-5 - occurrencePeriod.end can be inferred when both PR1-5 (Procedure Date/Time) and PR1-7 (Procedure Minutes) are populated
occurrence[x]:occurrenceDateTime | Event.occurrence[x] | FiveWs.done[x] | .effectiveTime | PR1-5 - occurrencePeriod.end can be inferred when both PR1-5 (Procedure Date/Time) and PR1-7 (Procedure Minutes) are populated
recorded | Event.recorded | FiveWs.recorded | .participation[typeCode=AUT].time |
recorder |  | FiveWs.author | .participation[typeCode=AUT].role |
reported[x] | Event.reported[x] | FiveWs.source | .participation[typeCode=RPT].role |
performer | Event.performer |  | .participation[typeCode=PRF] |
id |  |  | n/a |
extension |  |  | n/a |
modifierExtension |  |  | N/A |
function | Event.performer.function |  | .functionCode | Some combination of STF-18 / PRA-3 / PRT-4 / ROL-3 / ORC-12 / OBR-16 / PV1-7 / PV1-8 / PV1-9 / PV1-17 / OBX-25
actor | Event.performer.actor | FiveWs.actor | .role | PR1-8 (Anesthesiologist) PR1-11 (Surgeon) PR1-12 (Procedure Practitioner) --> Procedure.performer.actor where Procedure.performer.function is also populated
onBehalfOf |  |  | .scoper |
period |  |  |  |
location |  | FiveWs.where[x] | .participation[typeCode=LOC].role[classCode=SDLOC] | PR1-23
reason | Event.reason | FiveWs.why[x] | .reasonCode | PR1-15
bodySite |  |  | .targetSiteCode | OBX-20
outcome |  |  | .outboundRelationship[typeCode=OUT].target.text |
report |  |  | .inboundRelationship[typeCode=SUBJ].source[classCode=OBS moodCode=EVN] |
complication |  |  | .outboundRelationship[typeCode=OUTC].target[classCode=OBS code="complication" moodCode=EVN].value |
followUp |  |  | .outboundRelationship[typeCode=COMP].target[classCode=ACT moodCode=INT].code |
note | Event.note |  | .inboundRelationship[typeCode=SUBJ].source[classCode=OBS moodCode=EVN code="annotation"].value | NTE
focalDevice |  |  | .participation[typeCode=DEV].role[classCode=MANU] |
id |  |  | n/a |
extension |  |  | n/a |
modifierExtension |  |  | N/A |
action |  |  | .inboundRelationship[typeCode=SUBJ].source[classCode=OBS moodCode=EVN procedure device action codes |
manipulated |  |  | .participation[typeCode=DEV].role[classCode=SDLOC] |
used |  |  | participation[typeCode=Dev].role[classCode=MANU] |
supportingInfo |  |  | .outboundRelationship[typeCode=PERT].target |
Documentation for this format