This is a copy of the documentation used by the UK Core development team to produce the initial UK Core Implementation Guide and UK Core FHIR assets. As such it is written as guidance for UK Core development team members to create FHIR assets and therefore uses language for that audience and may refer to items which are not in the public domain at present. It is draft and will be updated and matured inline with the C&TA process. It is aimed at the technical reader and is included as reference material. This is based on the UK Core Design Principles.
This is an internal document intended to assist with the development of FHIR profiles for the FHIR R4 UK Core implementation guide (UK Core) and is intended for:
The UK Core is ‘a collection of FHIR resources designed to increase the ability of health information systems within the NHS to work together within and across organisational boundaries in order to advance the effective delivery of healthcare for individuals and communities.’
This document details the approach to take when producing initial FHIR profiles for the UK Core. This is before any technical and clinical assurance for these FHIR profiles takes place.
Where this document refers to FHIR assets, this includes:
For each new FHIR asset you will need to refer to the existing FHIR STU3 CareConnect asset, if there is one published on the HL7 FHIR Reference Server, and develop a UK Core equivalent.
The snapshot component must be included when developing profiles in Forge. This setting can be selected from the Options menu.
Referring to the existing FHIR STU3 CareConnect asset will help you to identify enforced structures that will need to be applied to the new UK Core profile. If a CareConnect profile does not exist, this section will not apply to the new UK Core profile. An enforced structure in a FHIR profile is where an element has been sliced, and either one or both of the following conditions apply:
If you are referring to an existing CareConnect profile as part of your development work, you will also need to refer to an Impact Assessment Output spreadsheet. The Impact Assessment Output spreadsheet details the impact of the FHIR R4 specification on the existing CareConnect profile. The files are held on the Confluence CareConnect R4 Uplift page. Where a FHIR element is impacted by a change in the FHIR R4 specification, you will need to seek input from the UK Core Technical Lead on the correct modelling approach.
This section details how to constrain the properties for FHIR assets.
URL Prefix The URL prefix to be applied to all FHIR assets is https://fhir.hl7.org.uk/*
*This is currently under review by the UK FHIR Delivery Senior Leadership Team and may change.
For StructureDefinition properties which identify the FHIR profile, the following patterns apply:
For StructureDefinition properties which identify the FHIR extension, the following patterns apply:
Example
Using the Patient resource as an example, the patterns for the full set of StructureDefinition properties are demonstrated here:
*This text will also be added to the implementation guide page for the Profile in the UK Core IG.
Filename format The physical filename format to be used for these assets is as below:
url property The url format to be used for these assets is as below:
Common properties
The copyright, publisher and contact information to be used for ValueSets and ConceptMaps is as below:
By default, all CodeSystems will use the following copyright, publisher and contact information:
This may change if a different copyright owner, publisher and contact is identified in CodeSystem requirements.
There is a UK Core requirement to develop extensions based on the equivalent CareConnect extensions. The exception to this is where an extension is no longer needed, as it has been developed in the FHIR R4 Specification. For CareConnect profiles these exceptions will have been documented in the relevant Impact Assessment Output spreadsheet. Extensions will not be constrained (hard Coded) into profiles. The only exception will be where an extension has been previously applied in order to enforce structure, for example Extension-NHSNumberVerificationStatus. The Implementation Guide for the UK Core will include an Extension Library page, which will list extensions for use with the FHIR profiles. Once the approach above has been applied, it will need to be reviewed against the Extension Design page in the UK Core Development Guidance.
There is no requirement to profile HL7 extensions locally. Where a HL7 extension is identified as in scope, you will need to add a link to it on the Extension Library page under HL7 Common Extensions.
Internal versioning for FHIR assets will use the pattern demonstrated for the version element in Properties, i.e. version: 1.0.0 Implementation Guide Versioning has yet to be confirmed. Provisionally the Implementation Guide will use a description, for example ‘November 2019’.
The CareConnect profiles have terminology bindings applied inconsistently. This section will clarify how to apply terminology bindings in UK Core profiles, based on what is discovered in the terminology bindings that have been applied in the CareConnect profiles. Terminology bindings in a CareConnect profile will need to be recreated in the UK Core profile, with the following conditions:
Some CareConnect ValueSets include codes from more than one CodeSystem. Examples include CareConnect-AllergyCode and CareConnect-AllergyManifestation. These ValueSets include codes from SNOMED CT and HL7. However, in the CareConnect profile they have been bound to sliced coding elements with the label ‘snomedCT’. This is incorrect profiling. These ValueSets will need to be bound to the FHIR element without slicing the coding element – see Sliced coding elements with no fixed system element for an example.
There may be cases where an element in the FHIR R4 base profile is already bound to a ValueSet with a binding strength of ‘Required’ or ‘Extensible’, for example Patient.gender or Patient.maritalStatus. In this case the FHIR R4 profile must remain unchanged and any terminology binding found in the CareConnect profile must not be carried forward. Note: the profiling approach to terminology bindings in sliced coding elements will differ, refer to the Slicing section for this guidance.
Fixed values in the coding.system element are not to be applied.
Binding strength | Coding.system element |
---|---|
FHIR Required | Retain base profiling |
UK Core Required | No fixed value as the UK Core should not use the Required binding strength. Current known exception is NHS Number Status Indicator, which is to be reviewed during technical and clinical assurance. |
Extensible | No fixed value |
Preferred | Binding strength currently not in use by UK Core, but no fixed value |
Example | Binding strength currently not in use by UK Core, but no fixed value |
As stated above, the base terminology binding to a FHIR Required ValueSet must remain unchanged. However, a ConceptMap may have been profiled for a CareConnect profile which needs retaining for the UK Core.
With the use of Simplifier, the profiling approach for ConceptMaps in FHIR R4 is not the same as the approach you will have used for developing CareConnect profiles. To develop a ConceptMap:
Where a ValueSet includes a SNOMED CT ECL expression, this expression will need to be validated as instructed on the Confluence page SNOMED ECL Statements.
Element cardinalities will remain unchanged from the base FHIR resource, so you will not need to apply any cardinalities.
Where existing FHIR STU3 profiles have applied slicing and profiling to identifiers, you will need to recreate these in the UK Core profiles. This will be for demonstration purposes only.
Slicing will only be used where it enforces structure, such as a ValueSet binding or representation of an identifier. You will need to apply the following constraints when slicing elements:
*Following Uk Core development team discussion, this is a temporary decision until the full profiling options for slicing discriminators for coding elements have been explored.
The MustSupport property in StructureDefinitions will not be used for the UK Core profiles, so you will not need to apply this label.
No elements will be removed from the FHIR assets for the UK Core profiles, so you will not need to profile any elements out.
For elements of reference datatype, the identifier.assigner should reference the UK Core Organization profile. | But ‘identifier.assigner’ is a nested element, and if the UK-Core-Organization profile is referenced, the Forge tool will create additional nesting for profiling |
The interim approach is to not apply further profiling in this new nested structure and leave as per the base profile.
The Care Connect AllergyIntolerance profile has the following profiling applied to the code element:
In this scenario, the terminology binding has been applied to the AllergyIntolerance.code element in the FHIR R4 profile as described in Terminology bindings in the FHIR R4 base profile. This is the approach to be taken where this scenario appears, but you must seek input from the Technical Lead to confirm.
The FHIR specification defines the ‘experimental’ element as the following, when set to ‘true’: 'This structure was authored for testing purposes (or education/evaluation/marketing), and is not intended for genuine usage.' Source: http://hl7.org/fhir/structuredefinition.html Currently there is no requirement in the UK Core to set the experimental element as ‘true’ or ‘false’, so this field should remain in the default view (undefined).