FHIR Extensions Pack
1.0.0 - Working Copy International flag

This page is part of the FHIR Core Extensions Registry (v1.0.0: Releases) based on FHIR v5.0.0. This is the current published version in its permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions

StructureMap: FML Conversion for VerificationResult: R4B to R5

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

FMLConversionforVerificationResultR4BtoR5

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

conceptmap "status" {
  prefix s = "http://hl7.org/fhir/4.3/verificationresult-status"
  prefix t = "http://hl7.org/fhir/CodeSystem/verificationresult-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/4.3/StructureDefinition/VerificationResult" alias VerificationResultR4B as source
uses "http://hl7.org/fhir/StructureDefinition/VerificationResult" alias VerificationResultR5 as target

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

group VerificationResult(source src : VerificationResultR4B, target tgt : VerificationResultR5) 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;
}