Source | hl7.fhir.uv.extensions.r4#1.0.0:FHIR Extensions Pack (v4.0.1) |
resourceType | StructureMap |
id | ConceptMap5to4B |
canonical | http://hl7.org/fhir/StructureMap/ConceptMap5to4B |
version | 1.0.0 |
status | active |
publisher | HL7 International / FHIR Infrastructure |
name | ConceptMap5to4B |
title | FML Conversion for ConceptMap: R5 to R4B |
date | 2023-03-26T08:47:34+11:00 |
description | FMLConversionforConceptMapR5toR4B |
jurisdictions | uv |
Usages | (none) |
/// url = 'http://hl7.org/fhir/StructureMap/ConceptMap5to4B' /// name = 'ConceptMap5to4B' /// title = 'FML Conversion for ConceptMap: R5 to R4B' /// status = 'active' conceptmap " ConceptMapGroupUnmappedMode " { prefix s = " http://hl7.org/fhir/conceptmap-unmapped-mode " prefix t = " http://hl7.org/fhir/4.3/conceptmap-unmapped-mode " s : "use-source-code" - t : provided s : fixed - t : fixed s : "other-map" - t : " other-map " } conceptmap " ConceptMapRelationship " { prefix s = " http://hl7.org/fhir/concept-map-relationship " prefix t = " http://hl7.org/fhir/4.3/concept-map-equivalence " s : "related-to" - t : relatedto s : equivalent - t : equivalent s : "source-is-narrower-than-target" - t : wider s : "source-is-broader-than-target" - t : narrower s : "not-related-to" - t : unmatched } conceptmap " PublicationStatus " { prefix s = " http://hl7.org/fhir/publication-status " prefix t = " http://hl7.org/fhir/4.3/publication-status " s : draft - t : draft s : active - t : active s : retired - t : retired s : unknown - t : unknown } uses " http://hl7.org/fhir/StructureDefinition/ConceptMap " alias ConceptMapR5 as source uses " http://hl7.org/fhir/4.3/StructureDefinition/ConceptMap " alias ConceptMapR4B as target imports " http://hl7.org/fhir/StructureMap/*5to4B " group ConceptMap ( source src : ConceptMapR5, target tgt : ConceptMapR4B ) extends DomainResource <<type+>> { src.url -> tgt.url ; src.identifier -> tgt.identifier ; src.version -> tgt.version ; src.name -> tgt.name ; // src.versionAlgorithm : string -> tgt.versionAlgorithm; src.title -> tgt.title ; src.status as v -> tgt.status = translate ( v , '#PublicationStatus' , 'code' ) ; src.experimental -> tgt.experimental ; src.date -> tgt.date ; src.publisher -> tgt.publisher ; src.contact -> tgt.contact ; src.description -> tgt.description ; src.useContext -> tgt.useContext ; src.jurisdiction -> tgt.jurisdiction ; src.purpose -> tgt.purpose ; src.copyright -> tgt.copyright ; src.sourceScope : uri -> tgt.source ; // src.copyrightLabel -> tgt.copyrightLabel; src.sourceScope : canonical -> tgt.source ; src.targetScope : uri -> tgt.target ; src.targetScope : canonical -> tgt.target ; src.group as s -> tgt.group as t then ConceptMapGroup ( s , t , src ) ; } group ConceptMapGroup ( source src , target tgt , source srcMap ) extends BackboneElement { src.source -> tgt.source ; src.target -> tgt.target ; src.element as s -> tgt.element as t then ConceptMapGroupElement ( s , t , srcMap ) ; src.unmapped as s -> tgt.unmapped as t then ConceptMapGroupUnmapped ( s , t ) ; } group ConceptMapGroupElement ( source src , target tgt , source srcMap ) extends BackboneElement { src.code -> tgt.code ; src.display -> tgt.display ; src.noMap as s -> tgt.target as t , t.equivalence = 'unmatched' ; // src.valueSet -> tgt.valueSet; src.target as s -> tgt.target as t then ConceptMapGroupElementTarget ( s , t , srcMap ) ; } group ConceptMapGroupElementTarget ( source src , target tgt , source srcMap ) extends BackboneElement { src.code -> tgt.code ; src.display -> tgt.display ; src.relationship as v -> tgt.equivalence = translate ( v , '#ConceptMapRelationship' , 'code' ) ; // src.valueSet -> tgt.valueSet; src.comment -> tgt.comment ; src.dependsOn as s -> tgt.dependsOn as t then ConceptMapGroupElementTargetDependsOn ( s , t , srcMap ) ; // src.property as s -> tgt.property as t then ConceptMapGroupElementTargetProperty(s,t); src.product as s -> tgt.product as t then ConceptMapGroupElementTargetDependsOn ( s , t , srcMap ) ; } group ConceptMapGroupElementTargetDependsOn ( source src , target tgt , source srcMap ) extends BackboneElement { src.attribute as s -> tgt.property = ( %srcMap.additionalAttribute.where(code = %s).uri ) ; src.value : code -> tgt.value ; src.value : Coding as s -> tgt then { s.system -> tgt.system ; s.code -> tgt.value ; s.display -> tgt.display ; } ; // todo: look up system from srcMap.additionalAttribute src.value : string -> tgt.value ; } group ConceptMapGroupUnmapped ( source src , target tgt ) extends BackboneElement { src.mode as v -> tgt.mode = translate ( v , '#ConceptMapGroupUnmappedMode' , 'code' ) ; src.code -> tgt.code ; src.display -> tgt.display ; src.otherMap -> tgt.url ; // src.valueSet -> tgt.valueSet; }
Produced 06 Apr 2023