Forms (Modernising Structured Data Capture)

Odd I use term modernising, when I’m going to describe how a GP supplier worked with structured forms 25 years ago… (I will use SNOMED instead of READ though)

So I have a paper form which asks a number of questions like:

I’ve jumped to SNOMED descriptions but you should get the idea of the question being asked. So I can link the questions to SNOMED and the question 4.3 gets linked to Ability to transfer location (click on the link to see child codes)
In the old GP I used to work on we could then create a template and this code would be attached to indicate what kind of values or codes I wanted. A template with this code would normally present a list of child codes (similar to the list below)

On the GP system these codes were stored in a structure that is similar to FHIR Observation. So an example stored code would look something like this (but in MUMPS not JSON or FHIR)

{
"resourceType": "Observation",
"status": "final",
"code": {
    "coding": [
        {
            "system": "http://snomed.info/sct",
            "code": "714882001",
            "display": "Finding related to ability to transfer location"
        }
    ]
},
"subject": {
    "identifier": {
        "system": "https://fhir.nhs.uk/Id/nhs-number",
        "value": "9658218873"
    }
},
"effectiveDateTime": "2019-06-01T22:33:22Z",
"performer": [
    {
        "identifier": {
            "system": "https://fhir.nhs.uk/Id/sds-user-id",
            "value": "G13579135"
        }
    }
],
"valueCodeableConcept": {
    "coding": [
      {
        "system": "http://snomed.info/sct",
        "code": "714889005",
        "display": "Ability to transfer from bed to chair"
      }
    ]
  }
}

It’s a big json dump but we have a Observation with Code = 714882001 and valueCode = 714889005 which is a child code of 714882001

On the GP system we could query for that code which in FHIR would be

https://data.developer.nhs.uk/ccri-fhir/STU3/Observation?code=714882001

(note: this doesn’t return any data, the NHS version of CCRI is a little behind the github version)

I’ve done a couple of posts about FHIR Questionnaire before, so I won’t cover that but we can use them in a very similar manner to the Ye Olde GP Templates. So the questions I listed earlier become:

Or as an extract from the Questionnaire:

{
                "extension": [
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-allowedResource",
                        "valueCode": "Observation"
                    },
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-allowedProfile",
                        "valueReference": {
                            "reference": "https://fhir.hl7.org.uk/StructureDefinition/CareConnect-Observation-1"
                        }
                    }
                ],
                "linkId": "4.3",
                "code": [
                    {
                        "system": "http://snomed.info/sct",
                        "code": "714882001",
                        "display": "Finding related to ability to transfer location"
                    }
                ],
                "text": "Finding related to ability to transfer location",
                "type": "reference",
                "repeats": true
            },
            {
                "extension": [
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-allowedResource",
                        "valueCode": "Observation"
                    },
                    {
                        "url": "http://hl7.org/fhir/StructureDefinition/questionnaire-allowedProfile",
                        "valueReference": {
                            "reference": "https://fhir.hl7.org.uk/StructureDefinition/CareConnect-Observation-1"
                        }
                    }
                ],
                "linkId": "4.4",
                "code": [
                    {
                        "system": "http://snomed.info/sct",
                        "code": "364881003",
                        "display": "Finding related to ability to reach"           
                    }
                ],
                "text": "Finding related to ability to reach",
                "type": "reference",
                "repeats": true
            }

I’ve not mentioned any new models here but have used them with FHIR and JSON. So the old GP system would have been able to represent this FHIR Questionnaire as templates and answer the Observation queries (not as SNOMED though).

We can extend these (old) building blocks into a new way of working. Instead of sending a form to a GP for them to complete, we can ask for the GP to complete the FHIR Questionnaire (how we do this is not covered here).

Users can still choose to complete the paper form or an online questionnaire but we also have the option of automatically completing the form. (This what the GP Templates did, they would find codes from the database and pre-populate the form). Although I used codes for the Observation, it would work for values such as Body weight, height, etc.

In theory these questionnaire could be completed without user intervention.

To read more on this subject please see HL7.FHIR.UV.SDC\Basic SDC workflow - FHIR v4.0.1