National Directory of Healthcare Providers & Services (NDH) Implementation Guide, published by HL7 International / Patient Administration. This guide is not an authorized publication; it is the continuous build for version 2.0.0-current built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/fhir-us-ndh/ and changes regularly. See the Directory of published versions
| Official URL: http://hl7.org/fhir/us/ndh/StructureMap/PlanNetToNdhNetworkSM | Version: 2.0.0-current | ||||
| Standards status: Trial-use | Maturity Level: 4 | Computable Name: PlanNetToNdhNetworkSM | |||
This StructureMap defines the mapping from Plan-Net Network to NDH Network.
Language: en
map "http://hl7.org/fhir/us/ndh/StructureMap/PlanNetToNdhNetworkSM" = "PlanNetToNdhNetworkSM" // This StructureMap defines the mapping from Plan-Net Network to NDH Network. uses "http://hl7.org/fhir/us/davinci-pdex-plan-net/StructureDefinition/plannet-Network" alias NetworkPN as source uses "http://hl7.org/fhir/us/ndh/StructureDefinition/ndh-Network" alias NetworkNDH as target group PlanNetToNdhNetwork(source src : NetworkPN, target tgt : NetworkNDH) { src.language as vLanguage -> tgt.language = vLanguage; src.text as vText -> tgt.text = vText; src.extension as vLocationSrc where (url = 'http://hl7.org/fhir/us/davinci-pdex-plan-net/StructureDefinition/location-reference') -> tgt.extension as vLocationTgt then { vLocationSrc as vLocationForUrl -> vLocationTgt.url = 'http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-location-reference' "setLocationReferenceUrl"; vLocationSrc.value as vLocationValue -> vLocationTgt.value = vLocationValue "copyLocationReferenceValue"; } "copyLocationReferenceExtension"; src.identifier as vIdentifier -> tgt.identifier = vIdentifier; src.active as vActive -> tgt.active = true; src.type as vTypeSrc -> tgt.type as vTypeTgt then { vTypeSrc.text as vTypeText -> vTypeTgt.text = vTypeText "copyTypeText"; vTypeSrc.coding as vTypeCodingSrc where (system = 'http://hl7.org/fhir/us/davinci-pdex-plan-net/CodeSystem/OrgTypeCS') -> vTypeTgt.coding = translate(vTypeCodingSrc, 'http://hl7.org/fhir/us/ndh/ConceptMap/plannet-to-ndh-org-type', 'Coding') "translateTypeCoding"; vTypeSrc.coding as vTypeOtherCodingSrc where (system != 'http://hl7.org/fhir/us/davinci-pdex-plan-net/CodeSystem/OrgTypeCS') -> vTypeTgt.coding = vTypeOtherCodingSrc "copyTypeOtherCoding"; } "copyType"; src.name as vName -> tgt.name = vName; src.address as vAddress -> tgt.address = vAddress; src.partOf as vPartOf -> tgt.partOf = vPartOf; src.contact as vContactSrc -> tgt.contact as vContactTgt then { vContactSrc.name as vContactName -> vContactTgt.name = vContactName "copyContactName"; vContactSrc.address as vContactAddress -> vContactTgt.address = vContactAddress "copyContactAddress"; vContactSrc.telecom as vTelecomSrc -> vContactTgt.telecom as vTelecomTgt then { vTelecomSrc.system as vTelecomSystem -> vTelecomTgt.system = vTelecomSystem "copyTelecomSystem"; vTelecomSrc.value as vTelecomValue -> vTelecomTgt.value = vTelecomValue "copyTelecomValue"; vTelecomSrc.use as vTelecomUse -> vTelecomTgt.use = vTelecomUse "copyTelecomUse"; vTelecomSrc.rank as vTelecomRank -> vTelecomTgt.rank = vTelecomRank "copyTelecomRank"; vTelecomSrc.period as vTelecomPeriod -> vTelecomTgt.period = vTelecomPeriod "copyTelecomPeriod"; vTelecomSrc.extension as vContactpointAvailabletimeSrc where (url = 'http://hl7.org/fhir/us/davinci-pdex-plan-net/StructureDefinition/contactpoint-availabletime') -> vTelecomTgt.extension as vContactpointAvailabletimeTgt then { vContactpointAvailabletimeSrc as vContactpointAvailabletimeForUrl -> vContactpointAvailabletimeTgt.url = 'http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-contactpoint-availabletime' "setContactpointAvailabletimeUrl"; vContactpointAvailabletimeSrc.extension as vContactpointAvailabletimeSubExt -> vContactpointAvailabletimeTgt.extension = vContactpointAvailabletimeSubExt "copyContactpointAvailabletimeSubExt"; vContactpointAvailabletimeSrc.value as vContactpointAvailabletimeValue -> vContactpointAvailabletimeTgt.value = vContactpointAvailabletimeValue "copyContactpointAvailabletimeValue"; } "copyContactpointAvailabletimeExtension"; vTelecomSrc.extension as vViaIntermediarySrc where (url = 'http://hl7.org/fhir/us/davinci-pdex-plan-net/StructureDefinition/via-intermediary') -> vTelecomTgt.extension as vViaIntermediaryTgt then { vViaIntermediarySrc as vViaIntermediaryForUrl -> vViaIntermediaryTgt.url = 'http://hl7.org/fhir/us/ndh/StructureDefinition/base-ext-via-intermediary' "setViaIntermediaryUrl"; vViaIntermediarySrc.extension as vViaIntermediarySubExt -> vViaIntermediaryTgt.extension = vViaIntermediarySubExt "copyViaIntermediarySubExt"; vViaIntermediarySrc.value as vViaIntermediaryValue -> vViaIntermediaryTgt.value = vViaIntermediaryValue "copyViaIntermediaryValue"; } "copyViaIntermediaryExtension"; } "copyContactTelecom"; } "copyLocationReference"; src.endpoint as vEndpoint -> tgt.endpoint = vEndpoint; src.meta as vMetaSrc -> tgt.meta as vMetaTgt then { vMetaSrc.lastUpdated as vLastUpdated -> vMetaTgt.lastUpdated = vLastUpdated "copyMetaLastUpdated"; vMetaSrc as vMetaProfileSrc -> vMetaTgt.profile = 'http://hl7.org/fhir/us/ndh/StructureDefinition/ndh-Network' "setTargetProfile"; } "copyMeta"; }