GraphDefinitions

GraphDefinitions created for use in Genomics are described here. These have been created to facilitate validation of transaction bundles (ensuring they include the resources required) as well as provide operations for retrieving predefined bundles via a single transaction e.g. for Test Orders.

GraphDefinition-Genomics-Test-Order

GraphDefinition for validating a complete Test Order bundle as well as for retrieving a complete order via a single API call e.g. to:

GET [base]/ServiceRequest/ServiceRequest-NonWGSTestOrderForm-Example/$graph?graph=genomics-test-order

HTML View

GraphDefinition

Table View

GraphDefinition.id[0]GraphDefinition-Genomics-test-order
GraphDefinition.url[0]https://fhir.nhs.uk/GraphDefinition/genomics-test-order
GraphDefinition.version[0]0.2.0
GraphDefinition.name[0]GenomicsTestOrder
GraphDefinition.status[0]draft
GraphDefinition.date[0]2024-08-09
GraphDefinition.publisher[0]NHS England
GraphDefinition.description[0]GraphDefinition for defining and retrieving the full set of resources relevant to a Genomic Test Order
GraphDefinition.start[0]ServiceRequest
GraphDefinition.link[0].path[0]ServiceRequest.extension.valueReference
GraphDefinition.link[0].sliceName[0]additionalContact
GraphDefinition.link[0].min[0]0
GraphDefinition.link[0].max[0]*
GraphDefinition.link[0].description[0]Link to additional contacts for request
GraphDefinition.link[0].target[0].type[0]PractitionerRole
GraphDefinition.link[1].path[0]ServiceRequest.basedOn
GraphDefinition.link[1].min[0]0
GraphDefinition.link[1].max[0]1
GraphDefinition.link[1].description[0]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
GraphDefinition.link[1].target[0].type[0]ServiceRequest
GraphDefinition.link[2].path[0]ServiceRequest.subject
GraphDefinition.link[2].min[0]1
GraphDefinition.link[2].max[0]1
GraphDefinition.link[2].description[0]Link to patient the request is for
GraphDefinition.link[2].target[0].type[0]Patient
GraphDefinition.link[3].path[0]ServiceRequest.requester
GraphDefinition.link[3].min[0]1
GraphDefinition.link[3].max[0]1
GraphDefinition.link[3].description[0]Link to the requester of the genomic test order
GraphDefinition.link[3].target[0].type[0]PractitionerRole
GraphDefinition.link[4].path[0]ServiceRequest.reasonReference
GraphDefinition.link[4].min[0]0
GraphDefinition.link[4].max[0]1
GraphDefinition.link[4].description[0]Optional link to the primary condition constituting the reason for testing
GraphDefinition.link[4].target[0].type[0]Condition
GraphDefinition.link[5].path[0]ServiceRequest.supportingInfo
GraphDefinition.link[5].min[0]0
GraphDefinition.link[5].max[0]*
GraphDefinition.link[5].description[0]Link to additional clinical information to support processing/interpretation of the request
GraphDefinition.link[5].target[0].type[0]RelatedPerson
GraphDefinition.link[5].target[0].link[0].min[0]1
GraphDefinition.link[5].target[0].link[0].max[0]1
GraphDefinition.link[5].target[0].link[0].description[0]Patient linked to this RelatedPerson
GraphDefinition.link[5].target[0].link[0].target[0].type[0]Patient
GraphDefinition.link[5].target[0].link[0].target[0].params[0]link={ref}
GraphDefinition.link[5].target[1].type[0]Observation
GraphDefinition.link[5].target[1].link[0].path[0]Observation.extension.valueReference
GraphDefinition.link[5].target[1].link[0].min[0]0
GraphDefinition.link[5].target[1].link[0].max[0]1
GraphDefinition.link[5].target[1].link[0].description[0]Optional link to body structure related to the observation
GraphDefinition.link[5].target[1].link[0].target[0].type[0]BodyStructure
GraphDefinition.link[5].target[1].link[1].path[0]Observation.focus
GraphDefinition.link[5].target[1].link[1].min[0]0
GraphDefinition.link[5].target[1].link[1].max[0]1
GraphDefinition.link[5].target[1].link[1].description[0]Optional link to specimen the observation is about, if relevant
GraphDefinition.link[5].target[1].link[1].target[0].type[0]Specimen
GraphDefinition.link[5].target[1].link[2].path[0]Observation.performer
GraphDefinition.link[5].target[1].link[2].min[0]0
GraphDefinition.link[5].target[1].link[2].max[0]1
GraphDefinition.link[5].target[1].link[2].description[0]Optional link to actor who performed the observation (could be Patient, PractitionerRole or RelatedPerson)
GraphDefinition.link[5].target[1].link[2].target[0].type[0]Resource
GraphDefinition.link[5].target[1].link[3].path[0]Observation.hasMember
GraphDefinition.link[5].target[1].link[3].min[0]0
GraphDefinition.link[5].target[1].link[3].max[0]*
GraphDefinition.link[5].target[1].link[3].description[0]Optional link to observation if parent observation is a panel
GraphDefinition.link[5].target[1].link[3].target[0].type[0]Observation
GraphDefinition.link[5].target[2].type[0]Condition
GraphDefinition.link[5].target[2].link[0].path[0]Condition.recorder
GraphDefinition.link[5].target[2].link[0].min[0]0
GraphDefinition.link[5].target[2].link[0].max[0]1
GraphDefinition.link[5].target[2].link[0].description[0]Optional link to actor which recorded condition (could be Patient, PreactitionerRole or RelatedPerson)
GraphDefinition.link[5].target[2].link[0].target[0].type[0]Resource
GraphDefinition.link[5].target[2].link[1].path[0]Condition.asserter
GraphDefinition.link[5].target[2].link[1].min[0]0
GraphDefinition.link[5].target[2].link[1].max[0]1
GraphDefinition.link[5].target[2].link[1].description[0]Optional link to actor which asserted condition (could be Patient, PreactitionerRole or RelatedPerson)
GraphDefinition.link[5].target[2].link[1].target[0].type[0]Resource
GraphDefinition.link[5].target[3].type[0]Procedure
GraphDefinition.link[5].target[4].type[0]FamilyMemberHistory
GraphDefinition.link[5].target[4].link[0].path[0]FamilyMemberHistory.extension.valueReference
GraphDefinition.link[5].target[4].link[0].sliceName[0]family-member-history-genetics-observation
GraphDefinition.link[5].target[4].link[0].min[0]0
GraphDefinition.link[5].target[4].link[0].max[0]*
GraphDefinition.link[5].target[4].link[0].description[0]Optional link to observations related to a FamilyMemberHistory
GraphDefinition.link[5].target[4].link[0].target[0].type[0]Observation
GraphDefinition.link[5].target[4].link[1].path[0]FamilyMemberHistory.extension.valueReference
GraphDefinition.link[5].target[4].link[1].sliceName[0]familymemberhistory-patient-record
GraphDefinition.link[5].target[4].link[1].min[0]0
GraphDefinition.link[5].target[4].link[1].max[0]*
GraphDefinition.link[5].target[4].link[1].description[0]Optional link to Patient resources for related family members
GraphDefinition.link[5].target[4].link[1].target[0].type[0]Patient
GraphDefinition.link[5].target[5].type[0]DocumentReference
GraphDefinition.link[5].target[6].type[0]DiagnosticReport
GraphDefinition.link[5].target[7].type[0]Consent
GraphDefinition.link[5].target[7].link[0].path[0]Consent.sourceReference
GraphDefinition.link[5].target[7].link[0].min[0]0
GraphDefinition.link[5].target[7].link[0].max[0]1
GraphDefinition.link[5].target[7].link[0].description[0]Optional link to structured QuestionnaireResponse or DocumentReference for RoD/consent forms
GraphDefinition.link[5].target[7].link[0].target[0].type[0]QuestionnaireResponse
GraphDefinition.link[5].target[7].link[0].target[0].link[0].path[0]QuestionnaireResponse.author
GraphDefinition.link[5].target[7].link[0].target[0].link[0].min[0]1
GraphDefinition.link[5].target[7].link[0].target[0].link[0].max[0]1
GraphDefinition.link[5].target[7].link[0].target[0].link[0].description[0]Author of the RoD, most likely a PractitionerRole resource (if a reference)
GraphDefinition.link[5].target[7].link[0].target[0].link[0].target[0].type[0]PractitionerRole
GraphDefinition.link[5].target[7].link[0].target[0].link[1].path[0]QuestionnaireResponse.source
GraphDefinition.link[5].target[7].link[0].target[0].link[1].min[0]1
GraphDefinition.link[5].target[7].link[0].target[0].link[1].max[0]1
GraphDefinition.link[5].target[7].link[0].target[0].link[1].description[0]Source of the RoD (could be Patient, PractitionerRole or RelatedPerson)
GraphDefinition.link[5].target[7].link[0].target[0].link[1].target[0].type[0]Resource
GraphDefinition.link[5].target[7].link[0].target[1].type[0]DocumentReference
GraphDefinition.link[5].target[7].link[1].path[0]Consent.patient
GraphDefinition.link[5].target[7].link[1].min[0]1
GraphDefinition.link[5].target[7].link[1].max[0]1
GraphDefinition.link[5].target[7].link[1].description[0]Link to Patient resource (relevant for instances where the consent does not apply to the proband)
GraphDefinition.link[5].target[7].link[1].target[0].type[0]Patient
GraphDefinition.link[6].path[0]ServiceRequest.specimen
GraphDefinition.link[6].min[0]0
GraphDefinition.link[6].max[0]*
GraphDefinition.link[6].description[0]Optional link to specimen where this has already been collected/ordered prior to request submission
GraphDefinition.link[6].target[0].type[0]Specimen
GraphDefinition.link[6].target[0].link[0].path[0]Specimen.subject
GraphDefinition.link[6].target[0].link[0].min[0]1
GraphDefinition.link[6].target[0].link[0].max[0]1
GraphDefinition.link[6].target[0].link[0].description[0]Link to the patient the specimen is from
GraphDefinition.link[6].target[0].link[0].target[0].type[0]Patient
GraphDefinition.link[6].target[0].link[1].path[0]Specimen.parent
GraphDefinition.link[6].target[0].link[1].min[0]0
GraphDefinition.link[6].target[0].link[1].max[0]1
GraphDefinition.link[6].target[0].link[1].description[0]Link to parent specimen resource
GraphDefinition.link[6].target[0].link[1].target[0].type[0]Specimen
GraphDefinition.link[6].target[0].link[2].path[0]Specimen.collection.collector
GraphDefinition.link[6].target[0].link[2].min[0]0
GraphDefinition.link[6].target[0].link[2].max[0]1
GraphDefinition.link[6].target[0].link[2].description[0]Link to collector of the specimen
GraphDefinition.link[6].target[0].link[2].target[0].type[0]PractitionerRole
GraphDefinition.link[6].target[0].link[3].path[0]Specimen.collection.bodySite.extension.valueReference
GraphDefinition.link[6].target[0].link[3].sliceName[0]bodySiteReference
GraphDefinition.link[6].target[0].link[3].min[0]0
GraphDefinition.link[6].target[0].link[3].max[0]1
GraphDefinition.link[6].target[0].link[3].description[0]Link to the body structure detailing the morphology and topography of the specimen
GraphDefinition.link[6].target[0].link[3].target[0].type[0]BodyStructure
GraphDefinition.link[7].min[0]0
GraphDefinition.link[7].max[0]*
GraphDefinition.link[7].description[0]Specimen resources referencing this ServiceRequest
GraphDefinition.link[7].target[0].type[0]Specimen
GraphDefinition.link[7].target[0].params[0]request={ref}
GraphDefinition.link[7].target[0].link[0].path[0]Specimen.subject
GraphDefinition.link[7].target[0].link[0].min[0]1
GraphDefinition.link[7].target[0].link[0].max[0]1
GraphDefinition.link[7].target[0].link[0].description[0]Link to the patient the specimen is from
GraphDefinition.link[7].target[0].link[0].target[0].type[0]Patient
GraphDefinition.link[7].target[0].link[1].path[0]Specimen.parent
GraphDefinition.link[7].target[0].link[1].min[0]0
GraphDefinition.link[7].target[0].link[1].max[0]1
GraphDefinition.link[7].target[0].link[1].description[0]Link to parent specimen resource
GraphDefinition.link[7].target[0].link[1].target[0].type[0]Specimen
GraphDefinition.link[7].target[0].link[2].path[0]Specimen.collection.collector
GraphDefinition.link[7].target[0].link[2].min[0]0
GraphDefinition.link[7].target[0].link[2].max[0]1
GraphDefinition.link[7].target[0].link[2].description[0]Link to collector of the specimen
GraphDefinition.link[7].target[0].link[2].target[0].type[0]PractitionerRole
GraphDefinition.link[7].target[0].link[3].path[0]Specimen.collection.bodySite.extension.valueReference
GraphDefinition.link[7].target[0].link[3].sliceName[0]bodySiteReference
GraphDefinition.link[7].target[0].link[3].min[0]0
GraphDefinition.link[7].target[0].link[3].max[0]1
GraphDefinition.link[7].target[0].link[3].description[0]Link to the body structure detailing the morphology and topography of the specimen
GraphDefinition.link[7].target[0].link[3].target[0].type[0]BodyStructure

XML View

<GraphDefinition xmlns="http://hl7.org/fhir">
    <id value="GraphDefinition-Genomics-test-order" />
    <url value="https://fhir.nhs.uk/GraphDefinition/genomics-test-order" />
    <version value="0.2.0" />
    <name value="GenomicsTestOrder" />
    <status value="draft" />
    <date value="2024-08-09" />
    <publisher value="NHS England" />
    <description value="GraphDefinition for defining and retrieving the full set of resources relevant to a Genomic Test Order" />
    <start value="ServiceRequest" />
    <link>
        <path value="ServiceRequest.extension.valueReference" />
        <sliceName value="additionalContact" />
        <min value="0" />
        <max value="*" />
        <description value="Link to additional contacts for request" />
        <target>
            <type value="PractitionerRole" />
        </target>
    </link>
    <link>
        <path value="ServiceRequest.basedOn" />
        <min value="0" />
        <max value="1" />
        <description value="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" />
        <target>
            <type value="ServiceRequest" />
        </target>
    </link>
    <link>
        <path value="ServiceRequest.subject" />
        <min value="1" />
        <max value="1" />
        <description value="Link to patient the request is for" />
        <target>
            <type value="Patient" />
        </target>
    </link>
    <link>
        <path value="ServiceRequest.requester" />
        <min value="1" />
        <max value="1" />
        <description value="Link to the requester of the genomic test order" />
        <target>
            <type value="PractitionerRole" />
        </target>
    </link>
    <link>
        <path value="ServiceRequest.reasonReference" />
        <min value="0" />
        <max value="1" />
        <description value="Optional link to the primary condition constituting the reason for testing" />
        <target>
            <type value="Condition" />
        </target>
    </link>
    <link>
        <path value="ServiceRequest.supportingInfo" />
        <min value="0" />
        <max value="*" />
        <description value="Link to additional clinical information to support processing/interpretation of the request" />
        <target>
            <type value="RelatedPerson" />
            <link>
                <min value="1" />
                <max value="1" />
                <description value="Patient linked to this RelatedPerson" />
                <target>
                    <type value="Patient" />
                    <params value="link={ref}" />
                </target>
            </link>
        </target>
        <target>
            <type value="Observation" />
            <link>
                <path value="Observation.extension.valueReference" />
                <min value="0" />
                <max value="1" />
                <description value="Optional link to body structure related to the observation" />
                <target>
                    <type value="BodyStructure" />
                </target>
            </link>
            <link>
                <path value="Observation.focus" />
                <min value="0" />
                <max value="1" />
                <description value="Optional link to specimen the observation is about, if relevant" />
                <target>
                    <type value="Specimen" />
                </target>
            </link>
            <link>
                <path value="Observation.performer" />
                <min value="0" />
                <max value="1" />
                <description value="Optional link to actor who performed the observation (could be Patient, PractitionerRole or RelatedPerson)" />
                <target>
                    <type value="Resource" />
                </target>
            </link>
            <link>
                <path value="Observation.hasMember" />
                <min value="0" />
                <max value="*" />
                <description value="Optional link to observation if parent observation is a panel" />
                <target>
                    <type value="Observation" />
                </target>
            </link>
        </target>
        <target>
            <type value="Condition" />
            <link>
                <path value="Condition.recorder" />
                <min value="0" />
                <max value="1" />
                <description value="Optional link to actor which recorded condition (could be Patient, PreactitionerRole or RelatedPerson)" />
                <target>
                    <type value="Resource" />
                </target>
            </link>
            <link>
                <path value="Condition.asserter" />
                <min value="0" />
                <max value="1" />
                <description value="Optional link to actor which asserted condition (could be Patient, PreactitionerRole or RelatedPerson)" />
                <target>
                    <type value="Resource" />
                </target>
            </link>
        </target>
        <target>
            <type value="Procedure" />
        </target>
        <target>
            <type value="FamilyMemberHistory" />
            <link>
                <path value="FamilyMemberHistory.extension.valueReference" />
                <sliceName value="family-member-history-genetics-observation" />
                <min value="0" />
                <max value="*" />
                <description value="Optional link to observations related to a FamilyMemberHistory" />
                <target>
                    <type value="Observation" />
                </target>
            </link>
            <link>
                <path value="FamilyMemberHistory.extension.valueReference" />
                <sliceName value="familymemberhistory-patient-record" />
                <min value="0" />
                <max value="*" />
                <description value="Optional link to Patient resources for related family members" />
                <target>
                    <type value="Patient" />
                </target>
            </link>
        </target>
        <target>
            <type value="DocumentReference" />
        </target>
        <target>
            <type value="DiagnosticReport" />
        </target>
        <target>
            <type value="Consent" />
            <link>
                <path value="Consent.sourceReference" />
                <min value="0" />
                <max value="1" />
                <description value="Optional link to structured QuestionnaireResponse or DocumentReference for RoD/consent forms" />
                <target>
                    <type value="QuestionnaireResponse" />
                    <link>
                        <path value="QuestionnaireResponse.author" />
                        <min value="1" />
                        <max value="1" />
                        <description value="Author of the RoD, most likely a PractitionerRole resource (if a reference)" />
                        <target>
                            <type value="PractitionerRole" />
                        </target>
                    </link>
                    <link>
                        <path value="QuestionnaireResponse.source" />
                        <min value="1" />
                        <max value="1" />
                        <description value="Source of the RoD (could be Patient, PractitionerRole or RelatedPerson)" />
                        <target>
                            <type value="Resource" />
                        </target>
                    </link>
                </target>
                <target>
                    <type value="DocumentReference" />
                </target>
            </link>
            <link>
                <path value="Consent.patient" />
                <min value="1" />
                <max value="1" />
                <description value="Link to Patient resource (relevant for instances where the consent does not apply to the proband)" />
                <target>
                    <type value="Patient" />
                </target>
            </link>
        </target>
    </link>
    <link>
        <path value="ServiceRequest.specimen" />
        <min value="0" />
        <max value="*" />
        <description value="Optional link to specimen where this has already been collected/ordered prior to request submission" />
        <target>
            <type value="Specimen" />
            <link>
                <path value="Specimen.subject" />
                <min value="1" />
                <max value="1" />
                <description value="Link to the patient the specimen is from" />
                <target>
                    <type value="Patient" />
                </target>
            </link>
            <link>
                <path value="Specimen.parent" />
                <min value="0" />
                <max value="1" />
                <description value="Link to parent specimen resource" />
                <target>
                    <type value="Specimen" />
                </target>
            </link>
            <link>
                <path value="Specimen.collection.collector" />
                <min value="0" />
                <max value="1" />
                <description value="Link to collector of the specimen" />
                <target>
                    <type value="PractitionerRole" />
                </target>
            </link>
            <link>
                <path value="Specimen.collection.bodySite.extension.valueReference" />
                <sliceName value="bodySiteReference" />
                <min value="0" />
                <max value="1" />
                <description value="Link to the body structure detailing the morphology and topography of the specimen" />
                <target>
                    <type value="BodyStructure" />
                </target>
            </link>
        </target>
    </link>
    <link>
        <min value="0" />
        <max value="*" />
        <description value="Specimen resources referencing this ServiceRequest" />
        <target>
            <type value="Specimen" />
            <params value="request={ref}" />
            <link>
                <path value="Specimen.subject" />
                <min value="1" />
                <max value="1" />
                <description value="Link to the patient the specimen is from" />
                <target>
                    <type value="Patient" />
                </target>
            </link>
            <link>
                <path value="Specimen.parent" />
                <min value="0" />
                <max value="1" />
                <description value="Link to parent specimen resource" />
                <target>
                    <type value="Specimen" />
                </target>
            </link>
            <link>
                <path value="Specimen.collection.collector" />
                <min value="0" />
                <max value="1" />
                <description value="Link to collector of the specimen" />
                <target>
                    <type value="PractitionerRole" />
                </target>
            </link>
            <link>
                <path value="Specimen.collection.bodySite.extension.valueReference" />
                <sliceName value="bodySiteReference" />
                <min value="0" />
                <max value="1" />
                <description value="Link to the body structure detailing the morphology and topography of the specimen" />
                <target>
                    <type value="BodyStructure" />
                </target>
            </link>
        </target>
    </link>
</GraphDefinition>

JSON View

{
    "resourceType": "GraphDefinition",
    "id": "GraphDefinition-Genomics-test-order",
    "url": "https://fhir.nhs.uk/GraphDefinition/genomics-test-order",
    "name": "GenomicsTestOrder",
    "version": "0.2.0",
    "status": "draft",
    "date": "2024-08-09",
    "publisher": "NHS England",
    "description": "GraphDefinition for defining and retrieving the full set of resources relevant to a Genomic Test Order",
    "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"
                                }
                            ]
                        }
                    ]
                }
            ]
        }
    ]
}

GraphDefinition-Genomics-Test-Result

GraphDefinition for validating/retrieving a complete Test Result. Only relevant for Structured Reporting where the DiagnosticReport references a series of result/supporting-info/recommended-action/genomic-study resources. The complete result can then be returned via a single API call e.g. to:

GET [base]/DiagnosticReport/DiagnosticReport-AnitaLamberts-Example/$graph?graph=genomics-test-result

HTML View

GraphDefinition

Table View

GraphDefinition.id[0]GraphDefinition-genomics-test-result
GraphDefinition.url[0]https://fhir.nhs.uk/GraphDefinition/genomics-test-result
GraphDefinition.version[0]0.1.0
GraphDefinition.name[0]GenomicsTestResult
GraphDefinition.status[0]draft
GraphDefinition.date[0]2024-08-09
GraphDefinition.publisher[0]NHS England
GraphDefinition.description[0]GraphDefinition for defining and retrieving the full set of resources relevant to a Genomic Test Result (based on the Genomics Reporting Genomic-Report profile)
GraphDefinition.start[0]DiagnosticReport
GraphDefinition.link[0].path[0]DiagnosticReport.extension.valueReference
GraphDefinition.link[0].sliceName[0]recommended-action
GraphDefinition.link[0].min[0]0
GraphDefinition.link[0].max[0]*
GraphDefinition.link[0].description[0]Further actions recommended by the report
GraphDefinition.link[0].target[0].type[0]Task
GraphDefinition.link[1].path[0]DiagnosticReport.extension.valueReference
GraphDefinition.link[1].sliceName[0]genomic-study
GraphDefinition.link[1].min[0]0
GraphDefinition.link[1].max[0]*
GraphDefinition.link[1].description[0]The set of analyses performed to generate/analyse the genomic data
GraphDefinition.link[1].target[0].type[0]Procedure
GraphDefinition.link[1].target[0].link[0].path[0]Procedure.extension.valueReference
GraphDefinition.link[1].target[0].link[0].sliceName[0]genomic-study-analysis
GraphDefinition.link[1].target[0].link[0].min[0]0
GraphDefinition.link[1].target[0].link[0].max[0]*
GraphDefinition.link[1].target[0].link[0].description[0]Component of genomic study
GraphDefinition.link[1].target[0].link[0].target[0].type[0]Procedure
GraphDefinition.link[2].path[0]DiagnosticReport.extension.valueReference
GraphDefinition.link[2].sliceName[0]supporting-info
GraphDefinition.link[2].min[0]0
GraphDefinition.link[2].max[0]*
GraphDefinition.link[2].description[0]Supporting Info references, used to capture clinical information and references to Genomic Data Files
GraphDefinition.link[2].target[0].type[0]DocumentReference
GraphDefinition.link[2].target[1].type[0]Resource
GraphDefinition.link[3].path[0]DiagnosticReport.basedOn
GraphDefinition.link[3].min[0]1
GraphDefinition.link[3].max[0]1
GraphDefinition.link[3].description[0]Link to request this DiagnosticReport is in fulfillment of
GraphDefinition.link[3].target[0].type[0]ServiceRequest
GraphDefinition.link[4].path[0]DiagnosticReport.subject
GraphDefinition.link[4].min[0]1
GraphDefinition.link[4].max[0]1
GraphDefinition.link[4].description[0]Link to the patient the report is concerning
GraphDefinition.link[4].target[0].type[0]Patient
GraphDefinition.link[5].path[0]DiagnosticReport.specimen
GraphDefinition.link[5].min[0]0
GraphDefinition.link[5].max[0]*
GraphDefinition.link[5].description[0]Link to the specimens used during testing to generate the report
GraphDefinition.link[5].target[0].type[0]Specimen
GraphDefinition.link[5].target[0].link[0].path[0]Specimen.subject
GraphDefinition.link[5].target[0].link[0].min[0]1
GraphDefinition.link[5].target[0].link[0].max[0]1
GraphDefinition.link[5].target[0].link[0].description[0]Link to the patient the specimen is from
GraphDefinition.link[5].target[0].link[0].target[0].type[0]Patient
GraphDefinition.link[5].target[0].link[1].path[0]Specimen.parent
GraphDefinition.link[5].target[0].link[1].min[0]0
GraphDefinition.link[5].target[0].link[1].max[0]1
GraphDefinition.link[5].target[0].link[1].description[0]Link to parent specimen resource
GraphDefinition.link[5].target[0].link[1].target[0].type[0]Specimen
GraphDefinition.link[5].target[0].link[2].path[0]Specimen.collection.collector
GraphDefinition.link[5].target[0].link[2].min[0]0
GraphDefinition.link[5].target[0].link[2].max[0]1
GraphDefinition.link[5].target[0].link[2].description[0]Link to collector of the specimen
GraphDefinition.link[5].target[0].link[2].target[0].type[0]PractitionerRole
GraphDefinition.link[5].target[0].link[3].path[0]Specimen.collection.bodySite.extension.valueReference
GraphDefinition.link[5].target[0].link[3].sliceName[0]bodySiteReference
GraphDefinition.link[5].target[0].link[3].min[0]0
GraphDefinition.link[5].target[0].link[3].max[0]1
GraphDefinition.link[5].target[0].link[3].description[0]Link to the body structure detailing the morphology and topography of the specimen
GraphDefinition.link[5].target[0].link[3].target[0].type[0]BodyStructure
GraphDefinition.link[6].path[0]DiagnosticReport.result
GraphDefinition.link[6].min[0]0
GraphDefinition.link[6].max[0]*
GraphDefinition.link[6].description[0]Links to Observations forming the results reported in the DiagnosticReport
GraphDefinition.link[6].target[0].type[0]Observation
GraphDefinition.link[6].target[0].link[0].path[0]Observation.performer
GraphDefinition.link[6].target[0].link[0].min[0]0
GraphDefinition.link[6].target[0].link[0].max[0]1
GraphDefinition.link[6].target[0].link[0].description[0]Optional link to actor who performed the observation (could be Patient, PractitionerRole or RelatedPerson)
GraphDefinition.link[6].target[0].link[0].target[0].type[0]Resource
GraphDefinition.link[6].target[0].link[1].path[0]Observation.hasMember
GraphDefinition.link[6].target[0].link[1].min[0]0
GraphDefinition.link[6].target[0].link[1].max[0]*
GraphDefinition.link[6].target[0].link[1].description[0]Optional link to observation if parent observation is a panel
GraphDefinition.link[6].target[0].link[1].target[0].type[0]Observation

XML View

<GraphDefinition xmlns="http://hl7.org/fhir">
    <id value="GraphDefinition-genomics-test-result" />
    <url value="https://fhir.nhs.uk/GraphDefinition/genomics-test-result" />
    <version value="0.1.0" />
    <name value="GenomicsTestResult" />
    <status value="draft" />
    <date value="2024-08-09" />
    <publisher value="NHS England" />
    <description value="GraphDefinition for defining and retrieving the full set of resources relevant to a Genomic Test Result (based on the Genomics Reporting Genomic-Report profile)" />
    <start value="DiagnosticReport" />
    <link>
        <path value="DiagnosticReport.extension.valueReference" />
        <sliceName value="recommended-action" />
        <min value="0" />
        <max value="*" />
        <description value="Further actions recommended by the report" />
        <target>
            <type value="Task" />
        </target>
    </link>
    <link>
        <path value="DiagnosticReport.extension.valueReference" />
        <sliceName value="genomic-study" />
        <min value="0" />
        <max value="*" />
        <description value="The set of analyses performed to generate/analyse the genomic data" />
        <target>
            <type value="Procedure" />
            <link>
                <path value="Procedure.extension.valueReference" />
                <sliceName value="genomic-study-analysis" />
                <min value="0" />
                <max value="*" />
                <description value="Component of genomic study" />
                <target>
                    <type value="Procedure" />
                </target>
            </link>
        </target>
    </link>
    <link>
        <path value="DiagnosticReport.extension.valueReference" />
        <sliceName value="supporting-info" />
        <min value="0" />
        <max value="*" />
        <description value="Supporting Info references, used to capture clinical information and references to Genomic Data Files" />
        <target>
            <type value="DocumentReference" />
        </target>
        <target>
            <type value="Resource" />
        </target>
    </link>
    <link>
        <path value="DiagnosticReport.basedOn" />
        <min value="1" />
        <max value="1" />
        <description value="Link to request this DiagnosticReport is in fulfillment of" />
        <target>
            <type value="ServiceRequest" />
        </target>
    </link>
    <link>
        <path value="DiagnosticReport.subject" />
        <min value="1" />
        <max value="1" />
        <description value="Link to the patient the report is concerning" />
        <target>
            <type value="Patient" />
        </target>
    </link>
    <link>
        <path value="DiagnosticReport.specimen" />
        <min value="0" />
        <max value="*" />
        <description value="Link to the specimens used during testing to generate the report" />
        <target>
            <type value="Specimen" />
            <link>
                <path value="Specimen.subject" />
                <min value="1" />
                <max value="1" />
                <description value="Link to the patient the specimen is from" />
                <target>
                    <type value="Patient" />
                </target>
            </link>
            <link>
                <path value="Specimen.parent" />
                <min value="0" />
                <max value="1" />
                <description value="Link to parent specimen resource" />
                <target>
                    <type value="Specimen" />
                </target>
            </link>
            <link>
                <path value="Specimen.collection.collector" />
                <min value="0" />
                <max value="1" />
                <description value="Link to collector of the specimen" />
                <target>
                    <type value="PractitionerRole" />
                </target>
            </link>
            <link>
                <path value="Specimen.collection.bodySite.extension.valueReference" />
                <sliceName value="bodySiteReference" />
                <min value="0" />
                <max value="1" />
                <description value="Link to the body structure detailing the morphology and topography of the specimen" />
                <target>
                    <type value="BodyStructure" />
                </target>
            </link>
        </target>
    </link>
    <link>
        <path value="DiagnosticReport.result" />
        <min value="0" />
        <max value="*" />
        <description value="Links to Observations forming the results reported in the DiagnosticReport" />
        <target>
            <type value="Observation" />
            <link>
                <path value="Observation.performer" />
                <min value="0" />
                <max value="1" />
                <description value="Optional link to actor who performed the observation (could be Patient, PractitionerRole or RelatedPerson)" />
                <target>
                    <type value="Resource" />
                </target>
            </link>
            <link>
                <path value="Observation.hasMember" />
                <min value="0" />
                <max value="*" />
                <description value="Optional link to observation if parent observation is a panel" />
                <target>
                    <type value="Observation" />
                </target>
            </link>
        </target>
    </link>
</GraphDefinition>

JSON View

{
    "resourceType": "GraphDefinition",
    "id": "GraphDefinition-genomics-test-result",
    "url": "https://fhir.nhs.uk/GraphDefinition/genomics-test-result",
    "name": "GenomicsTestResult",
    "version": "0.1.0",
    "status": "draft",
    "date": "2024-08-09",
    "publisher": "NHS England",
    "description": "GraphDefinition for defining and retrieving the full set of resources relevant to a Genomic Test Result (based on the Genomics Reporting Genomic-Report profile)",
    "start": "DiagnosticReport",
    "link":  [
        {
            "path": "DiagnosticReport.extension.valueReference",
            "sliceName": "recommended-action",
            "description": "Further actions recommended by the report",
            "min": 0,
            "max": "*",
            "target":  [
                {
                    "type": "Task"
                }
            ]
        },
        {
            "path": "DiagnosticReport.extension.valueReference",
            "sliceName": "genomic-study",
            "description": "The set of analyses performed to generate/analyse the genomic data",
            "min": 0,
            "max": "*",
            "target":  [
                {
                    "type": "Procedure",
                    "link":  [
                        {
                            "path": "Procedure.extension.valueReference",
                            "sliceName": "genomic-study-analysis",
                            "description": "Component of genomic study",
                            "min": 0,
                            "max": "*",
                            "target":  [
                                {
                                    "type": "Procedure"
                                }
                            ]
                        }
                    ]
                }
            ]
        },
        {
            "path": "DiagnosticReport.extension.valueReference",
            "sliceName": "supporting-info",
            "description": "Supporting Info references, used to capture clinical information and references to Genomic Data Files",
            "min": 0,
            "max": "*",
            "target":  [
                {
                    "type": "DocumentReference"
                },
                {
                    "type": "Resource"
                }
            ]
        },
        {
            "path": "DiagnosticReport.basedOn",
            "description": "Link to request this DiagnosticReport is in fulfillment of",
            "min": 1,
            "max": "1",
            "target":  [
                {
                    "type": "ServiceRequest"
                }
            ]
        },
        {
            "path": "DiagnosticReport.subject",
            "description": "Link to the patient the report is concerning",
            "min": 1,
            "max": "1",
            "target":  [
                {
                    "type": "Patient"
                }
            ]
        },
        {
            "path": "DiagnosticReport.specimen",
            "description": "Link to the specimens used during testing to generate the report",
            "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"
                                }
                            ]
                        }
                    ]
                }
            ]
        },
        {
            "path": "DiagnosticReport.result",
            "description": "Links to Observations forming the results reported in the DiagnosticReport",
            "min": 0,
            "max": "*",
            "target":  [
                {
                    "type": "Observation",
                    "link":  [
                        {
                            "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"
                                }
                            ]
                        }
                    ]
                }
            ]
        }
    ]
}