WHO SMART Guideline: Surveillance and Outbreak Toolkit
0.2.1 - CI Build
WHO SMART Guideline: Surveillance and Outbreak Toolkit, published by WHO. This is not an authorized publication; it is the continuous build for version 0.2.1. This version is based on the current content of https://github.com/WorldHealthOrganization/smart-ot and changes regularly. See the Directory of published versions
| Official URL: http://worldhealthorganization.github.io/smart-ot/StructureMap/MetaDataTypesHelper | Version: 0.2.1 | |||
| Draft as of 2023-11-07 | Computable Name: MetaDataTypesHelper | |||
map "http://worldhealthorganization.github.io/smart-ot/StructureMap/MetaDataTypesHelper" = "MetaDataTypesHelper" group addressToAddress(source sourceAddress, target targetAddress : Address) { sourceAddress.use as use -> targetAddress.use = use "Copy use"; sourceAddress.type as type -> targetAddress.type = type "Copy type"; sourceAddress.text as text -> targetAddress.text = text "Copy text"; sourceAddress.line as line -> targetAddress.line = line "Copy line"; sourceAddress.city as city -> targetAddress.city = city "Copy city"; sourceAddress.district as district -> targetAddress.district = district "Copy district"; sourceAddress.state as state -> targetAddress.state = state "Copy state"; sourceAddress.postalCode as postalCode -> targetAddress.postalCode = postalCode "Copy postalCode"; sourceAddress.country as country -> targetAddress.country = country "Copy country"; // Copy the period using the previously defined group function sourceAddress.period as sourcePeriod -> targetAddress.period as targetPeriod then { sourcePeriod -> sourcePeriod then periodToPeriod(sourcePeriod, targetPeriod) "Copy period"; } "copy period"; } group humanNameToHumanName(source sourceName, target targetName : HumanName) { sourceName.use as use -> targetName.use = use "Copy use"; sourceName.text as text -> targetName.text = text "Copy text"; sourceName.family as family -> targetName.family = family "Copy family"; sourceName.given as given -> targetName.given = given "Copy given"; sourceName.prefix as prefix -> targetName.prefix = prefix "Copy prefix"; sourceName.suffix as suffix -> targetName.suffix = suffix "Copy suffix"; // Copy the period using the previously defined group function sourceName.period as sourcePeriod -> targetName.period as targetPeriod then { sourcePeriod -> sourcePeriod then periodToPeriod(sourcePeriod, targetPeriod) "Copy period"; } "copy period"; } group periodToPeriod(source sourcePeriod, target targetPeriod : Period) { sourcePeriod.start as start -> targetPeriod.start = start "set period start"; sourcePeriod.end as end -> targetPeriod.end = end "set period end"; } group contactPointToContactPoint(source sourceContact, target targetContact : ContactPoint) { sourceContact.system as system -> targetContact.system = system "Copy system"; sourceContact.value as value -> targetContact.value = value "Copy value"; sourceContact.use as use -> targetContact.use = use "Copy use"; sourceContact.rank as rank -> targetContact.rank = rank "Copy rank"; // Copy the period using the previously defined group function sourceContact.period as sourcePeriod -> targetContact.period as targetPeriod then { sourcePeriod -> sourcePeriod then periodToPeriod(sourcePeriod, targetPeriod) "Copy period"; } "copy period"; } group mapCodingtoCodeableConcept(source coding : Coding, target codeableConcept : CodeableConcept) { coding -> codeableConcept.coding = coding "set coding"; }