From 5a0ad3c2c01227ad9f6e55365a6f01bbe111485a Mon Sep 17 00:00:00 2001 From: Omar Khan Date: Tue, 22 Apr 2025 13:36:43 +0100 Subject: [PATCH 1/8] StructureMap for PGx result --- ...ap-PharmacogeneticTestResult-Genomics.json | 2198 +++++++++++++++++ 1 file changed, 2198 insertions(+) create mode 100644 StructureMap/StructureMap-PharmacogeneticTestResult-Genomics.json diff --git a/StructureMap/StructureMap-PharmacogeneticTestResult-Genomics.json b/StructureMap/StructureMap-PharmacogeneticTestResult-Genomics.json new file mode 100644 index 0000000..b65fc89 --- /dev/null +++ b/StructureMap/StructureMap-PharmacogeneticTestResult-Genomics.json @@ -0,0 +1,2198 @@ +{ + "resourceType": "StructureMap", + "id": "StructureMap-PharmacogeneticTestResult-Genomics", + "url": "https://fhir.nhs.uk/StructureMap/StructureMap-PharmacogeneticTestResult-Genomics", + "version": "0.1.0", + "name": "StructureMapPharmacogeneticTestResultGenomics", + "title": "StructureMap PharmacogeneticTestResult Genomics", + "status": "draft", + "date": "2025-02-14T00:00:00.000Z", + "publisher": "NHS England", + "contact": [ + { + "name": "NHS England", + "telecom": [ + { + "system": "email", + "value": "interoperabilityteam@nhs.net" + } + ] + } + ], + "description": "StructureMap to transform from the OpenEHR Pharmacogenetic Test Result archetype to a set of FHIR Observations, most likely attached as results to a structured DiagnosticReport. Only 1 level of references from the root PGx result archetype are explored for conciseness/readability", + "copyright": "Copyright © 2023+ NHS England Licensed under the Apache License, Version 2.0 (the \\\"License\\\"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an \\\"AS IS\\\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. HL7® FHIR® standard Copyright © 2011+ HL7 The HL7® FHIR® standard is used under the FHIR license. You may obtain a copy of the FHIR license at https://www.hl7.org/fhir/license.html.", + "structure": [ + { + "url": "https://ckm.openehr.org/ckm/archetypes/1013.1.7066", + "mode": "source", + "alias": "PharmacogeneticTestResult", + "documentation": "The OpenEHR PGx logical model" + }, + { + "url": "https://ckm.openehr.org/ckm/archetypes/1013.1.3748", + "mode": "source", + "alias": "KnowledgeBaseReference", + "documentation": "The OpenEHR model for citation of a digital resource" + }, + { + "url": "https://ckm.openehr.org/ckm/archetypes/1013.1.3759", + "mode": "source", + "alias": "GenomicVariantResult", + "documentation": "The OpenEHR model for a variant" + }, + { + "url": "http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/genotype", + "mode": "target", + "alias": "Genotype", + "documentation": "The Genotype information as a FHIR Observation" + }, + { + "url": "http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/haplotype", + "mode": "target", + "alias": "Haplotype", + "documentation": "The Haplotype information as a FHIR Observation" + }, + { + "url": "http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/variant", + "mode": "target", + "alias": "Variant", + "documentation": "The Variant information as a FHIR Observation" + }, + { + "url": "http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/therapeutic-implication", + "mode": "target", + "alias": "TherapeuticImplication", + "documentation": "The therapeutic implication information as a FHIR Observation" + }, + { + "url": "http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/diagnostic-implication", + "mode": "target", + "alias": "DiagnosticImplication", + "documentation": "The phenotypic/implication information as a FHIR Observation" + }, + { + "url": "http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/molecular-consequence", + "mode": "target", + "alias": "MolecularConsequence", + "documentation": "The observed effect of variants as a FHIR Observation" + }, + { + "url": "http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/genomic-study-analysis", + "mode": "target", + "alias": "GenomicStudyAnalysis", + "documentation": "Analysis metadata recorded through a profile on Procedure" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/Coding", + "mode": "target", + "alias": "Coding" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/CodeableConcept", + "mode": "target", + "alias": "CodeableConcept" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/Annotation", + "mode": "target", + "alias": "Annotation" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/Annotation", + "mode": "target", + "alias": "Annotation" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/Range", + "mode": "target", + "alias": "Range" + }, + { + "url": "http://hl7.org/fhir/StructureDefinition/Quantity", + "mode": "target", + "alias": "Quantity" + }, + { + "url": "http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/workflow-relatedArtifactComponent", + "mode": "target", + "alias": "workflow-relatedArtifactComponent" + } + ], + "group": [ + { + "name": "VariantInformation", + "typeMode": "types", + "input": [ + { + "name": "source", + "type": "PharmacogeneticTestResult", + "mode": "source" + }, + { + "name": "queried", + "type": "GenomicVariantResult", + "mode": "source" + }, + { + "name": "target", + "type": "Variant", + "mode": "target" + }, + { + "name": "produced", + "type": "GenomicStudyAnalysis", + "mode": "target" + } + ], + "rule": [ + { + "name": "Genesymbol", + "source": [ + { + "context": "source", + "min": 1, + "max": "1", + "element": "Gene symbol", + "variable": "a" + } + ], + "target": [ + { + "context": "target", + "contextType": "variable", + "element": "component", + "variable": "component" + }, + { + "context": "component", + "contextType": "variable", + "element": "code", + "variable": "code", + "transform": "cc", + "parameter": [ + { + "valueString": "http://loinc.org" + }, + { + "valueString": "48018-6" + } + ] + }, + { + "context": "component", + "contextType": "variable", + "element": "value", + "transform": "cc", + "parameter": [ + { + "valueString": "http://www.genenames.org" + }, + { + "valueString": "%a" + } + ] + } + ] + }, + { + "name": "Bioinformaticanalysisworkflow", + "source": [ + { + "context": "queried", + "max": "1", + "element": "Bioinformatic analysis workflow", + "variable": "a" + } + ], + "target": [ + { + "context": "produced", + "contextType": "variable", + "element": "extension", + "variable": "extension", + "transform": "create", + "parameter": [ + { + "valueString": "Extension" + } + ] + }, + { + "context": "extension", + "contextType": "variable", + "element": "url", + "transform": "evaluate", + "parameter": [ + { + "valueString": "'http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/genomic-study-analysis-protocol-performed'" + } + ] + }, + { + "context": "extension", + "contextType": "variable", + "element": "value", + "transform": "copy" + } + ] + }, + { + "name": "Referencegenome", + "source": [ + { + "context": "queried", + "min": 1, + "max": "1", + "element": "Reference genome", + "variable": "a" + } + ], + "target": [ + { + "context": "target", + "contextType": "variable", + "element": "component", + "variable": "component" + }, + { + "context": "component", + "contextType": "variable", + "element": "code", + "variable": "code", + "transform": "cc", + "parameter": [ + { + "valueString": "http://loinc.org" + }, + { + "valueString": "48013-7" + } + ] + }, + { + "context": "component", + "contextType": "variable", + "element": "value", + "transform": "copy" + } + ] + }, + { + "name": "Variantidentification", + "source": [ + { + "context": "queried", + "element": "Variant identification", + "variable": "a" + } + ], + "target": [ + { + "context": "target", + "contextType": "variable", + "element": "component", + "variable": "component" + }, + { + "context": "component", + "contextType": "variable", + "element": "code", + "variable": "code", + "transform": "cc", + "parameter": [ + { + "valueString": "http://loinc.org" + }, + { + "valueString": "81252-9" + } + ] + }, + { + "context": "component", + "contextType": "variable", + "element": "value", + "transform": "copy" + } + ] + }, + { + "name": "Variant", + "source": [ + { + "context": "queried", + "element": "Variant", + "max": "1", + "variable": "a" + } + ], + "target": [ + { + "context": "target", + "contextType": "variable", + "element": "component", + "variable": "component" + }, + { + "context": "component", + "contextType": "variable", + "element": "code", + "variable": "code", + "transform": "cc", + "parameter": [ + { + "valueString": "http://loinc.org" + }, + { + "valueString": "81290-9" + } + ] + }, + { + "context": "component", + "contextType": "variable", + "element": "value", + "transform": "cc", + "parameter": [ + { + "valueString": "http://www.genenames.org" + }, + { + "valueString": "%a" + } + ] + } + ] + }, + { + "name": "Structuredvariant", + "source": [ + { + "context": "queried", + "element": "Structured variant", + "max": "1", + "variable": "a" + } + ], + "target": [ + { + "context": "target", + "contextType": "variable", + "element": "component", + "variable": "component" + }, + { + "context": "component", + "contextType": "variable", + "element": "code", + "variable": "code", + "transform": "cc", + "parameter": [ + { + "valueString": "http://loinc.org" + }, + { + "valueString": "48019-4" + } + ] + }, + { + "context": "component", + "contextType": "variable", + "element": "value", + "transform": "cc", + "parameter": [ + { + "valueString": "http://www.sequenceontology.org" + }, + { + "valueString": "%a" + } + ] + } + ] + }, + { + "name": "Transcriptreferencesequence", + "source": [ + { + "context": "queried", + "element": "Transcript reference sequence", + "variable": "a" + }, + { + "context": "queried", + "element": "Best transcript candidate", + "variable": "b" + } + ], + "target": [ + { + "context": "target", + "contextType": "variable", + "element": "component", + "variable": "component" + }, + { + "context": "component", + "contextType": "variable", + "element": "code", + "variable": "code", + "transform": "cc", + "parameter": [ + { + "valueString": "http://loinc.org" + }, + { + "valueString": "51958-7" + } + ] + }, + { + "context": "component", + "contextType": "variable", + "element": "value", + "transform": "copy", + "parameter": [ + { + "valueString": "%a" + } + ] + }, + { + "context": "component", + "contextType": "variable", + "element": "extension", + "variable": "extension", + "transform": "create", + "parameter": [ + { + "valueString": "Extension" + } + ] + }, + { + "context": "extension", + "contextType": "variable", + "element": "url", + "transform": "evaluate", + "parameter": [ + { + "valueString": "'http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/workflow-relatedArtifactComponent'" + } + ] + }, + { + "context": "extension", + "contextType": "variable", + "element": "value", + "transform": "copy", + "parameter": [ + { + "valueString": "%b" + } + ] + } + ] + }, + { + "name": "DNAregionname", + "source": [ + { + "context": "queried", + "element": "DNA region name", + "variable": "a" + }, + { + "context": "queried", + "element": "Distance from splicing site", + "variable": "b" + } + ], + "target": [ + { + "context": "target", + "contextType": "variable", + "element": "component", + "variable": "component" + }, + { + "context": "component", + "contextType": "variable", + "element": "code", + "variable": "code", + "transform": "cc", + "parameter": [ + { + "valueString": "http://loinc.org" + }, + { + "valueString": "81254-5" + } + ] + }, + { + "context": "component", + "contextType": "variable", + "element": "value", + "transform": "create", + "parameter": [ + { + "valueString": "Range(%a, %b)" + } + ] + } + ] + }, + { + "name": "DNAchange", + "source": [ + { + "context": "queried", + "element": "DNA change", + "variable": "a" + } + ], + "target": [ + { + "context": "target", + "contextType": "variable", + "element": "component", + "variable": "component" + }, + { + "context": "component", + "contextType": "variable", + "element": "code", + "variable": "code", + "transform": "cc", + "parameter": [ + { + "valueString": "http://loinc.org" + }, + { + "valueString": "48004-6" + } + ] + }, + { + "context": "component", + "contextType": "variable", + "element": "value", + "transform": "cc", + "parameter": [ + { + "valueString": "http://www.genenames.org" + }, + { + "valueString": "%a" + } + ] + } + ] + }, + { + "name": "Aminoacidchange", + "source": [ + { + "context": "queried", + "element": "Amino acid change", + "variable": "a" + } + ], + "target": [ + { + "context": "target", + "contextType": "variable", + "element": "component", + "variable": "component" + }, + { + "context": "component", + "contextType": "variable", + "element": "code", + "variable": "code", + "transform": "cc", + "parameter": [ + { + "valueString": "http://loinc.org" + }, + { + "valueString": "48005-3" + } + ] + }, + { + "context": "component", + "contextType": "variable", + "element": "value", + "transform": "cc", + "parameter": [ + { + "valueString": "http://www.genenames.org" + }, + { + "valueString": "%a" + } + ] + } + ] + }, + { + "name": "Aminoacidchangetype", + "source": [ + { + "context": "queried", + "element": "Amino acid change type", + "variable": "a" + } + ], + "target": [ + { + "context": "target", + "contextType": "variable", + "element": "component", + "variable": "component" + }, + { + "context": "component", + "contextType": "variable", + "element": "code", + "variable": "code", + "transform": "cc", + "parameter": [ + { + "valueString": "http://loinc.org" + }, + { + "valueString": "48006-1" + } + ] + }, + { + "context": "component", + "contextType": "variable", + "element": "value", + "transform": "cc", + "parameter": [ + { + "valueString": "http://loinc.org" + }, + { + "valueString": "%a" + } + ] + } + ] + }, + { + "name": "RNAchange", + "source": [ + { + "context": "queried", + "element": "RNA change", + "variable": "a" + } + ], + "target": [ + { + "context": "target", + "contextType": "variable", + "element": "component", + "variable": "component" + }, + { + "context": "component", + "contextType": "variable", + "element": "code", + "variable": "code", + "transform": "cc", + "parameter": [ + { + "valueString": "''" + }, + { + "valueString": "''" + }, + { + "valueString": "RNA change" + } + ] + }, + { + "context": "component", + "contextType": "variable", + "element": "value", + "transform": "cc", + "parameter": [ + { + "valueString": "http://www.genenames.org" + }, + { + "valueString": "%a" + } + ] + } + ] + }, + { + "name": "Genename", + "source": [ + { + "context": "queried", + "element": "Gene name", + "variable": "a" + } + ], + "target": [ + { + "context": "target", + "contextType": "variable", + "element": "component", + "variable": "component" + }, + { + "context": "component", + "contextType": "variable", + "element": "code", + "variable": "code", + "transform": "cc", + "parameter": [ + { + "valueString": "http://loinc.org" + }, + { + "valueString": "48018-6" + } + ] + }, + { + "context": "component", + "contextType": "variable", + "element": "value", + "transform": "copy" + } + ] + }, + { + "name": "Copynumberoverlap", + "source": [ + { + "context": "queried", + "element": "Copy number overlap", + "variable": "a" + } + ], + "target": [ + { + "context": "target", + "contextType": "variable", + "element": "component", + "variable": "component" + }, + { + "context": "component", + "contextType": "variable", + "element": "code", + "variable": "code", + "transform": "cc", + "parameter": [ + { + "valueString": "http://loinc.org" + }, + { + "valueString": "82155-3" + } + ] + }, + { + "context": "component", + "contextType": "variable", + "element": "value", + "transform": "qty", + "parameter": [ + { + "valueString": "%a" + }, + { + "valueString": "{ratio}" + }, + { + "valueString": "http://unitsofmeasure.org" + } + ] + } + ] + }, + { + "name": "Partoffusion", + "source": [ + { + "context": "queried", + "element": "Part of fusion", + "variable": "a" + } + ], + "target": [ + { + "context": "target", + "contextType": "variable", + "element": "component", + "variable": "component" + }, + { + "context": "component", + "contextType": "variable", + "element": "code", + "variable": "code", + "transform": "cc", + "parameter": [ + { + "valueString": "''" + }, + { + "valueString": "''" + }, + { + "valueString": "Part of fusion" + } + ] + }, + { + "context": "component", + "contextType": "variable", + "element": "value", + "transform": "copy" + } + ] + }, + { + "name": "Fusionexon", + "source": [ + { + "context": "queried", + "element": "Fusion exon", + "variable": "a" + } + ], + "target": [ + { + "context": "target", + "contextType": "variable", + "element": "component", + "variable": "component" + }, + { + "context": "component", + "contextType": "variable", + "element": "code", + "variable": "code", + "transform": "cc", + "parameter": [ + { + "valueString": "''" + }, + { + "valueString": "''" + }, + { + "valueString": "Fusion exon" + } + ] + }, + { + "context": "component", + "contextType": "variable", + "element": "value", + "transform": "copy" + } + ] + }, + { + "name": "ConservationScore", + "source": [ + { + "context": "queried", + "element": "Score", + "variable": "a" + }, + { + "context": "queried", + "element": "Conservation score knowledge base", + "variable": "b" + } + ], + "target": [ + { + "context": "target", + "contextType": "variable", + "element": "component", + "variable": "component" + }, + { + "context": "component", + "contextType": "variable", + "element": "code", + "variable": "code", + "transform": "cc", + "parameter": [ + { + "valueString": "''" + }, + { + "valueString": "''" + }, + { + "valueString": "Conservation Score" + } + ] + }, + { + "context": "component", + "contextType": "variable", + "element": "value", + "transform": "copy", + "parameter": [ + { + "valueString": "%a" + } + ] + }, + { + "context": "component", + "contextType": "variable", + "element": "extension", + "variable": "extension", + "transform": "create", + "parameter": [ + { + "valueString": "Extension" + } + ] + }, + { + "context": "extension", + "contextType": "variable", + "element": "url", + "transform": "evaluate", + "parameter": [ + { + "valueString": "'http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/workflow-relatedArtifactComponent'" + } + ] + }, + { + "context": "extension", + "contextType": "variable", + "element": "value", + "transform": "copy", + "parameter": [ + { + "valueString": "%b" + } + ] + } + ] + }, + { + "name": "Readdepth", + "source": [ + { + "context": "queried", + "max": "1", + "element": "Read depth", + "variable": "a" + } + ], + "target": [ + { + "context": "target", + "contextType": "variable", + "element": "component", + "variable": "component" + }, + { + "context": "component", + "contextType": "variable", + "element": "code", + "variable": "code", + "transform": "cc", + "parameter": [ + { + "valueString": "''" + }, + { + "valueString": "''" + }, + { + "valueString": "Read depth" + } + ] + }, + { + "context": "component", + "contextType": "variable", + "element": "value", + "transform": "copy" + } + ] + }, + { + "name": "Alleledepth", + "source": [ + { + "context": "queried", + "max": "1", + "element": "Allele depth", + "variable": "a" + } + ], + "target": [ + { + "context": "target", + "contextType": "variable", + "element": "component", + "variable": "component" + }, + { + "context": "component", + "contextType": "variable", + "element": "code", + "variable": "code", + "transform": "cc", + "parameter": [ + { + "valueString": "http://loinc.org" + }, + { + "valueString": "82121-5" + } + ] + }, + { + "context": "component", + "contextType": "variable", + "element": "value", + "transform": "copy" + } + ] + }, + { + "name": "Allelefrequency", + "source": [ + { + "context": "queried", + "max": "1", + "element": "Allele frequency", + "variable": "a" + } + ], + "target": [ + { + "context": "target", + "contextType": "variable", + "element": "component", + "variable": "component" + }, + { + "context": "component", + "contextType": "variable", + "element": "code", + "variable": "code", + "transform": "cc", + "parameter": [ + { + "valueString": "http://loinc.org" + }, + { + "valueString": "81258-6" + } + ] + }, + { + "context": "component", + "contextType": "variable", + "element": "value", + "transform": "copy" + } + ] + }, + { + "name": "Populationallelefrequencydetails", + "source": [ + { + "context": "queried", + "element": "Population allele frequency knowledge base", + "variable": "a" + }, + { + "context": "queried", + "element": "Population allele frequency", + "variable": "b" + } + ], + "target": [ + { + "context": "target", + "contextType": "variable", + "element": "component", + "variable": "component" + }, + { + "context": "component", + "contextType": "variable", + "element": "code", + "variable": "code", + "transform": "cc", + "parameter": [ + { + "valueString": "http://loinc.org" + }, + { + "valueString": "92821-8" + } + ] + }, + { + "context": "component", + "contextType": "variable", + "element": "value", + "transform": "copy", + "parameter": [ + { + "valueString": "%b" + } + ] + }, + { + "context": "component", + "contextType": "variable", + "element": "extension", + "variable": "extension", + "transform": "create", + "parameter": [ + { + "valueString": "Extension" + } + ] + }, + { + "context": "extension", + "contextType": "variable", + "element": "url", + "transform": "evaluate", + "parameter": [ + { + "valueString": "'http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/workflow-relatedArtifactComponent'" + } + ] + }, + { + "context": "extension", + "contextType": "variable", + "element": "value", + "transform": "copy", + "parameter": [ + { + "valueString": "%a" + } + ] + } + ] + }, + { + "name": "VCFqualityfilter", + "source": [ + { + "context": "queried", + "element": "Filter name", + "variable": "a" + }, + { + "context": "queried", + "element": "Description", + "variable": "b" + }, + { + "context": "queried", + "element": "Filter passed", + "variable": "c" + } + ], + "target": [ + { + "context": "target", + "contextType": "variable", + "element": "component", + "variable": "component" + }, + { + "context": "component", + "contextType": "variable", + "element": "code", + "variable": "code", + "transform": "cc", + "parameter": [ + { + "valueString": "''" + }, + { + "valueString": "''" + }, + { + "valueString": "%a%b" + } + ] + }, + { + "context": "component", + "contextType": "variable", + "element": "value", + "transform": "copy", + "parameter": [ + { + "valueString": "%c" + } + ] + } + ] + }, + { + "name": "Strandbiasratio", + "source": [ + { + "context": "queried", + "element": "Strand bias ratio", + "max": "1", + "variable": "a" + } + ], + "target": [ + { + "context": "target", + "contextType": "variable", + "element": "component", + "variable": "component" + }, + { + "context": "component", + "contextType": "variable", + "element": "code", + "variable": "code", + "transform": "cc", + "parameter": [ + { + "valueString": "''" + }, + { + "valueString": "''" + }, + { + "valueString": "Strand bias ratio" + } + ] + }, + { + "context": "component", + "contextType": "variable", + "element": "value", + "transform": "copy" + } + ] + }, + { + "name": "Strandbiaspvalue", + "source": [ + { + "context": "queried", + "element": "Strand bias p-value", + "max": "1", + "variable": "a" + } + ], + "target": [ + { + "context": "target", + "contextType": "variable", + "element": "component", + "variable": "component" + }, + { + "context": "component", + "contextType": "variable", + "element": "code", + "variable": "code", + "transform": "cc", + "parameter": [ + { + "valueString": "''" + }, + { + "valueString": "''" + }, + { + "valueString": "Strand bias p-value" + } + ] + }, + { + "context": "component", + "contextType": "variable", + "element": "value", + "transform": "copy" + } + ] + }, + { + "name": "Allelicstate", + "source": [ + { + "context": "queried", + "element": "Allelic state", + "max": "1", + "variable": "a" + } + ], + "target": [ + { + "context": "target", + "contextType": "variable", + "element": "component", + "variable": "component" + }, + { + "context": "component", + "contextType": "variable", + "element": "code", + "variable": "code", + "transform": "cc", + "parameter": [ + { + "valueString": "http://loinc.org" + }, + { + "valueString": "53034-5" + } + ] + }, + { + "context": "component", + "contextType": "variable", + "element": "value", + "transform": "cc", + "parameter": [ + { + "valueString": "http://loinc.org" + }, + { + "valueString": "%a" + } + ] + } + ] + }, + { + "name": "Additionaldetails", + "source": [ + { + "context": "queried", + "element": "Additional details", + "variable": "a" + } + ], + "target": [ + { + "context": "target", + "contextType": "variable", + "element": "note", + "transform": "copy" + } + ] + } + ] + }, + { + "name": "GenotypeInformation", + "typeMode": "types", + "input": [ + { + "name": "source", + "type": "PharmacogeneticTestResult", + "mode": "source" + }, + { + "name": "queried", + "type": "KnowledgeBaseReference", + "mode": "source" + }, + { + "name": "target", + "type": "Genotype", + "mode": "target" + } + ], + "rule": [ + { + "name": "Diplotype", + "source": [ + { + "context": "source", + "element": "Diplotype", + "max": "1", + "variable": "a" + } + ], + "target": [ + { + "context": "target", + "contextType": "variable", + "element": "value", + "transform": "copy" + } + ] + }, + { + "name": "Overallactivityscore", + "source": [ + { + "context": "source", + "element": "Overall activity score", + "max": "1", + "variable": "a" + } + ], + "target": [ + { + "context": "target", + "contextType": "variable", + "element": "component", + "variable": "component" + }, + { + "context": "component", + "contextType": "variable", + "element": "code", + "variable": "code", + "transform": "cc", + "parameter": [ + { + "valueString": "''" + }, + { + "valueString": "''" + }, + { + "valueString": "Overall activity score" + } + ] + }, + { + "context": "component", + "contextType": "variable", + "element": "value", + "transform": "copy" + } + ] + }, + { + "name": "Genomicregion", + "source": [ + { + "context": "source", + "element": "Genomic region", + "variable": "a" + }, + { + "context": "source", + "element": "Allele covered", + "variable": "b" + }, + { + "context": "queried", + "element": "Knowledge base URI", + "variable": "c" + }, + { + "context": "queried", + "element": "Item name", + "variable": "d" + } + ], + "target": [ + { + "context": "target", + "contextType": "variable", + "element": "component", + "variable": "component" + }, + { + "context": "component", + "contextType": "variable", + "element": "code", + "variable": "code", + "transform": "cc", + "parameter": [ + { + "valueString": "http://loinc.org" + }, + { + "valueString": "48018-6" + } + ] + }, + { + "context": "component", + "contextType": "variable", + "element": "value", + "transform": "copy", + "parameter": [ + { + "valueString": "%a" + } + ] + }, + { + "context": "component", + "contextType": "variable", + "element": "value", + "transform": "append", + "parameter": [ + { + "valueString": "%b" + } + ] + }, + { + "context": "component", + "contextType": "variable", + "element": "extension", + "variable": "extension", + "transform": "create", + "parameter": [ + { + "valueString": "Extension" + } + ] + }, + { + "context": "extension", + "contextType": "variable", + "element": "url", + "transform": "evaluate", + "parameter": [ + { + "valueString": "'http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/workflow-relatedArtifactComponent'" + } + ] + }, + { + "context": "extension", + "contextType": "variable", + "element": "value", + "transform": "copy", + "parameter": [ + { + "valueString": "%c" + } + ] + }, + { + "context": "extension", + "contextType": "variable", + "element": "value", + "transform": "append", + "parameter": [ + { + "valueString": "%d" + } + ] + } + ] + }, + { + "name": "Genotype", + "source": [ + { + "context": "queried", + "element": "Genotype", + "max": "1", + "variable": "a" + } + ], + "target": [ + { + "context": "target", + "contextType": "variable", + "element": "value", + "transform": "append", + "parameter": [ + { + "valueString": "%a" + } + ] + } + ] + }, + { + "name": "Genotypequality", + "source": [ + { + "context": "queried", + "element": "Genotype quality", + "max": "1", + "variable": "a" + } + ], + "target": [ + { + "context": "target", + "contextType": "variable", + "element": "component", + "variable": "component" + }, + { + "context": "component", + "contextType": "variable", + "element": "code", + "variable": "code", + "transform": "cc", + "parameter": [ + { + "valueString": "''" + }, + { + "valueString": "''" + }, + { + "valueString": "Genotype quality" + } + ] + }, + { + "context": "component", + "contextType": "variable", + "element": "value", + "transform": "copy" + } + ] + }, + { + "name": "Genotypeprobability", + "source": [ + { + "context": "queried", + "element": "Genotype probability", + "max": "1", + "variable": "a" + } + ], + "target": [ + { + "context": "target", + "contextType": "variable", + "element": "component", + "variable": "component" + }, + { + "context": "component", + "contextType": "variable", + "element": "code", + "variable": "code", + "transform": "cc", + "parameter": [ + { + "valueString": "''" + }, + { + "valueString": "''" + }, + { + "valueString": "Genotype probability" + } + ] + }, + { + "context": "component", + "contextType": "variable", + "element": "value", + "transform": "copy" + } + ] + }, + { + "name": "Specimenidentifier", + "source": [ + { + "context": "queried", + "element": "Specimen identifier", + "max": "1", + "variable": "a" + } + ], + "target": [ + { + "context": "target", + "contextType": "variable", + "element": "specimen", + "transform": "pointer", + "parameter": [ + { + "valueString": "%a" + } + ] + } + ] + } + ] + }, + { + "name": "DiagnosticImplicationInformation", + "typeMode": "types", + "input": [ + { + "name": "source", + "type": "PharmacogeneticTestResult", + "mode": "source" + }, + { + "name": "queried", + "type": "GenomicVariantResult", + "mode": "source" + }, + { + "name": "target", + "type": "DiagnosticImplication", + "mode": "target" + } + ], + "rule": [ + { + "name": "Phenotype", + "source": [ + { + "context": "source", + "element": "Phenotype", + "variable": "a" + } + ], + "target": [ + { + "context": "target", + "contextType": "variable", + "element": "component", + "variable": "component" + }, + { + "context": "component", + "contextType": "variable", + "element": "code", + "variable": "code", + "transform": "cc", + "parameter": [ + { + "valueString": "http://loinc.org" + }, + { + "valueString": "81259-4" + } + ] + }, + { + "context": "component", + "contextType": "variable", + "element": "value", + "transform": "copy" + } + ] + }, + { + "name": "ACMGclassification", + "source": [ + { + "context": "source", + "element": "ACMG classification", + "variable": "a" + } + ], + "target": [ + { + "context": "target", + "contextType": "variable", + "element": "component", + "variable": "component" + }, + { + "context": "component", + "contextType": "variable", + "element": "code", + "variable": "code", + "transform": "cc", + "parameter": [ + { + "valueString": "http://loinc.org" + }, + { + "valueString": "53037-8" + } + ] + }, + { + "context": "component", + "contextType": "variable", + "element": "value", + "transform": "cc", + "parameter": [ + { + "valueString": "http://loinc.org" + }, + { + "valueString": "%a" + } + ] + } + ] + } + ] + }, + { + "name": "HaplotypeInformation", + "typeMode": "types", + "input": [ + { + "name": "source", + "type": "PharmacogeneticTestResult", + "mode": "source" + }, + { + "name": "target", + "type": "Haplotype", + "mode": "target" + } + ], + "rule": [ + { + "name": "Allelehaplotype", + "source": [ + { + "context": "source", + "element": "Allele haplotype", + "variable": "a" + } + ], + "target": [ + { + "context": "target", + "contextType": "variable", + "element": "value", + "transform": "copy" + } + ] + }, + { + "name": "Activityvalue", + "source": [ + { + "context": "source", + "element": "Activity value", + "variable": "a" + } + ], + "target": [ + { + "context": "target", + "contextType": "variable", + "element": "component", + "variable": "component" + }, + { + "context": "component", + "contextType": "variable", + "element": "code", + "variable": "code", + "transform": "cc", + "parameter": [ + { + "valueString": "''" + }, + { + "valueString": "''" + }, + { + "valueString": "Activity value" + } + ] + }, + { + "context": "component", + "contextType": "variable", + "element": "value", + "transform": "copy" + } + ] + } + ] + }, + { + "name": "MolecularConsequenceInformation", + "typeMode": "types", + "input": [ + { + "name": "queried", + "type": "GenomicVariantResult", + "mode": "source" + }, + { + "name": "target", + "type": "MolecularConsequence", + "mode": "target" + } + ], + "rule": [ + { + "name": "Predictedimpactknowledgebase", + "source": [ + { + "context": "queried", + "element": "Predicted impact knowledge base", + "variable": "a" + } + ], + "target": [ + { + "context": "target", + "contextType": "variable", + "element": "component", + "variable": "component" + }, + { + "context": "component", + "contextType": "variable", + "element": "code", + "variable": "code", + "transform": "cc", + "parameter": [ + { + "valueString": "http://hl7.org/fhir/uv/genomics-reporting/CodeSystem/tbd-codes-cs" + }, + { + "valueString": "feature-consequence" + } + ] + }, + { + "context": "component", + "contextType": "variable", + "element": "extension", + "variable": "extension", + "transform": "create", + "parameter": [ + { + "valueString": "Extension" + } + ] + }, + { + "context": "extension", + "contextType": "variable", + "element": "url", + "transform": "evaluate", + "parameter": [ + { + "valueString": "'http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/workflow-relatedArtifactComponent'" + } + ] + }, + { + "context": "extension", + "contextType": "variable", + "element": "value", + "transform": "copy" + } + ] + }, + { + "name": "score", + "source": [ + { + "context": "queried", + "element": "score", + "variable": "a" + } + ], + "target": [ + { + "context": "target", + "contextType": "variable", + "element": "value", + "transform": "copy" + } + ] + }, + { + "name": "Qualitativeprediction", + "source": [ + { + "context": "queried", + "element": "Qualitative prediction", + "variable": "a" + } + ], + "target": [ + { + "context": "target", + "contextType": "variable", + "element": "interpretation", + "transform": "copy" + } + ] + }, + { + "name": "Impact", + "source": [ + { + "context": "queried", + "element": "Impact", + "variable": "a" + }, + { + "context": "queried", + "element": "Source", + "variable": "b" + } + ], + "target": [ + { + "context": "target", + "contextType": "variable", + "element": "component", + "variable": "component" + }, + { + "context": "component", + "contextType": "variable", + "element": "code", + "variable": "code", + "transform": "cc", + "parameter": [ + { + "valueString": "http://hl7.org/fhir/uv/genomics-reporting/CodeSystem/tbd-codes-cs" + }, + { + "valueString": "functional-effect" + } + ] + }, + { + "context": "component", + "contextType": "variable", + "element": "value", + "transform": "cc", + "parameter": [ + { + "valueString": "http://www.sequenceontology.org" + }, + { + "valueString": "%a" + } + ] + }, + { + "context": "component", + "contextType": "variable", + "element": "extension", + "variable": "extension", + "transform": "create", + "parameter": [ + { + "valueString": "Extension" + } + ] + }, + { + "context": "extension", + "contextType": "variable", + "element": "url", + "transform": "evaluate", + "parameter": [ + { + "valueString": "'http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/workflow-relatedArtifactComponent'" + } + ] + }, + { + "context": "extension", + "contextType": "variable", + "element": "value", + "transform": "copy", + "parameter": [ + { + "valueString": "%b" + } + ] + } + ] + } + ] + }, + { + "name": "Range", + "typeMode": "none", + "input": [ + { + "name": "low", + "type": "integer", + "mode": "source" + }, + { + "name": "high", + "type": "integer", + "mode": "source" + }, + { + "name": "Range", + "type": "Range", + "mode": "target" + } + ], + "rule": [ + { + "name": "ConvertRange", + "source": [ + { + "context": "low", + "variable": "a" + }, + { + "context": "high", + "variable": "b" + } + ], + "target": [ + { + "context": "Range", + "contextType": "variable", + "element": "low", + "transform": "copy", + "parameter": [ + { + "valueString": "%a" + } + ] + }, + { + "context": "Range", + "contextType": "variable", + "element": "high", + "transform": "copy", + "parameter": [ + { + "valueString": "%b" + } + ] + } + ] + } + ] + } + ] +} \ No newline at end of file From ad726df17f06a99b48938683a15cb39752c6671e Mon Sep 17 00:00:00 2001 From: Omar Khan Date: Tue, 22 Apr 2025 13:46:19 +0100 Subject: [PATCH 2/8] Correction to SNOMED display term --- Bundle/UKCore-Bundle-MichaelJonesRequest-Example_minimal.json | 2 +- .../UKCore-Bundle-MichaelJonesRequest-Example_v3_message.json | 2 +- .../UKCore-ServiceRequest-MichaelJonesDYPDRequest-Example.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Bundle/UKCore-Bundle-MichaelJonesRequest-Example_minimal.json b/Bundle/UKCore-Bundle-MichaelJonesRequest-Example_minimal.json index efe489f..02c54a7 100644 --- a/Bundle/UKCore-Bundle-MichaelJonesRequest-Example_minimal.json +++ b/Bundle/UKCore-Bundle-MichaelJonesRequest-Example_minimal.json @@ -158,7 +158,7 @@ { "system": "http://snomed.info/sct", "code": "363418001", - "display": "Malignant tumor of pancreas (disorder)" + "display": "Malignant neoplasm of pancreas" } ] } diff --git a/Bundle/UKCore-Bundle-MichaelJonesRequest-Example_v3_message.json b/Bundle/UKCore-Bundle-MichaelJonesRequest-Example_v3_message.json index d530951..776fbe3 100644 --- a/Bundle/UKCore-Bundle-MichaelJonesRequest-Example_v3_message.json +++ b/Bundle/UKCore-Bundle-MichaelJonesRequest-Example_v3_message.json @@ -596,7 +596,7 @@ { "system": "http://snomed.info/sct", "code": "363418001", - "display": "Malignant tumor of pancreas (disorder)" + "display": "Malignant neoplasm of pancreas" } ] } diff --git a/ServiceRequest/UKCore-ServiceRequest-MichaelJonesDYPDRequest-Example.json b/ServiceRequest/UKCore-ServiceRequest-MichaelJonesDYPDRequest-Example.json index 811560f..4f3c171 100644 --- a/ServiceRequest/UKCore-ServiceRequest-MichaelJonesDYPDRequest-Example.json +++ b/ServiceRequest/UKCore-ServiceRequest-MichaelJonesDYPDRequest-Example.json @@ -88,7 +88,7 @@ { "system": "http://snomed.info/sct", "code": "363418001", - "display": "Malignant tumor of pancreas (disorder)" + "display": "Malignant neoplasm of pancreas" } ] } From 5b925266bc232f31f6f2d172c243d4c9c12bd08d Mon Sep 17 00:00:00 2001 From: Omar Khan Date: Tue, 22 Apr 2025 14:02:03 +0100 Subject: [PATCH 3/8] Removal of unneeded targets --- ...ap-PharmacogeneticTestResult-Genomics.json | 30 ------------------- 1 file changed, 30 deletions(-) diff --git a/StructureMap/StructureMap-PharmacogeneticTestResult-Genomics.json b/StructureMap/StructureMap-PharmacogeneticTestResult-Genomics.json index b65fc89..1449287 100644 --- a/StructureMap/StructureMap-PharmacogeneticTestResult-Genomics.json +++ b/StructureMap/StructureMap-PharmacogeneticTestResult-Genomics.json @@ -82,40 +82,10 @@ "alias": "GenomicStudyAnalysis", "documentation": "Analysis metadata recorded through a profile on Procedure" }, - { - "url": "http://hl7.org/fhir/StructureDefinition/Coding", - "mode": "target", - "alias": "Coding" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/CodeableConcept", - "mode": "target", - "alias": "CodeableConcept" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/Annotation", - "mode": "target", - "alias": "Annotation" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/Annotation", - "mode": "target", - "alias": "Annotation" - }, { "url": "http://hl7.org/fhir/StructureDefinition/Range", "mode": "target", "alias": "Range" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/Quantity", - "mode": "target", - "alias": "Quantity" - }, - { - "url": "http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/workflow-relatedArtifactComponent", - "mode": "target", - "alias": "workflow-relatedArtifactComponent" } ], "group": [ From 77a6046d4a276ad129b6c90912cdafc6ea796273 Mon Sep 17 00:00:00 2001 From: Omar Khan Date: Tue, 22 Apr 2025 14:20:22 +0100 Subject: [PATCH 4/8] Removal of placeholders and Range function --- ...ap-PharmacogeneticTestResult-Genomics.json | 45 +++++++++++++------ 1 file changed, 31 insertions(+), 14 deletions(-) diff --git a/StructureMap/StructureMap-PharmacogeneticTestResult-Genomics.json b/StructureMap/StructureMap-PharmacogeneticTestResult-Genomics.json index 1449287..b76f399 100644 --- a/StructureMap/StructureMap-PharmacogeneticTestResult-Genomics.json +++ b/StructureMap/StructureMap-PharmacogeneticTestResult-Genomics.json @@ -1210,7 +1210,24 @@ "valueString": "''" }, { - "valueString": "%a%b" + "valueId": "a" + } + ] + }, + { + "context": "code", + "contextType": "variable", + "element": "coding", + "variable": "coding" + }, + { + "context": "coding", + "contextType": "variable", + "element": "display", + "transform": "append", + "parameter": [ + { + "valueId": "b" } ] }, @@ -1221,7 +1238,7 @@ "transform": "copy", "parameter": [ { - "valueString": "%c" + "valueId": "c" } ] } @@ -1355,7 +1372,7 @@ "valueString": "http://loinc.org" }, { - "valueString": "%a" + "valueId": "a" } ] } @@ -1517,7 +1534,7 @@ "transform": "copy", "parameter": [ { - "valueString": "%a" + "valueId": "a" } ] }, @@ -1528,7 +1545,7 @@ "transform": "append", "parameter": [ { - "valueString": "%b" + "valueId": "b" } ] }, @@ -1562,7 +1579,7 @@ "transform": "copy", "parameter": [ { - "valueString": "%c" + "valueId": "c" } ] }, @@ -1573,7 +1590,7 @@ "transform": "append", "parameter": [ { - "valueString": "%d" + "valueId": "d" } ] } @@ -1597,7 +1614,7 @@ "transform": "append", "parameter": [ { - "valueString": "%a" + "valueId": "a" } ] } @@ -1707,7 +1724,7 @@ "transform": "pointer", "parameter": [ { - "valueString": "%a" + "valueId": "a" } ] } @@ -1816,7 +1833,7 @@ "valueString": "http://loinc.org" }, { - "valueString": "%a" + "valueId": "a" } ] } @@ -2062,7 +2079,7 @@ "valueString": "http://www.sequenceontology.org" }, { - "valueString": "%a" + "valueId": "a" } ] }, @@ -2096,7 +2113,7 @@ "transform": "copy", "parameter": [ { - "valueString": "%b" + "valueId": "b" } ] } @@ -2145,7 +2162,7 @@ "transform": "copy", "parameter": [ { - "valueString": "%a" + "valueId": "a" } ] }, @@ -2156,7 +2173,7 @@ "transform": "copy", "parameter": [ { - "valueString": "%b" + "valueId": "b" } ] } From 5dab5764cbdd978cf4c957e7e6ab5036cbdd6bdd Mon Sep 17 00:00:00 2001 From: Omar Khan Date: Tue, 22 Apr 2025 14:22:16 +0100 Subject: [PATCH 5/8] Removal of TherapeuticImplication target --- ...ap-PharmacogeneticTestResult-Genomics.json | 124 ++++++------------ 1 file changed, 38 insertions(+), 86 deletions(-) diff --git a/StructureMap/StructureMap-PharmacogeneticTestResult-Genomics.json b/StructureMap/StructureMap-PharmacogeneticTestResult-Genomics.json index b76f399..ee7d3fc 100644 --- a/StructureMap/StructureMap-PharmacogeneticTestResult-Genomics.json +++ b/StructureMap/StructureMap-PharmacogeneticTestResult-Genomics.json @@ -58,12 +58,6 @@ "alias": "Variant", "documentation": "The Variant information as a FHIR Observation" }, - { - "url": "http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/therapeutic-implication", - "mode": "target", - "alias": "TherapeuticImplication", - "documentation": "The therapeutic implication information as a FHIR Observation" - }, { "url": "http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/diagnostic-implication", "mode": "target", @@ -81,11 +75,6 @@ "mode": "target", "alias": "GenomicStudyAnalysis", "documentation": "Analysis metadata recorded through a profile on Procedure" - }, - { - "url": "http://hl7.org/fhir/StructureDefinition/Range", - "mode": "target", - "alias": "Range" } ], "group": [ @@ -158,7 +147,7 @@ "valueString": "http://www.genenames.org" }, { - "valueString": "%a" + "valueId": "a" } ] } @@ -328,7 +317,7 @@ "valueString": "http://www.genenames.org" }, { - "valueString": "%a" + "valueId": "a" } ] } @@ -376,7 +365,7 @@ "valueString": "http://www.sequenceontology.org" }, { - "valueString": "%a" + "valueId": "a" } ] } @@ -425,7 +414,7 @@ "transform": "copy", "parameter": [ { - "valueString": "%a" + "valueId": "a" } ] }, @@ -459,7 +448,7 @@ "transform": "copy", "parameter": [ { - "valueString": "%b" + "valueId": "b" } ] } @@ -504,11 +493,34 @@ { "context": "component", "contextType": "variable", + "variable": "range", "element": "value", "transform": "create", "parameter": [ { - "valueString": "Range(%a, %b)" + "valueString": "Range" + } + ] + }, + { + "context": "range", + "contextType": "variable", + "element": "low", + "transform": "copy", + "parameter": [ + { + "valueId": "a" + } + ] + }, + { + "context": "range", + "contextType": "variable", + "element": "high", + "transform": "copy", + "parameter": [ + { + "valueId": "b" } ] } @@ -555,7 +567,7 @@ "valueString": "http://www.genenames.org" }, { - "valueString": "%a" + "valueId": "a" } ] } @@ -602,7 +614,7 @@ "valueString": "http://www.genenames.org" }, { - "valueString": "%a" + "valueId": "a" } ] } @@ -649,7 +661,7 @@ "valueString": "http://loinc.org" }, { - "valueString": "%a" + "valueId": "a" } ] } @@ -699,7 +711,7 @@ "valueString": "http://www.genenames.org" }, { - "valueString": "%a" + "valueId": "a" } ] } @@ -782,7 +794,7 @@ "transform": "qty", "parameter": [ { - "valueString": "%a" + "valueId": "a" }, { "valueString": "{ratio}" @@ -924,7 +936,7 @@ "transform": "copy", "parameter": [ { - "valueString": "%a" + "valueId": "a" } ] }, @@ -958,7 +970,7 @@ "transform": "copy", "parameter": [ { - "valueString": "%b" + "valueId": "b" } ] } @@ -1130,7 +1142,7 @@ "transform": "copy", "parameter": [ { - "valueString": "%b" + "valueId": "b" } ] }, @@ -1164,7 +1176,7 @@ "transform": "copy", "parameter": [ { - "valueString": "%a" + "valueId": "a" } ] } @@ -2120,66 +2132,6 @@ ] } ] - }, - { - "name": "Range", - "typeMode": "none", - "input": [ - { - "name": "low", - "type": "integer", - "mode": "source" - }, - { - "name": "high", - "type": "integer", - "mode": "source" - }, - { - "name": "Range", - "type": "Range", - "mode": "target" - } - ], - "rule": [ - { - "name": "ConvertRange", - "source": [ - { - "context": "low", - "variable": "a" - }, - { - "context": "high", - "variable": "b" - } - ], - "target": [ - { - "context": "Range", - "contextType": "variable", - "element": "low", - "transform": "copy", - "parameter": [ - { - "valueId": "a" - } - ] - }, - { - "context": "Range", - "contextType": "variable", - "element": "high", - "transform": "copy", - "parameter": [ - { - "valueId": "b" - } - ] - } - ] - } - ] } ] } \ No newline at end of file From dbdab8aa8fad0fb4b6b37473d00ce4fd9ae8df8f Mon Sep 17 00:00:00 2001 From: Omar Khan Date: Fri, 23 May 2025 11:39:25 +0100 Subject: [PATCH 6/8] Removal of evaluate operation --- ...ap-PharmacogeneticTestResult-Genomics.json | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/StructureMap/StructureMap-PharmacogeneticTestResult-Genomics.json b/StructureMap/StructureMap-PharmacogeneticTestResult-Genomics.json index ee7d3fc..2aaf616 100644 --- a/StructureMap/StructureMap-PharmacogeneticTestResult-Genomics.json +++ b/StructureMap/StructureMap-PharmacogeneticTestResult-Genomics.json @@ -180,10 +180,10 @@ "context": "extension", "contextType": "variable", "element": "url", - "transform": "evaluate", + "transform": "copy", "parameter": [ { - "valueString": "'http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/genomic-study-analysis-protocol-performed'" + "valueString": "http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/genomic-study-analysis-protocol-performed" } ] }, @@ -434,10 +434,10 @@ "context": "extension", "contextType": "variable", "element": "url", - "transform": "evaluate", + "transform": "copy", "parameter": [ { - "valueString": "'http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/workflow-relatedArtifactComponent'" + "valueString": "http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/workflow-relatedArtifactComponent" } ] }, @@ -956,10 +956,10 @@ "context": "extension", "contextType": "variable", "element": "url", - "transform": "evaluate", + "transform": "copy", "parameter": [ { - "valueString": "'http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/workflow-relatedArtifactComponent'" + "valueString": "http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/workflow-relatedArtifactComponent" } ] }, @@ -1162,10 +1162,10 @@ "context": "extension", "contextType": "variable", "element": "url", - "transform": "evaluate", + "transform": "copy", "parameter": [ { - "valueString": "'http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/workflow-relatedArtifactComponent'" + "valueString": "http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/workflow-relatedArtifactComponent" } ] }, @@ -1577,10 +1577,10 @@ "context": "extension", "contextType": "variable", "element": "url", - "transform": "evaluate", + "transform": "copy", "parameter": [ { - "valueString": "'http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/workflow-relatedArtifactComponent'" + "valueString": "http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/workflow-relatedArtifactComponent" } ] }, @@ -1994,10 +1994,10 @@ "context": "extension", "contextType": "variable", "element": "url", - "transform": "evaluate", + "transform": "copy", "parameter": [ { - "valueString": "'http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/workflow-relatedArtifactComponent'" + "valueString": "http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/workflow-relatedArtifactComponent" } ] }, @@ -2111,10 +2111,10 @@ "context": "extension", "contextType": "variable", "element": "url", - "transform": "evaluate", + "transform": "copy", "parameter": [ { - "valueString": "'http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/workflow-relatedArtifactComponent'" + "valueString": "http://hl7.org/fhir/uv/genomics-reporting/StructureDefinition/workflow-relatedArtifactComponent" } ] }, From 047177d43e0fd02e80400cbce0ad30354dfc2089 Mon Sep 17 00:00:00 2001 From: Omar Khan Date: Fri, 30 May 2025 17:18:19 +0100 Subject: [PATCH 7/8] First draft of Graph definition for child requests Needs criteria to differentiate requests that are for Duo/Trio vs. other child test scenarios --- ...ion-Genomics-Test-Order-With-Children.json | 755 ++++++++++++++++++ 1 file changed, 755 insertions(+) create mode 100644 GraphDefinition/GraphDefinition-Genomics-Test-Order-With-Children.json diff --git a/GraphDefinition/GraphDefinition-Genomics-Test-Order-With-Children.json b/GraphDefinition/GraphDefinition-Genomics-Test-Order-With-Children.json new file mode 100644 index 0000000..e6c44db --- /dev/null +++ b/GraphDefinition/GraphDefinition-Genomics-Test-Order-With-Children.json @@ -0,0 +1,755 @@ +{ + "resourceType": "GraphDefinition", + "id": "GraphDefinition-Genomics-test-order-with-children", + "url": "https://fhir.nhs.uk/GraphDefinition/genomics-test-order-with-children", + "name": "GenomicsTestOrder", + "version": "0.1.0", + "status": "draft", + "date": "2025-05-29", + "publisher" : "NHS England", + "description": "GraphDefinition for defining and retrieving the full set of resources relevant to a Genomic Test Order including children (for split Duo/Trio scenario)", + "start": "ServiceRequest", + "link": [ + { + "path": "ServiceRequest.extension.valueReference", + "sliceName": "additionalContact", + "description": "Link to additional contacts for request", + "min": 0, + "max": "*", + "target": [ + { + "type": "PractitionerRole" + } + ] + }, + { + "path": "ServiceRequest.basedOn", + "description": "Link to parent request (it is expected that a separate call to the $graph=genomics-test-order would be required to retrieve resources referenced from the ServiceRequest", + "min": 0, + "max": "1", + "target": [ + { + "type": "ServiceRequest" + } + ] + }, + { + "path": "ServiceRequest.subject", + "description": "Link to patient the request is for", + "min": 1, + "max": "1", + "target": [ + { + "type": "Patient" + } + ] + }, + { + "path": "ServiceRequest.requester", + "description": "Link to the requester of the genomic test order", + "min": 1, + "max": "1", + "target": [ + { + "type": "PractitionerRole" + } + ] + }, + { + "path": "ServiceRequest.reasonReference", + "description": "Optional link to the primary condition constituting the reason for testing", + "min": 0, + "max": "1", + "target": [ + { + "type": "Condition" + } + ] + }, + { + "path": "ServiceRequest.supportingInfo", + "description": "Link to additional clinical information to support processing/interpretation of the request", + "min": 0, + "max": "*", + "target": [ + { + "type": "RelatedPerson", + "link": [ + { + "description": "Patient linked to this RelatedPerson", + "min": 1, + "max": "1", + "target": [ + { + "type": "Patient", + "params": "link={ref}" + } + ] + } + ] + }, + { + "type": "Observation", + "link": [ + { + "path": "Observation.extension.valueReference", + "description": "Optional link to body structure related to the observation", + "min": 0, + "max": "1", + "target": [ + { + "type": "BodyStructure" + } + ] + }, + { + "path": "Observation.focus", + "description": "Optional link to specimen the observation is about, if relevant", + "min": 0, + "max": "1", + "target": [ + { + "type": "Specimen" + } + ] + }, + { + "path": "Observation.performer", + "description": "Optional link to actor who performed the observation (could be Patient, PractitionerRole or RelatedPerson)", + "min": 0, + "max": "1", + "target": [ + { + "type": "Resource" + } + ] + }, + { + "path": "Observation.hasMember", + "description": "Optional link to observation if parent observation is a panel", + "min": 0, + "max": "*", + "target": [ + { + "type": "Observation" + } + ] + } + ] + }, + { + "type": "Condition", + "link": [ + { + "path": "Condition.recorder", + "description": "Optional link to actor which recorded condition (could be Patient, PreactitionerRole or RelatedPerson)", + "min": 0, + "max": "1", + "target": [ + { + "type": "Resource" + } + ] + }, + { + "path": "Condition.asserter", + "description": "Optional link to actor which asserted condition (could be Patient, PreactitionerRole or RelatedPerson)", + "min": 0, + "max": "1", + "target": [ + { + "type": "Resource" + } + ] + } + ] + }, + { + "type": "Procedure" + }, + { + "type": "FamilyMemberHistory", + "link": [ + { + "path": "FamilyMemberHistory.extension.valueReference", + "sliceName": "family-member-history-genetics-observation", + "description": "Optional link to observations related to a FamilyMemberHistory", + "min": 0, + "max": "*", + "target": [ + { + "type": "Observation" + } + ] + }, + { + "path": "FamilyMemberHistory.extension.valueReference", + "sliceName": "familymemberhistory-patient-record", + "description": "Optional link to Patient resources for related family members", + "min": 0, + "max": "*", + "target": [ + { + "type": "Patient" + } + ] + } + ] + }, + { + "type": "DocumentReference" + }, + { + "type": "DiagnosticReport" + }, + { + "type": "Consent", + "link": [ + { + "path": "Consent.sourceReference", + "description": "Optional link to structured QuestionnaireResponse or DocumentReference for RoD/consent forms", + "min": 0, + "max": "1", + "target": [ + { + "type": "QuestionnaireResponse", + "link": [ + { + "path": "QuestionnaireResponse.author", + "description": "Author of the RoD, most likely a PractitionerRole resource (if a reference)", + "min": 1, + "max": "1", + "target": [ + { + "type": "PractitionerRole" + } + ] + }, + { + "path": "QuestionnaireResponse.source", + "description": "Source of the RoD (could be Patient, PractitionerRole or RelatedPerson)", + "min": 1, + "max": "1", + "target": [ + { + "type": "Resource" + } + ] + } + ] + }, + { + "type": "DocumentReference" + } + ] + }, + { + "path": "Consent.patient", + "description": "Link to Patient resource (relevant for instances where the consent does not apply to the proband)", + "min": 1, + "max": "1", + "target": [ + { + "type": "Patient" + } + ] + } + ] + } + ] + }, + { + "path": "ServiceRequest.specimen", + "description": "Optional link to specimen where this has already been collected/ordered prior to request submission", + "min": 0, + "max": "*", + "target": [ + { + "type": "Specimen", + "link": [ + { + "path": "Specimen.subject", + "description": "Link to the patient the specimen is from", + "min": 1, + "max": "1", + "target": [ + { + "type": "Patient" + } + ] + }, + { + "path": "Specimen.parent", + "description": "Link to parent specimen resource", + "min": 0, + "max": "1", + "target": [ + { + "type": "Specimen" + } + ] + }, + { + "path": "Specimen.collection.collector", + "description": "Link to collector of the specimen", + "min": 0, + "max": "1", + "target": [ + { + "type": "PractitionerRole" + } + ] + }, + { + "path": "Specimen.collection.bodySite.extension.valueReference", + "sliceName": "bodySiteReference", + "description": "Link to the body structure detailing the morphology and topography of the specimen", + "min": 0, + "max": "1", + "target": [ + { + "type": "BodyStructure" + } + ] + } + ] + } + ] + }, + { + "description": "Specimen resources referencing this ServiceRequest", + "min": 0, + "max": "*", + "target": [ + { + "type": "Specimen", + "params": "request={ref}", + "link": [ + { + "path": "Specimen.subject", + "description": "Link to the patient the specimen is from", + "min": 1, + "max": "1", + "target": [ + { + "type": "Patient" + } + ] + }, + { + "path": "Specimen.parent", + "description": "Link to parent specimen resource", + "min": 0, + "max": "1", + "target": [ + { + "type": "Specimen" + } + ] + }, + { + "path": "Specimen.collection.collector", + "description": "Link to collector of the specimen", + "min": 0, + "max": "1", + "target": [ + { + "type": "PractitionerRole" + } + ] + }, + { + "path": "Specimen.collection.bodySite.extension.valueReference", + "sliceName": "bodySiteReference", + "description": "Link to the body structure detailing the morphology and topography of the specimen", + "min": 0, + "max": "1", + "target": [ + { + "type": "BodyStructure" + } + ] + } + ] + } + ] + }, + { + "description": "Requests referencing this ServiceRequest", + "min": 0, + "max": "*", + "target": [ + { + "type": "ServiceRequest", + "params": "based-on={ref}", + "link": [ + { + "path": "ServiceRequest.extension.valueReference", + "sliceName": "additionalContact", + "description": "Link to additional contacts for request", + "min": 0, + "max": "*", + "target": [ + { + "type": "PractitionerRole" + } + ] + }, + { + "path": "ServiceRequest.basedOn", + "description": "Link to parent request (it is expected that a separate call to the $graph=genomics-test-order would be required to retrieve resources referenced from the ServiceRequest", + "min": 0, + "max": "1", + "target": [ + { + "type": "ServiceRequest" + } + ] + }, + { + "path": "ServiceRequest.subject", + "description": "Link to patient the request is for", + "min": 1, + "max": "1", + "target": [ + { + "type": "Patient" + } + ] + }, + { + "path": "ServiceRequest.requester", + "description": "Link to the requester of the genomic test order", + "min": 1, + "max": "1", + "target": [ + { + "type": "PractitionerRole" + } + ] + }, + { + "path": "ServiceRequest.reasonReference", + "description": "Optional link to the primary condition constituting the reason for testing", + "min": 0, + "max": "1", + "target": [ + { + "type": "Condition" + } + ] + }, + { + "path": "ServiceRequest.supportingInfo", + "description": "Link to additional clinical information to support processing/interpretation of the request", + "min": 0, + "max": "*", + "target": [ + { + "type": "RelatedPerson", + "link": [ + { + "description": "Patient linked to this RelatedPerson", + "min": 1, + "max": "1", + "target": [ + { + "type": "Patient", + "params": "link={ref}" + } + ] + } + ] + }, + { + "type": "Observation", + "link": [ + { + "path": "Observation.extension.valueReference", + "description": "Optional link to body structure related to the observation", + "min": 0, + "max": "1", + "target": [ + { + "type": "BodyStructure" + } + ] + }, + { + "path": "Observation.focus", + "description": "Optional link to specimen the observation is about, if relevant", + "min": 0, + "max": "1", + "target": [ + { + "type": "Specimen" + } + ] + }, + { + "path": "Observation.performer", + "description": "Optional link to actor who performed the observation (could be Patient, PractitionerRole or RelatedPerson)", + "min": 0, + "max": "1", + "target": [ + { + "type": "Resource" + } + ] + }, + { + "path": "Observation.hasMember", + "description": "Optional link to observation if parent observation is a panel", + "min": 0, + "max": "*", + "target": [ + { + "type": "Observation" + } + ] + } + ] + }, + { + "type": "Condition", + "link": [ + { + "path": "Condition.recorder", + "description": "Optional link to actor which recorded condition (could be Patient, PreactitionerRole or RelatedPerson)", + "min": 0, + "max": "1", + "target": [ + { + "type": "Resource" + } + ] + }, + { + "path": "Condition.asserter", + "description": "Optional link to actor which asserted condition (could be Patient, PreactitionerRole or RelatedPerson)", + "min": 0, + "max": "1", + "target": [ + { + "type": "Resource" + } + ] + } + ] + }, + { + "type": "Procedure" + }, + { + "type": "FamilyMemberHistory", + "link": [ + { + "path": "FamilyMemberHistory.extension.valueReference", + "sliceName": "family-member-history-genetics-observation", + "description": "Optional link to observations related to a FamilyMemberHistory", + "min": 0, + "max": "*", + "target": [ + { + "type": "Observation" + } + ] + }, + { + "path": "FamilyMemberHistory.extension.valueReference", + "sliceName": "familymemberhistory-patient-record", + "description": "Optional link to Patient resources for related family members", + "min": 0, + "max": "*", + "target": [ + { + "type": "Patient" + } + ] + } + ] + }, + { + "type": "DocumentReference" + }, + { + "type": "DiagnosticReport" + }, + { + "type": "Consent", + "link": [ + { + "path": "Consent.sourceReference", + "description": "Optional link to structured QuestionnaireResponse or DocumentReference for RoD/consent forms", + "min": 0, + "max": "1", + "target": [ + { + "type": "QuestionnaireResponse", + "link": [ + { + "path": "QuestionnaireResponse.author", + "description": "Author of the RoD, most likely a PractitionerRole resource (if a reference)", + "min": 1, + "max": "1", + "target": [ + { + "type": "PractitionerRole" + } + ] + }, + { + "path": "QuestionnaireResponse.source", + "description": "Source of the RoD (could be Patient, PractitionerRole or RelatedPerson)", + "min": 1, + "max": "1", + "target": [ + { + "type": "Resource" + } + ] + } + ] + }, + { + "type": "DocumentReference" + } + ] + }, + { + "path": "Consent.patient", + "description": "Link to Patient resource (relevant for instances where the consent does not apply to the proband)", + "min": 1, + "max": "1", + "target": [ + { + "type": "Patient" + } + ] + } + ] + } + ] + }, + { + "path": "ServiceRequest.specimen", + "description": "Optional link to specimen where this has already been collected/ordered prior to request submission", + "min": 0, + "max": "*", + "target": [ + { + "type": "Specimen", + "link": [ + { + "path": "Specimen.subject", + "description": "Link to the patient the specimen is from", + "min": 1, + "max": "1", + "target": [ + { + "type": "Patient" + } + ] + }, + { + "path": "Specimen.parent", + "description": "Link to parent specimen resource", + "min": 0, + "max": "1", + "target": [ + { + "type": "Specimen" + } + ] + }, + { + "path": "Specimen.collection.collector", + "description": "Link to collector of the specimen", + "min": 0, + "max": "1", + "target": [ + { + "type": "PractitionerRole" + } + ] + }, + { + "path": "Specimen.collection.bodySite.extension.valueReference", + "sliceName": "bodySiteReference", + "description": "Link to the body structure detailing the morphology and topography of the specimen", + "min": 0, + "max": "1", + "target": [ + { + "type": "BodyStructure" + } + ] + } + ] + } + ] + }, + { + "description": "Specimen resources referencing this ServiceRequest", + "min": 0, + "max": "*", + "target": [ + { + "type": "Specimen", + "params": "request={ref}", + "link": [ + { + "path": "Specimen.subject", + "description": "Link to the patient the specimen is from", + "min": 1, + "max": "1", + "target": [ + { + "type": "Patient" + } + ] + }, + { + "path": "Specimen.parent", + "description": "Link to parent specimen resource", + "min": 0, + "max": "1", + "target": [ + { + "type": "Specimen" + } + ] + }, + { + "path": "Specimen.collection.collector", + "description": "Link to collector of the specimen", + "min": 0, + "max": "1", + "target": [ + { + "type": "PractitionerRole" + } + ] + }, + { + "path": "Specimen.collection.bodySite.extension.valueReference", + "sliceName": "bodySiteReference", + "description": "Link to the body structure detailing the morphology and topography of the specimen", + "min": 0, + "max": "1", + "target": [ + { + "type": "BodyStructure" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] +} \ No newline at end of file From 0b20fb460214fd2acbc175bc366db73662862bab Mon Sep 17 00:00:00 2001 From: Omar Khan Date: Fri, 30 May 2025 17:48:37 +0100 Subject: [PATCH 8/8] Revert "First draft of Graph definition for child requests" This reverts commit 047177d43e0fd02e80400cbce0ad30354dfc2089. --- ...ion-Genomics-Test-Order-With-Children.json | 755 ------------------ 1 file changed, 755 deletions(-) delete mode 100644 GraphDefinition/GraphDefinition-Genomics-Test-Order-With-Children.json diff --git a/GraphDefinition/GraphDefinition-Genomics-Test-Order-With-Children.json b/GraphDefinition/GraphDefinition-Genomics-Test-Order-With-Children.json deleted file mode 100644 index e6c44db..0000000 --- a/GraphDefinition/GraphDefinition-Genomics-Test-Order-With-Children.json +++ /dev/null @@ -1,755 +0,0 @@ -{ - "resourceType": "GraphDefinition", - "id": "GraphDefinition-Genomics-test-order-with-children", - "url": "https://fhir.nhs.uk/GraphDefinition/genomics-test-order-with-children", - "name": "GenomicsTestOrder", - "version": "0.1.0", - "status": "draft", - "date": "2025-05-29", - "publisher" : "NHS England", - "description": "GraphDefinition for defining and retrieving the full set of resources relevant to a Genomic Test Order including children (for split Duo/Trio scenario)", - "start": "ServiceRequest", - "link": [ - { - "path": "ServiceRequest.extension.valueReference", - "sliceName": "additionalContact", - "description": "Link to additional contacts for request", - "min": 0, - "max": "*", - "target": [ - { - "type": "PractitionerRole" - } - ] - }, - { - "path": "ServiceRequest.basedOn", - "description": "Link to parent request (it is expected that a separate call to the $graph=genomics-test-order would be required to retrieve resources referenced from the ServiceRequest", - "min": 0, - "max": "1", - "target": [ - { - "type": "ServiceRequest" - } - ] - }, - { - "path": "ServiceRequest.subject", - "description": "Link to patient the request is for", - "min": 1, - "max": "1", - "target": [ - { - "type": "Patient" - } - ] - }, - { - "path": "ServiceRequest.requester", - "description": "Link to the requester of the genomic test order", - "min": 1, - "max": "1", - "target": [ - { - "type": "PractitionerRole" - } - ] - }, - { - "path": "ServiceRequest.reasonReference", - "description": "Optional link to the primary condition constituting the reason for testing", - "min": 0, - "max": "1", - "target": [ - { - "type": "Condition" - } - ] - }, - { - "path": "ServiceRequest.supportingInfo", - "description": "Link to additional clinical information to support processing/interpretation of the request", - "min": 0, - "max": "*", - "target": [ - { - "type": "RelatedPerson", - "link": [ - { - "description": "Patient linked to this RelatedPerson", - "min": 1, - "max": "1", - "target": [ - { - "type": "Patient", - "params": "link={ref}" - } - ] - } - ] - }, - { - "type": "Observation", - "link": [ - { - "path": "Observation.extension.valueReference", - "description": "Optional link to body structure related to the observation", - "min": 0, - "max": "1", - "target": [ - { - "type": "BodyStructure" - } - ] - }, - { - "path": "Observation.focus", - "description": "Optional link to specimen the observation is about, if relevant", - "min": 0, - "max": "1", - "target": [ - { - "type": "Specimen" - } - ] - }, - { - "path": "Observation.performer", - "description": "Optional link to actor who performed the observation (could be Patient, PractitionerRole or RelatedPerson)", - "min": 0, - "max": "1", - "target": [ - { - "type": "Resource" - } - ] - }, - { - "path": "Observation.hasMember", - "description": "Optional link to observation if parent observation is a panel", - "min": 0, - "max": "*", - "target": [ - { - "type": "Observation" - } - ] - } - ] - }, - { - "type": "Condition", - "link": [ - { - "path": "Condition.recorder", - "description": "Optional link to actor which recorded condition (could be Patient, PreactitionerRole or RelatedPerson)", - "min": 0, - "max": "1", - "target": [ - { - "type": "Resource" - } - ] - }, - { - "path": "Condition.asserter", - "description": "Optional link to actor which asserted condition (could be Patient, PreactitionerRole or RelatedPerson)", - "min": 0, - "max": "1", - "target": [ - { - "type": "Resource" - } - ] - } - ] - }, - { - "type": "Procedure" - }, - { - "type": "FamilyMemberHistory", - "link": [ - { - "path": "FamilyMemberHistory.extension.valueReference", - "sliceName": "family-member-history-genetics-observation", - "description": "Optional link to observations related to a FamilyMemberHistory", - "min": 0, - "max": "*", - "target": [ - { - "type": "Observation" - } - ] - }, - { - "path": "FamilyMemberHistory.extension.valueReference", - "sliceName": "familymemberhistory-patient-record", - "description": "Optional link to Patient resources for related family members", - "min": 0, - "max": "*", - "target": [ - { - "type": "Patient" - } - ] - } - ] - }, - { - "type": "DocumentReference" - }, - { - "type": "DiagnosticReport" - }, - { - "type": "Consent", - "link": [ - { - "path": "Consent.sourceReference", - "description": "Optional link to structured QuestionnaireResponse or DocumentReference for RoD/consent forms", - "min": 0, - "max": "1", - "target": [ - { - "type": "QuestionnaireResponse", - "link": [ - { - "path": "QuestionnaireResponse.author", - "description": "Author of the RoD, most likely a PractitionerRole resource (if a reference)", - "min": 1, - "max": "1", - "target": [ - { - "type": "PractitionerRole" - } - ] - }, - { - "path": "QuestionnaireResponse.source", - "description": "Source of the RoD (could be Patient, PractitionerRole or RelatedPerson)", - "min": 1, - "max": "1", - "target": [ - { - "type": "Resource" - } - ] - } - ] - }, - { - "type": "DocumentReference" - } - ] - }, - { - "path": "Consent.patient", - "description": "Link to Patient resource (relevant for instances where the consent does not apply to the proband)", - "min": 1, - "max": "1", - "target": [ - { - "type": "Patient" - } - ] - } - ] - } - ] - }, - { - "path": "ServiceRequest.specimen", - "description": "Optional link to specimen where this has already been collected/ordered prior to request submission", - "min": 0, - "max": "*", - "target": [ - { - "type": "Specimen", - "link": [ - { - "path": "Specimen.subject", - "description": "Link to the patient the specimen is from", - "min": 1, - "max": "1", - "target": [ - { - "type": "Patient" - } - ] - }, - { - "path": "Specimen.parent", - "description": "Link to parent specimen resource", - "min": 0, - "max": "1", - "target": [ - { - "type": "Specimen" - } - ] - }, - { - "path": "Specimen.collection.collector", - "description": "Link to collector of the specimen", - "min": 0, - "max": "1", - "target": [ - { - "type": "PractitionerRole" - } - ] - }, - { - "path": "Specimen.collection.bodySite.extension.valueReference", - "sliceName": "bodySiteReference", - "description": "Link to the body structure detailing the morphology and topography of the specimen", - "min": 0, - "max": "1", - "target": [ - { - "type": "BodyStructure" - } - ] - } - ] - } - ] - }, - { - "description": "Specimen resources referencing this ServiceRequest", - "min": 0, - "max": "*", - "target": [ - { - "type": "Specimen", - "params": "request={ref}", - "link": [ - { - "path": "Specimen.subject", - "description": "Link to the patient the specimen is from", - "min": 1, - "max": "1", - "target": [ - { - "type": "Patient" - } - ] - }, - { - "path": "Specimen.parent", - "description": "Link to parent specimen resource", - "min": 0, - "max": "1", - "target": [ - { - "type": "Specimen" - } - ] - }, - { - "path": "Specimen.collection.collector", - "description": "Link to collector of the specimen", - "min": 0, - "max": "1", - "target": [ - { - "type": "PractitionerRole" - } - ] - }, - { - "path": "Specimen.collection.bodySite.extension.valueReference", - "sliceName": "bodySiteReference", - "description": "Link to the body structure detailing the morphology and topography of the specimen", - "min": 0, - "max": "1", - "target": [ - { - "type": "BodyStructure" - } - ] - } - ] - } - ] - }, - { - "description": "Requests referencing this ServiceRequest", - "min": 0, - "max": "*", - "target": [ - { - "type": "ServiceRequest", - "params": "based-on={ref}", - "link": [ - { - "path": "ServiceRequest.extension.valueReference", - "sliceName": "additionalContact", - "description": "Link to additional contacts for request", - "min": 0, - "max": "*", - "target": [ - { - "type": "PractitionerRole" - } - ] - }, - { - "path": "ServiceRequest.basedOn", - "description": "Link to parent request (it is expected that a separate call to the $graph=genomics-test-order would be required to retrieve resources referenced from the ServiceRequest", - "min": 0, - "max": "1", - "target": [ - { - "type": "ServiceRequest" - } - ] - }, - { - "path": "ServiceRequest.subject", - "description": "Link to patient the request is for", - "min": 1, - "max": "1", - "target": [ - { - "type": "Patient" - } - ] - }, - { - "path": "ServiceRequest.requester", - "description": "Link to the requester of the genomic test order", - "min": 1, - "max": "1", - "target": [ - { - "type": "PractitionerRole" - } - ] - }, - { - "path": "ServiceRequest.reasonReference", - "description": "Optional link to the primary condition constituting the reason for testing", - "min": 0, - "max": "1", - "target": [ - { - "type": "Condition" - } - ] - }, - { - "path": "ServiceRequest.supportingInfo", - "description": "Link to additional clinical information to support processing/interpretation of the request", - "min": 0, - "max": "*", - "target": [ - { - "type": "RelatedPerson", - "link": [ - { - "description": "Patient linked to this RelatedPerson", - "min": 1, - "max": "1", - "target": [ - { - "type": "Patient", - "params": "link={ref}" - } - ] - } - ] - }, - { - "type": "Observation", - "link": [ - { - "path": "Observation.extension.valueReference", - "description": "Optional link to body structure related to the observation", - "min": 0, - "max": "1", - "target": [ - { - "type": "BodyStructure" - } - ] - }, - { - "path": "Observation.focus", - "description": "Optional link to specimen the observation is about, if relevant", - "min": 0, - "max": "1", - "target": [ - { - "type": "Specimen" - } - ] - }, - { - "path": "Observation.performer", - "description": "Optional link to actor who performed the observation (could be Patient, PractitionerRole or RelatedPerson)", - "min": 0, - "max": "1", - "target": [ - { - "type": "Resource" - } - ] - }, - { - "path": "Observation.hasMember", - "description": "Optional link to observation if parent observation is a panel", - "min": 0, - "max": "*", - "target": [ - { - "type": "Observation" - } - ] - } - ] - }, - { - "type": "Condition", - "link": [ - { - "path": "Condition.recorder", - "description": "Optional link to actor which recorded condition (could be Patient, PreactitionerRole or RelatedPerson)", - "min": 0, - "max": "1", - "target": [ - { - "type": "Resource" - } - ] - }, - { - "path": "Condition.asserter", - "description": "Optional link to actor which asserted condition (could be Patient, PreactitionerRole or RelatedPerson)", - "min": 0, - "max": "1", - "target": [ - { - "type": "Resource" - } - ] - } - ] - }, - { - "type": "Procedure" - }, - { - "type": "FamilyMemberHistory", - "link": [ - { - "path": "FamilyMemberHistory.extension.valueReference", - "sliceName": "family-member-history-genetics-observation", - "description": "Optional link to observations related to a FamilyMemberHistory", - "min": 0, - "max": "*", - "target": [ - { - "type": "Observation" - } - ] - }, - { - "path": "FamilyMemberHistory.extension.valueReference", - "sliceName": "familymemberhistory-patient-record", - "description": "Optional link to Patient resources for related family members", - "min": 0, - "max": "*", - "target": [ - { - "type": "Patient" - } - ] - } - ] - }, - { - "type": "DocumentReference" - }, - { - "type": "DiagnosticReport" - }, - { - "type": "Consent", - "link": [ - { - "path": "Consent.sourceReference", - "description": "Optional link to structured QuestionnaireResponse or DocumentReference for RoD/consent forms", - "min": 0, - "max": "1", - "target": [ - { - "type": "QuestionnaireResponse", - "link": [ - { - "path": "QuestionnaireResponse.author", - "description": "Author of the RoD, most likely a PractitionerRole resource (if a reference)", - "min": 1, - "max": "1", - "target": [ - { - "type": "PractitionerRole" - } - ] - }, - { - "path": "QuestionnaireResponse.source", - "description": "Source of the RoD (could be Patient, PractitionerRole or RelatedPerson)", - "min": 1, - "max": "1", - "target": [ - { - "type": "Resource" - } - ] - } - ] - }, - { - "type": "DocumentReference" - } - ] - }, - { - "path": "Consent.patient", - "description": "Link to Patient resource (relevant for instances where the consent does not apply to the proband)", - "min": 1, - "max": "1", - "target": [ - { - "type": "Patient" - } - ] - } - ] - } - ] - }, - { - "path": "ServiceRequest.specimen", - "description": "Optional link to specimen where this has already been collected/ordered prior to request submission", - "min": 0, - "max": "*", - "target": [ - { - "type": "Specimen", - "link": [ - { - "path": "Specimen.subject", - "description": "Link to the patient the specimen is from", - "min": 1, - "max": "1", - "target": [ - { - "type": "Patient" - } - ] - }, - { - "path": "Specimen.parent", - "description": "Link to parent specimen resource", - "min": 0, - "max": "1", - "target": [ - { - "type": "Specimen" - } - ] - }, - { - "path": "Specimen.collection.collector", - "description": "Link to collector of the specimen", - "min": 0, - "max": "1", - "target": [ - { - "type": "PractitionerRole" - } - ] - }, - { - "path": "Specimen.collection.bodySite.extension.valueReference", - "sliceName": "bodySiteReference", - "description": "Link to the body structure detailing the morphology and topography of the specimen", - "min": 0, - "max": "1", - "target": [ - { - "type": "BodyStructure" - } - ] - } - ] - } - ] - }, - { - "description": "Specimen resources referencing this ServiceRequest", - "min": 0, - "max": "*", - "target": [ - { - "type": "Specimen", - "params": "request={ref}", - "link": [ - { - "path": "Specimen.subject", - "description": "Link to the patient the specimen is from", - "min": 1, - "max": "1", - "target": [ - { - "type": "Patient" - } - ] - }, - { - "path": "Specimen.parent", - "description": "Link to parent specimen resource", - "min": 0, - "max": "1", - "target": [ - { - "type": "Specimen" - } - ] - }, - { - "path": "Specimen.collection.collector", - "description": "Link to collector of the specimen", - "min": 0, - "max": "1", - "target": [ - { - "type": "PractitionerRole" - } - ] - }, - { - "path": "Specimen.collection.bodySite.extension.valueReference", - "sliceName": "bodySiteReference", - "description": "Link to the body structure detailing the morphology and topography of the specimen", - "min": 0, - "max": "1", - "target": [ - { - "type": "BodyStructure" - } - ] - } - ] - } - ] - } - ] - } - ] - } - ] -} \ No newline at end of file