FHIR Extensions Pack v5.1.0-cibuild (2024-02-16)

FHIR Extensions Pack, published by HL7 International / FHIR Infrastructure. This guide is not an authorized publication; it is the continuous build for version 5.1.0-cibuild built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/fhir-extensions/ and changes regularly. See the Directory of published versions

FHIR Infrastructure Work GroupMaturity Level: N/AStandards Status: InformativeSecurity Category: N/A Compartments: N/A

Following are maps for converting between the equivalent R4B resource and this R5 resource.

Maps to OperationOutcome

FML Conversion for OperationOutcome: R5 to R4 (Ready for Use/Trial Use)

/// url = 'http://hl7.org/fhir/StructureMap/OperationOutcome5to4'
/// name = 'OperationOutcome5to4'
/// title = 'FML Conversion for OperationOutcome: R5 to R4'
/// status = 'active'

conceptmap "IssueSeverity" {
  prefix s = "http://hl7.org/fhir/issue-severity"
  prefix t = "http://hl7.org/fhir/4.0/issue-severity"

  s:fatal - t:fatal
  s:error - t:error
  s:warning - t:warning
  s:information - t:information
}

conceptmap "IssueType" {
  prefix s = "http://hl7.org/fhir/issue-type"
  prefix t = "http://hl7.org/fhir/4.0/issue-type"

  s:invalid - t:invalid
  s:structure - t:structure
  s:required - t:required
  s:value - t:value
  s:invariant - t:invariant
  s:security - t:security
  s:login - t:login
  s:unknown - t:unknown
  s:expired - t:expired
  s:forbidden - t:forbidden
  s:suppressed - t:suppressed
  s:processing - t:processing
  s:"not-supported" - t:"not-supported"
  s:duplicate - t:duplicate
  s:"multiple-matches" - t:"multiple-matches"
  s:"not-found" - t:"not-found"
  s:deleted - t:deleted
  s:"too-long" - t:"too-long"
  s:"code-invalid" - t:"code-invalid"
  s:extension - t:extension
  s:"too-costly" - t:"too-costly"
  s:"business-rule" - t:"business-rule"
  s:conflict - t:conflict
  s:transient - t:transient
  s:"lock-error" - t:"lock-error"
  s:"no-store" - t:"no-store"
  s:exception - t:exception
  s:timeout - t:timeout
  s:incomplete - t:incomplete
  s:throttled - t:throttled
  s:informational - t:informational
}

uses "http://hl7.org/fhir/StructureDefinition/OperationOutcome" alias OperationOutcomeR5 as source
uses "http://hl7.org/fhir/4.0/StructureDefinition/OperationOutcome" alias OperationOutcomeR4 as target

imports "http://hl7.org/fhir/StructureMap/*5to4"

group OperationOutcome(source src : OperationOutcomeR5, target tgt : OperationOutcomeR4) extends DomainResource <<type+>> {
  src.issue as s -> tgt.issue as t then OperationOutcomeIssue(s, t);
}

group OperationOutcomeIssue(source src, target tgt) extends BackboneElement {
  src.severity as v -> tgt.severity = translate(v, '#IssueSeverity', 'code');
  src.code as v -> tgt.code = translate(v, '#IssueType', 'code');
  src.details -> tgt.details;
  src.diagnostics -> tgt.diagnostics;
  src.location -> tgt.location;
  src.expression -> tgt.expression;
}

FML Conversion for OperationOutcome: R5 to R4B (Ready for Use/Trial Use)

/// url = 'http://hl7.org/fhir/StructureMap/OperationOutcome5to4B'
/// name = 'OperationOutcome5to4B'
/// title = 'FML Conversion for OperationOutcome: R5 to R4B'
/// status = 'active'

conceptmap "IssueSeverity" {
  prefix s = "http://hl7.org/fhir/issue-severity"
  prefix t = "http://hl7.org/fhir/4.3/issue-severity"

  s:fatal - t:fatal
  s:error - t:error
  s:warning - t:warning
  s:information - t:information
}

conceptmap "IssueType" {
  prefix s = "http://hl7.org/fhir/issue-type"
  prefix t = "http://hl7.org/fhir/4.3/issue-type"

  s:invalid - t:invalid
  s:structure - t:structure
  s:required - t:required
  s:value - t:value
  s:invariant - t:invariant
  s:security - t:security
  s:login - t:login
  s:unknown - t:unknown
  s:expired - t:expired
  s:forbidden - t:forbidden
  s:suppressed - t:suppressed
  s:processing - t:processing
  s:"not-supported" - t:"not-supported"
  s:duplicate - t:duplicate
  s:"multiple-matches" - t:"multiple-matches"
  s:"not-found" - t:"not-found"
  s:deleted - t:deleted
  s:"too-long" - t:"too-long"
  s:"code-invalid" - t:"code-invalid"
  s:extension - t:extension
  s:"too-costly" - t:"too-costly"
  s:"business-rule" - t:"business-rule"
  s:conflict - t:conflict
  s:transient - t:transient
  s:"lock-error" - t:"lock-error"
  s:"no-store" - t:"no-store"
  s:exception - t:exception
  s:timeout - t:timeout
  s:incomplete - t:incomplete
  s:throttled - t:throttled
  s:informational - t:informational
}

uses "http://hl7.org/fhir/StructureDefinition/OperationOutcome" alias OperationOutcomeR5 as source
uses "http://hl7.org/fhir/4.3/StructureDefinition/OperationOutcome" alias OperationOutcomeR4B as target

imports "http://hl7.org/fhir/StructureMap/*5to4B"

group OperationOutcome(source src : OperationOutcomeR5, target tgt : OperationOutcomeR4B) extends DomainResource <<type+>> {
  src.issue as s -> tgt.issue as t then OperationOutcomeIssue(s, t);
}

group OperationOutcomeIssue(source src, target tgt) extends BackboneElement {
  src.severity as v -> tgt.severity = translate(v, '#IssueSeverity', 'code');
  src.code as v -> tgt.code = translate(v, '#IssueType', 'code');
  src.details -> tgt.details;
  src.diagnostics -> tgt.diagnostics;
  src.location -> tgt.location;
  src.expression -> tgt.expression;
}

Maps from OperationOutcome

FML Conversion for OperationOutcome: R4B to R5 (Ready for Use/Trial Use)

/// url = 'http://hl7.org/fhir/StructureMap/OperationOutcome4Bto5'
/// name = 'OperationOutcome4Bto5'
/// title = 'FML Conversion for OperationOutcome: R4B to R5'
/// status = 'active'

conceptmap "IssueSeverity" {
  prefix s = "http://hl7.org/fhir/4.3/issue-severity"
  prefix t = "http://hl7.org/fhir/issue-severity"

  s:fatal - t:fatal
  s:error - t:error
  s:warning - t:warning
  s:information - t:information
}

conceptmap "IssueType" {
  prefix s = "http://hl7.org/fhir/4.3/issue-type"
  prefix t = "http://hl7.org/fhir/issue-type"

  s:invalid - t:invalid
  s:structure - t:structure
  s:required - t:required
  s:value - t:value
  s:invariant - t:invariant
  s:security - t:security
  s:login - t:login
  s:unknown - t:unknown
  s:expired - t:expired
  s:forbidden - t:forbidden
  s:suppressed - t:suppressed
  s:processing - t:processing
  s:"not-supported" - t:"not-supported"
  s:duplicate - t:duplicate
  s:"multiple-matches" - t:"multiple-matches"
  s:"not-found" - t:"not-found"
  s:deleted - t:deleted
  s:"too-long" - t:"too-long"
  s:"code-invalid" - t:"code-invalid"
  s:extension - t:extension
  s:"too-costly" - t:"too-costly"
  s:"business-rule" - t:"business-rule"
  s:conflict - t:conflict
  s:transient - t:transient
  s:"lock-error" - t:"lock-error"
  s:"no-store" - t:"no-store"
  s:exception - t:exception
  s:timeout - t:timeout
  s:incomplete - t:incomplete
  s:throttled - t:throttled
  s:informational - t:informational
}

uses "http://hl7.org/fhir/4.3/StructureDefinition/OperationOutcome" alias OperationOutcomeR4B as source
uses "http://hl7.org/fhir/StructureDefinition/OperationOutcome" alias OperationOutcomeR5 as target

imports "http://hl7.org/fhir/StructureMap/*4Bto5"

group OperationOutcome(source src : OperationOutcomeR4B, target tgt : OperationOutcomeR5) extends DomainResource <<type+>> {
  src.issue as s -> tgt.issue as t then OperationOutcomeIssue(s, t);
}

group OperationOutcomeIssue(source src, target tgt) extends BackboneElement {
  src.severity as v -> tgt.severity = translate(v, '#IssueSeverity', 'code');
  src.code as v -> tgt.code = translate(v, '#IssueType', 'code');
  src.details -> tgt.details;
  src.diagnostics -> tgt.diagnostics;
  src.location -> tgt.location;
  src.expression -> tgt.expression;
}

FML Conversion for OperationOutcome: R4 to R5 (Ready for Use/Trial Use)

/// url = 'http://hl7.org/fhir/StructureMap/OperationOutcome4to5'
/// name = 'OperationOutcome4to5'
/// title = 'FML Conversion for OperationOutcome: R4 to R5'
/// status = 'active'

conceptmap "IssueSeverity" {
  prefix s = "http://hl7.org/fhir/4.0/issue-severity"
  prefix t = "http://hl7.org/fhir/issue-severity"

  s:fatal - t:fatal
  s:error - t:error
  s:warning - t:warning
  s:information - t:information
}

conceptmap "IssueType" {
  prefix s = "http://hl7.org/fhir/4.0/issue-type"
  prefix t = "http://hl7.org/fhir/issue-type"

  s:invalid - t:invalid
  s:structure - t:structure
  s:required - t:required
  s:value - t:value
  s:invariant - t:invariant
  s:security - t:security
  s:login - t:login
  s:unknown - t:unknown
  s:expired - t:expired
  s:forbidden - t:forbidden
  s:suppressed - t:suppressed
  s:processing - t:processing
  s:"not-supported" - t:"not-supported"
  s:duplicate - t:duplicate
  s:"multiple-matches" - t:"multiple-matches"
  s:"not-found" - t:"not-found"
  s:deleted - t:deleted
  s:"too-long" - t:"too-long"
  s:"code-invalid" - t:"code-invalid"
  s:extension - t:extension
  s:"too-costly" - t:"too-costly"
  s:"business-rule" - t:"business-rule"
  s:conflict - t:conflict
  s:transient - t:transient
  s:"lock-error" - t:"lock-error"
  s:"no-store" - t:"no-store"
  s:exception - t:exception
  s:timeout - t:timeout
  s:incomplete - t:incomplete
  s:throttled - t:throttled
  s:informational - t:informational
}

uses "http://hl7.org/fhir/4.0/StructureDefinition/OperationOutcome" alias OperationOutcomeR4 as source
uses "http://hl7.org/fhir/StructureDefinition/OperationOutcome" alias OperationOutcomeR5 as target

imports "http://hl7.org/fhir/StructureMap/*4to5"

group OperationOutcome(source src : OperationOutcomeR4, target tgt : OperationOutcomeR5) extends DomainResource <<type+>> {
  src.issue as s -> tgt.issue as t then OperationOutcomeIssue(s, t);
}

group OperationOutcomeIssue(source src, target tgt) extends BackboneElement {
  src.severity as v -> tgt.severity = translate(v, '#IssueSeverity', 'code');
  src.code as v -> tgt.code = translate(v, '#IssueType', 'code');
  src.details -> tgt.details;
  src.diagnostics -> tgt.diagnostics;
  src.location -> tgt.location;
  src.expression -> tgt.expression;
}