This page is part of the FHIR Specification v4.3.0-snapshot1: R4B Snapshot to support the Jan 2022 Connectathon. About the R4B version of FHIR. The current officially released version is 4.3.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4
Vocabulary Work Group | Maturity Level: 1 | Trial Use | Compartments: N/A |
This operation returns the preferred identifiers for identifiers, and terminologies. The operation takes 2 parameters:
and returns either the requested identifier, or an HTTP errors response with an OperationOutcome because either the provided identifier was not recognized, or the requested identiifer type is not known.
The principle use of this operation is when converting between v2, CDA and FHIR Identifier/CX/II and CodeableConcepts/C(N/W)E/CD but the operation may also find use when converting metadata such as profiles.
The official URL for this operation definition is
http://hl7.org/fhir/OperationDefinition/NamingSystem-preferred-id
Formal Definition (as a OperationDefinition).
URL: [base]/NamingSystem/$preferred-id
This is an idempotent operation
In Parameters: | |||||
Name | Cardinality | Type | Binding | Profile | Documentation |
id | 1..1 | string | The server parses the provided id to see what type it is (mary a URI, an OID as a URI, a plain OID, or a v2 table 0396 code). If the server can't tell what type of identifier it is, it can try it as multiple types. It is an error if more than one system matches the provided identifier | ||
type | 1..1 | code | NamingSystemIdentifierType (Required) | ||
Out Parameters: | |||||
Name | Cardinality | Type | Binding | Profile | Documentation |
result | 1..1 | string | OIDs are return as plain OIDs (not the URI form). |
Servers handle this request by finding the provided identifier in their known naming systems, and returning the requested identifier type (NamingSystem.uniqueId.type). If there are multiple possible identifiers of the specified type (e.g. multiple OIDs) the server returns an error.
If the server wishes, it can also look through all code systems and value sets it knows about when attempting to find the requested identifier
Request: Using GET
GET [base]/NamingSystem/$preferred-id?id=http://ns.electronichealth.net.au/id/hi/ihi/1.0&type=oid
Request: Using POST
POST [base]/NamingSystem/$preferred-id [other headers] { "resourceType" : "Parameters", "parameter" : [ { "name" : "id", "valueString" : "http://ns.electronichealth.net.au/id/hi/ihi/1.0" }, { "name" : "type", "valueCode" : "oid" } ] }
Response:
HTTP/1.1 200 OK [other headers] { "resourceType" : "Parameters", "parameter" : [ { "name" : "result", "valueString" : "1.2.36.1.2001.1003.0" } ] }
For more information about operations, including how they are invoked, see Operations.