Source | hl7.fhir.uv.extensions.r4#1.0.0:FHIR Extensions Pack (v4.0.1) |
resourceType | StructureMap |
id | ConceptMap4Bto5 |
canonical | http://hl7.org/fhir/StructureMap/ConceptMap4Bto5 |
version | 1.0.0 |
status | active |
publisher | HL7 International / FHIR Infrastructure |
name | ConceptMap4Bto5 |
title | FML Conversion for ConceptMap: R4B to R5 |
date | 2023-03-26T08:47:34+11:00 |
description | FMLConversionforConceptMapR4BtoR5 |
jurisdictions | uv |
Usages | (none) |
/// url = 'http://hl7.org/fhir/StructureMap/ConceptMap4Bto5' /// name = 'ConceptMap4Bto5' /// title = 'FML Conversion for ConceptMap: R4B to R5' /// status = 'active' conceptmap " ConceptMapGroupUnmappedMode " { prefix s = " http://hl7.org/fhir/4.3/conceptmap-unmapped-mode " prefix t = " http://hl7.org/fhir/conceptmap-unmapped-mode " s : provided - t : " use-source-code " s : fixed - t : fixed s : "other-map" - t : " other-map " } conceptmap " ConceptMapRelationship " { prefix s = " http://hl7.org/fhir/4.3/concept-map-equivalence " prefix t = " http://hl7.org/fhir/concept-map-relationship " s : relatedto - t : " related-to " s : inexact - t : " related-to " s : equivalent - t : equivalent s : equal - t : equivalent s : wider - t : " source-is-narrower-than-target " s : subsumes - t : " source-is-narrower-than-target " s : narrower - t : " source-is-broader-than-target " s : specializes - t : " source-is-broader-than-target " s : unmatched - t : " not-related-to " } conceptmap " PublicationStatus " { prefix s = " http://hl7.org/fhir/4.3/publication-status " prefix t = " http://hl7.org/fhir/publication-status " s : draft - t : draft s : active - t : active s : retired - t : retired s : unknown - t : unknown } uses " http://hl7.org/fhir/4.3/StructureDefinition/ConceptMap " alias ConceptMapR4B as source uses " http://hl7.org/fhir/StructureDefinition/ConceptMap " alias ConceptMapR5 as target imports " http://hl7.org/fhir/StructureMap/*4Bto5 " group ConceptMap ( source src : ConceptMapR4B, target tgt : ConceptMapR5 ) 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.source : uri -> tgt.sourceScope ; // src.copyrightLabel -> tgt.copyrightLabel; src.source : canonical -> tgt.sourceScope ; src.target : uri -> tgt.targetScope ; src.target : canonical -> tgt.targetScope ; src.group as s -> tgt.group as t then ConceptMapGroup ( s , t ) ; } group ConceptMapGroup ( source src , target tgt ) extends BackboneElement { src.source -> tgt.source ; src.target -> tgt.target ; src.element as s -> tgt.element as t then ConceptMapGroupElement ( s , t ) ; src.unmapped as s -> tgt.unmapped as t then ConceptMapGroupUnmapped ( s , t ) ; } group ConceptMapGroupElement ( source src , target tgt ) extends BackboneElement { src.code -> tgt.code ; src.display -> tgt.display ; src where src.target.all(equivalence = 'unmatched') as s -> tgt.noMap as t , t.value = 'true' "unmapped" ; // src.valueSet -> tgt.valueSet; src.target as s where s != unmatched -> tgt.target as t then ConceptMapGroupElementTarget ( s , t ) ; } group ConceptMapGroupElementTarget ( source src , target tgt ) extends BackboneElement { src.code -> tgt.code ; src.display -> tgt.display ; src.equivalence as v -> tgt.relationship = translate ( v , '#ConceptMapRelationship' , 'code' ) ; // src.valueSet -> tgt.valueSet; src.comment -> tgt.comment ; src.dependsOn as s -> tgt.dependsOn as t then ConceptMapGroupElementTargetDependsOn ( s , t ) ; // src.property as s -> tgt.property as t then ConceptMapGroupElementTargetProperty(s,t); src.product as s -> tgt.product as t then ConceptMapGroupElementTargetDependsOn ( s , t ) ; } group ConceptMapGroupElementTargetDependsOn ( source src , target tgt ) extends BackboneElement { src.property -> tgt.attribute ; src.value where src.system.empty() -> tgt.value ; // todo: move the URL to ConceptMap.additionalAttribute - needs a new mapping language feature src where src.system.exists() -> tgt.value = create ( 'Coding' ) as t then { src.system -> t.system ; src.value -> t.code ; src.display -> t.display ; } "attributeValue" ; } 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.url -> tgt.otherMap ; // src.valueSet -> tgt.valueSet; }
Produced 06 Apr 2023