FHIR Extensions Pack
5.1.0 - 5.1.0 (April 2024) International flag

This page is part of the FHIR Core Extensions Registry (v5.1.0: Release 5.1) based on FHIR (HL7® FHIR® Standard) v5.0.0. This is the current published version. For a full list of available versions, see the Directory of published versions

StructureMap: FML Conversion for VerificationResult: R5 to R4

Official URL: http://hl7.org/fhir/StructureMap/VerificationResult5to4 Version: 5.1.0
Standards status: Trial-use Maturity Level: 1 Computable Name: VerificationResult5to4

FMLConversionforVerificationResultR5toR4

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

conceptmap "status" {
  prefix s = "http://hl7.org/fhir/CodeSystem/verificationresult-status"
  prefix t = "http://hl7.org/fhir/4.0/CodeSystem/status"

  s:attested - t:attested
  s:validated - t:validated
  s:"in-process" - t:"in-process"
  s:"req-revalid" - t:"req-revalid"
  s:"val-fail" - t:"val-fail"
  s:"reval-fail" - t:"reval-fail"
}

uses "http://hl7.org/fhir/StructureDefinition/VerificationResult" alias VerificationResultR5 as source
uses "http://hl7.org/fhir/4.0/StructureDefinition/VerificationResult" alias VerificationResultR4 as target

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

group VerificationResult(source src : VerificationResultR5, target tgt : VerificationResultR4) extends DomainResource <<type+>> {
  src.target -> tgt.target;
  src.targetLocation -> tgt.targetLocation;
  src.need -> tgt.need;
  src.status as v -> tgt.status = translate(v, '#status', 'code');
  src.statusDate -> tgt.statusDate;
  src.validationType -> tgt.validationType;
  src.validationProcess -> tgt.validationProcess;
  src.frequency -> tgt.frequency;
  src.lastPerformed -> tgt.lastPerformed;
  src.nextScheduled -> tgt.nextScheduled;
  src.failureAction -> tgt.failureAction;
  src.primarySource as s -> tgt.primarySource as t then VerificationResultPrimarySource(s, t);
  src.attestation as s -> tgt.attestation as t then VerificationResultAttestation(s, t);
  src.validator as s -> tgt.validator as t then VerificationResultValidator(s, t);
}

group VerificationResultPrimarySource(source src, target tgt) extends BackboneElement {
  src.who -> tgt.who;
  src.type -> tgt.type;
  src.communicationMethod -> tgt.communicationMethod;
  src.validationStatus -> tgt.validationStatus;
  src.validationDate -> tgt.validationDate;
  src.canPushUpdates -> tgt.canPushUpdates;
  src.pushTypeAvailable -> tgt.pushTypeAvailable;
}

group VerificationResultAttestation(source src, target tgt) extends BackboneElement {
  src.who -> tgt.who;
  src.onBehalfOf -> tgt.onBehalfOf;
  src.communicationMethod -> tgt.communicationMethod;
  src.date -> tgt.date;
  src.sourceIdentityCertificate -> tgt.sourceIdentityCertificate;
  src.proxyIdentityCertificate -> tgt.proxyIdentityCertificate;
  src.proxySignature -> tgt.proxySignature;
  src.sourceSignature -> tgt.sourceSignature;
}

group VerificationResultValidator(source src, target tgt) extends BackboneElement {
  src.organization -> tgt.organization;
  src.identityCertificate -> tgt.identityCertificate;
  src.attestationSignature -> tgt.attestationSignature;
}