FHIR © HL7.org  |  FHIRsmith 4.0.1  |  Server Home  |  XIG Home  |  XIG Stats  | 

FHIR IG analytics

Packagehl7uk.fhir.communityassets
Resource TypeStructureMap
IdStructureMap-MedicationRepeatInformation-Extension.json
FHIR VersionR4

Resources that use this resource

No resources found


Resources that this resource uses

No resources found


Narrative

Note: links and images are rebased to the (stated) source

map "http://basic.test/medication-request" = "basic-test-medication-request"


uses "http://hl7.org/fhir/StructureDefinition/MedicationRequest" alias MedicationRequest as source
uses "http://hl7.org/fhir/StructureDefinition/MedicationRequest" alias MedicationRequest as target

group MedicationRequest(source src : MedicationRequest, target tgt : MedicationRequest) {
  src.extension as ext where $this.url = 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-CareConnect-MedicationRepeatInformation-1' ->  tgt.extension as tgtext,  tgtext.url = 'https://fhir.nhs.uk/StructureDefinition/Extension-UKCore-MedicationRepeatInformation' then {
    ext.extension as vs where $this.url = 'numberOfRepeatPrescriptionsIssued' ->  tgtext.extension = create('Extension') as vt,  vt.url = 'numberOfRepeatPrescriptionsIssued' then ExtensionUnsignedIntValue(vs, vt);
    ext.extension as vs where $this.url = 'authorisationExpiryDate' ->  tgtext.extension = create('Extension') as vt,  vt.url = 'authorisationExpiryDate' then ExtensionDateTimeValue(vs, vt);
  };
  src.extension as ext where $this.url = 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-CareConnect-MedicationRepeatInformation-1' -> tgt.extension as tgtext then {
    ext.extension as vs where $this.url = 'numberOfRepeatPrescriptionsAllowed' -> tgt.dispenseRequest as vt then DispenseRequest(vs, vt);
  };
}

group ExtensionUnsignedIntValue(source src, target tgt) {
  src.value as vs ->  tgt.value = create('unsignedInt') as vt,  vt.value = vs;
}

group ExtensionDateTimeValue(source src, target tgt) {
  src.value as vs ->  tgt.value = create('dateTime') as vt,  vt.value = vs;
}

group DispenseRequest(source src, target tgt) {
  src.value as vs ->  tgt.numberOfRepeatsAllowed = create('unsignedInt') as vt,  vt.value = vs;
}


Source1

{
  "resourceType": "StructureMap",
  "id": "1",
  "meta": {
    "versionId": "38",
    "lastUpdated": "2022-01-10T14:24:11.567+00:00"
  },
  "text": {
    "status": "generated",
    "div": "<!-- snip (see above) -->"
  },
  "url": "http://basic.test/medication-request",
  "name": "basic-test-medication-request",
  "structure": [
    {
      "url": "http://hl7.org/fhir/StructureDefinition/MedicationRequest",
      "mode": "source",
      "alias": "MedicationRequest"
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/MedicationRequest",
      "mode": "target",
      "alias": "MedicationRequest"
    }
  ],
  "group": [
    {
      "name": "MedicationRequest",
      "typeMode": "none",
      "input": [
        {
          "name": "src",
          "type": "MedicationRequest",
          "mode": "source"
        },
        {
          "name": "tgt",
          "type": "MedicationRequest",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "extension",
          "source": [
            {
              "context": "src",
              "element": "extension",
              "variable": "ext",
              "condition": "$this.url = 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-CareConnect-MedicationRepeatInformation-1'"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "contextType": "variable",
              "element": "extension",
              "variable": "tgtext"
            },
            {
              "context": "tgtext",
              "contextType": "variable",
              "element": "url",
              "transform": "copy",
              "parameter": [
                {
                  "valueString": "https://fhir.nhs.uk/StructureDefinition/Extension-UKCore-MedicationRepeatInformation"
                }
              ]
            }
          ],
          "rule": [
            {
              "name": "extension",
              "source": [
                {
                  "context": "ext",
                  "element": "extension",
                  "variable": "vs",
                  "condition": "$this.url = 'numberOfRepeatPrescriptionsIssued'"
                }
              ],
              "target": [
                {
                  "context": "tgtext",
                  "contextType": "variable",
                  "element": "extension",
                  "variable": "vt",
                  "transform": "create",
                  "parameter": [
                    {
                      "valueString": "Extension"
                    }
                  ]
                },
                {
                  "context": "vt",
                  "contextType": "variable",
                  "element": "url",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueString": "numberOfRepeatPrescriptionsIssued"
                    }
                  ]
                }
              ],
              "dependent": [
                {
                  "name": "ExtensionUnsignedIntValue",
                  "variable": [
                    "vs",
                    "vt"
                  ]
                }
              ]
            },
            {
              "name": "extension",
              "source": [
                {
                  "context": "ext",
                  "element": "extension",
                  "variable": "vs",
                  "condition": "$this.url = 'authorisationExpiryDate'"
                }
              ],
              "target": [
                {
                  "context": "tgtext",
                  "contextType": "variable",
                  "element": "extension",
                  "variable": "vt",
                  "transform": "create",
                  "parameter": [
                    {
                      "valueString": "Extension"
                    }
                  ]
                },
                {
                  "context": "vt",
                  "contextType": "variable",
                  "element": "url",
                  "transform": "copy",
                  "parameter": [
                    {
                      "valueString": "authorisationExpiryDate"
                    }
                  ]
                }
              ],
              "dependent": [
                {
                  "name": "ExtensionDateTimeValue",
                  "variable": [
                    "vs",
                    "vt"
                  ]
                }
              ]
            }
          ]
        },
        {
          "name": "extension",
          "source": [
            {
              "context": "src",
              "element": "extension",
              "variable": "ext",
              "condition": "$this.url = 'https://fhir.nhs.uk/STU3/StructureDefinition/Extension-CareConnect-MedicationRepeatInformation-1'"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "contextType": "variable",
              "element": "extension",
              "variable": "tgtext"
            }
          ],
          "rule": [
            {
              "name": "extension",
              "source": [
                {
                  "context": "ext",
                  "element": "extension",
                  "variable": "vs",
                  "condition": "$this.url = 'numberOfRepeatPrescriptionsAllowed'"
                }
              ],
              "target": [
                {
                  "context": "tgt",
                  "contextType": "variable",
                  "element": "dispenseRequest",
                  "variable": "vt"
                }
              ],
              "dependent": [
                {
                  "name": "DispenseRequest",
                  "variable": [
                    "vs",
                    "vt"
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "ExtensionUnsignedIntValue",
      "typeMode": "none",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "tgt",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "value",
          "source": [
            {
              "context": "src",
              "element": "value",
              "variable": "vs"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "contextType": "variable",
              "element": "value",
              "variable": "vt",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "unsignedInt"
                }
              ]
            },
            {
              "context": "vt",
              "contextType": "variable",
              "element": "value",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "vs"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "ExtensionDateTimeValue",
      "typeMode": "none",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "tgt",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "value",
          "source": [
            {
              "context": "src",
              "element": "value",
              "variable": "vs"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "contextType": "variable",
              "element": "value",
              "variable": "vt",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "dateTime"
                }
              ]
            },
            {
              "context": "vt",
              "contextType": "variable",
              "element": "value",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "vs"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "DispenseRequest",
      "typeMode": "none",
      "input": [
        {
          "name": "src",
          "mode": "source"
        },
        {
          "name": "tgt",
          "mode": "target"
        }
      ],
      "rule": [
        {
          "name": "value",
          "source": [
            {
              "context": "src",
              "element": "value",
              "variable": "vs"
            }
          ],
          "target": [
            {
              "context": "tgt",
              "contextType": "variable",
              "element": "numberOfRepeatsAllowed",
              "variable": "vt",
              "transform": "create",
              "parameter": [
                {
                  "valueString": "unsignedInt"
                }
              ]
            },
            {
              "context": "vt",
              "contextType": "variable",
              "element": "value",
              "transform": "copy",
              "parameter": [
                {
                  "valueId": "vs"
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}