HL7 Version 2 to FHIR
1.0.0 - STU 1

HL7 Version 2 to FHIR - Downloaded Version 1.0.0 See the Directory of published versions

## ConceptMap: Segment PR1 to Procedure Map (Experimental)

Official URL: http://hl7.org/fhir/uv/v2mappings/ConceptMap/segment-pr1-to-procedure | Version: 1.0.0
Standards status: Informative | Computable Name: SegmentPR1ToProcedure
Copyright/Legal: Copyright (c) 2025, HL7 International, Inc., All Rights Reserved.

This ConceptMap represents a mapping from the HL7 V2 Segment PR1 to the FHIR Procedure Resource.

This ConceptMap represents the mapping from the HL7 V2 PR1 Segment to the FHIR Procedure Resource. See also the FHIR Shorthand or the CSV Source.

HL7 v2 | Condition (IF True, args) | HL7 FHIR | Comments
--- | --- | --- | ---
Sort Order | Identifier | Name | Data Type | Cardinality - Min | Cardinality - Max | Computable ANTLR | Computable FHIRPath | Narrative | FHIR Attribute | Extension | Data Type | Cardinality - Min | Cardinality - Max | Data Type Mapping | Vocabulary Mapping (IS, ID, CE, CEN, CWE) | Assignment
0 | PR1 |  |  |  |  |  |  | The value mapping depends on the message context where the PR1 is used and to be determined by the implementer. If not clear, use "unknown". | Procedure.status |  | code | 1 | 1 |  |  |  |
1 | PR1-1 | Set ID - PR1 | SI | 1 | 1 |  |  |  |  |  |  |  |  |  |  |  |
2 | PR1-2 | Procedure Coding Method | IS | 1 | -1 |  |  |  |  |  |  |  |  |  |  |  | PR1-2 was deprecated in v2.3
3 | PR1-3 | Procedure Code | CNE | 1 | -1 |  |  |  | code |  | CodeableConcept | 0 | 1 | CNE[CodeableConcept] |  |  |
4 | PR1-4 | Procedure Description | ST | 0 | -1 | IF PR1-3.9 NOT VALUED |  |  | Procedure.code.text |  | string | 0 | 1 |  |  |  | PR1-4 was deprecated in v2.3
5 | PR1-5 | Procedure Date/Time | DTM | 1 | 1 | IF PR1-7 NOT VALUED |  |  | Procedure.performedDateTime |  | dateTime | 0 | 1 |  |  |  |
5 | PR1-5 | Procedure Date/Time | DTM | 1 | 1 | IF PR1-7 VALUED AND PR1-5.5 NOT VALUED |  |  | Procedure.performedDateTime |  | dateTime | 0 | 1 |  |  |  | The Procedure date/time must be at least to the granularity of minutes if a performedPeriod is to be created from PR1-5 and PR1-7
5 | PR1-5 | Procedure Date/Time | DTM | 1 | 1 | IF PR1-7 VALUED AND PR1-5.5 VALUED |  |  | Procedure.performedPeriod.start |  | dateTime | 0 | 1 |  |  |  |
6 | PR1-6 | Procedure Functional Type | CWE | 0 | 1 |  |  |  | Procedure.category |  | CodeableConcept | 0 | 1 | CWE[CodeableConcept] |  |  |
7 | PR1-7 | Procedure Minutes | NM | 0 | 1 | IF PR1-5.5 IS VALUED |  |  | Procedure.performedPeriod.end |  | dateTime | 0 | 1 |  |  | Procedure.performedPeriod.start+PR1-7 | The number of minutes in PR1-7 must be added to the time in PR1-5 to get the endpoint of the performedPeriod (note that other elements of the date/time (hours, date, etc) may also need to be changed depending on the length of the procedure)
7 | PR1-7 | Procedure Minutes | NM | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
8 | PR1-8 | Anesthesiologist | XCN | 0 | -1 |  |  |  | Procedure.performer.actor(Procedure.Practitioner) |  | Reference(Procedure.Practitioner) | 0 | 1 | XCN[Practitioner] |  |  |
8 | PR1-8 | Anesthesiologist | XCN | 0 | -1 |  |  |  | Procedure.performer.function.coding.code |  | CodeableConcept | 0 | 1 |  |  | "88189002" |
8 | PR1-8 | Anesthesiologist | XCN | 0 | -1 |  |  |  | Procedure.performer.function.coding.uri |  | uri | 0 | 1 |  |  | "http://snomed.info/sct" |
9 | PR1-9 | Anesthesia Code | CWE | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
10 | PR1-10 | Anesthesia Minutes | NM | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
11 | PR1-11 | Surgeon | XCN | 0 | -1 |  |  |  | Procedure.performer.actor(Procedure.Practitioner) |  | Reference(Procedure.Practitioner) | 0 | 1 | XCN[Practitioner] |  |  |
11 | PR1-11 | Surgeon | XCN | 0 | -1 |  |  |  | Procedure.performer.function.coding.code |  | CodeableConcept | 0 | 1 |  |  | "304292004" |
11 | PR1-11 | Surgeon | XCN | 0 | -1 |  |  |  | Procedure.performer.function.coding.uri |  | uri | 0 | 1 |  |  | "http://snomed.info/sct" |
12 | PR1-12 | Procedure Practitioner | XCN | 0 | -1 |  |  |  | Procedure.performer.actor(Procedure.Practitioner) |  | Reference(Procedure.Practitioner) | 0 | 1 | XCN[Practitioner] |  |  | Because PR1-12 is less specific than other fields in PR1 in regards to the role of the practitioner, this mapping is not providing a default code for performer.function. But if an implementation knows the function of the providers being exchanged in PR1-12, than a implementation-specific value for performer.function may be assigned on a case by case basis.
13 | PR1-13 | Consent Code | CWE | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
14 | PR1-14 | Procedure Priority | NM | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
15 | PR1-15 | Associated Diagnosis Code | CWE | 0 | 1 |  |  |  | Procedure.reasonCode |  | CodeableConcept | 0 | -1 | CWE[CodeableConcept] |  |  |
16 | PR1-16 | Procedure Code Modifier | CNE | 0 | -1 |  |  |  | Procedure.code.value |  | CodeableConcept | 0 | 1 | CNE[CodeableConcept] |  | PR1-3.1 + ":" + PR1-16.1 | If there are multiple modifiers, they are all further concatenated using the ":" as the separator into Procedure.code.value in accordance to the guidance here: https://terminology.hl7.org/CPT.html#modifier-syntax
17 | PR1-17 | Procedure DRG Type | CWE | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
18 | PR1-18 | Tissue Type Code | CWE | 0 | -1 |  |  |  |  |  |  |  |  |  |  |  |
19 | PR1-19 | Procedure Identifier | EI | 0 | 1 |  |  |  | Identifier |  | Identifier | 0 | -1 | EI[Identifier-Extension] |  |  |
20 | PR1-20 | Procedure Action Code | ID | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
21 | PR1-21 | DRG Procedure Determination Status | CWE | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
22 | PR1-22 | DRG Procedure Relevance | CWE | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
23 | PR1-23 | Treating Organizational Unit | PL | 0 | -1 |  |  |  | Procedure.location(Procedure.Location) |  | Reference(Procedure.Location) | 0 | 1 | PL[Location] |  |  | We will address >=2 cardinality if somebody raises the need.
24 | PR1-24 | Respiratory Within Surgery | ID | 0 | 1 |  |  |  |  |  |  |  |  |  |  |  |
25 | PR1-25 | Parent Procedure ID | EI | 0 | 1 |  |  |  | Procedure.partOf(Procedure.Procedure.identifier) |  | Reference(Procedure.Procedure) | 0 | -1 | EI[Identifier-Extension] |  |  | Procedure.partOf should contain the reference to another Procedure resource where Procedure.identifier matches the value of PR1-25

Mapping from (not specified) to (not specified)

Group 1 Mapping from `unspecified code system` to `unspecified code system`

Source Concept Details | Relationship | Target Concept Details | Comment
Codes from | NarrativeCondition | ComputableANTLR |  | Codes from |
PR1 |  | The value mapping depends on the message context where the PR1 is used and to be determined by the implementer. If not clear, use "unknown". |  | is equivalent to | status | status |
PR1-3 | Procedure Code |  |  | is equivalent to | code[1] | code[1] |
PR1-4 | Procedure Description |  | IF PR1-3.9 NOT VALUED | is equivalent to | code.text | code.text | PR1-4 was deprecated in v2.3
PR1-5 | Procedure Date/Time |  | IF PR1-7 NOT VALUED | is equivalent to | performedDateTime | performedDateTime |
PR1-5 | Procedure Date/Time |  | IF PR1-7 VALUED AND PR1-5.5 NOT VALUED | is equivalent to | performedDateTime | performedDateTime | The Procedure date/time must be at least to the granularity of minutes if a performedPeriod is to be created from PR1-5 and PR1-7
PR1-5 | Procedure Date/Time |  | IF PR1-7 VALUED AND PR1-5.5 VALUED | is equivalent to | performedPeriod.start | performedPeriod.start |
PR1-6 | Procedure Functional Type |  |  | is equivalent to | category | category |
PR1-7 | Procedure Minutes |  | IF PR1-5.5 IS VALUED | is equivalent to | performedPeriod.end | performedPeriod.end | The number of minutes in PR1-7 must be added to the time in PR1-5 to get the endpoint of the performedPeriod (note that other elements of the date/time (hours, date, etc) may also need to be changed depending on the length of the procedure)
PR1-8 | Anesthesiologist |  |  | is equivalent to | performer[1].actor(Practitioner) | performer[1].actor(Practitioner) |
PR1-8 | Anesthesiologist |  |  | is equivalent to | performer[1].function.coding.code | performer[1].function.coding.code |
PR1-8 | Anesthesiologist |  |  | is equivalent to | performer[1].function.coding.uri | performer[1].function.coding.uri |
PR1-11 | Surgeon |  |  | is equivalent to | performer[2].actor(Practitioner) | performer[2].actor(Practitioner) |
PR1-11 | Surgeon |  |  | is equivalent to | performer[2].function.coding.code | performer[2].function.coding.code |
PR1-11 | Surgeon |  |  | is equivalent to | performer[2].function.coding.uri | performer[2].function.coding.uri |
PR1-12 | Procedure Practitioner |  |  | is equivalent to | performer[3].actor(Practitioner) | performer[3].actor(Practitioner) | Because PR1-12 is less specific than other fields in PR1 in regards to the role of the practitioner, this mapping is not providing a default code for performer.function. But if an implementation knows the function of the providers being exchanged in PR1-12, than a implementation-specific value for performer.function may be assigned on a case by case basis.
PR1-15 | Associated Diagnosis Code |  |  | is equivalent to | reasonCode | reasonCode |
PR1-16 | Procedure Code Modifier |  |  | is equivalent to | code[1].value | code[1].value | If there are multiple modifiers, they are all further concatenated using the ":" as the separator into Procedure.code.value in accordance to the guidance here: https://terminology.hl7.org/CPT.html#modifier-syntax
PR1-19 | Procedure Identifier |  |  | is equivalent to | identifier | identifier |
PR1-23 | Treating Organizational Unit |  |  | is equivalent to | location(Location) | location(Location) | We will address >=2 cardinality if somebody raises the need.
PR1-25 | Parent Procedure ID |  |  | is equivalent to | partOf(Procedure.identifier) | partOf(Procedure.identifier) | Procedure.partOf should contain the reference to another Procedure resource where Procedure.identifier matches the value of PR1-25

### Notes: