@prefix fhir: <http://hl7.org/fhir/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

# - resource -------------------------------------------------------------------

<http://hl7.org/fhir/OperationDefinition/NamingSystem-translate-id> a fhir:OperationDefinition ;
  fhir:nodeRole fhir:treeRoot ;
  fhir:id [ fhir:v "NamingSystem-translate-id"] ; # 
  fhir:text [
     fhir:status [ fhir:v "generated" ] ;
     fhir:div [ fhir:v "<div xmlns=\"http://www.w3.org/1999/xhtml\"><p class=\"res-header-id\"><b>Generated Narrative: OperationDefinition NamingSystem-translate-id</b></p><a name=\"NamingSystem-translate-id\"> </a><a name=\"hcNamingSystem-translate-id\"> </a><p>URL: [base]/NamingSystem/$translate-id</p><h3>Parameters</h3><table class=\"grid\"><tr><td><b>Use</b></td><td><b>Name</b></td><td><b>Scope</b></td><td><b>Cardinality</b></td><td><b>Type</b></td><td><b>Binding</b></td><td><b>Documentation</b></td></tr><tr><td>IN</td><td>id</td><td/><td>1..1</td><td><a href=\"datatypes.html#string\">string</a></td><td/><td><div><p>The server parses the provided identifier to see what type it is (e.g. 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</p>\n</div></td></tr><tr><td>IN</td><td>sourceType</td><td/><td>1..1</td><td><a href=\"datatypes.html#code\">code</a></td><td><a href=\"valueset-namingsystem-identifier-type.html\">Naming System Identifier Type</a> (Required)</td><td/></tr><tr><td>IN</td><td>targetType</td><td/><td>1..1</td><td><a href=\"datatypes.html#code\">code</a></td><td><a href=\"valueset-namingsystem-identifier-type.html\">Naming System Identifier Type</a> (Required)</td><td/></tr><tr><td>IN</td><td>preferredOnly</td><td/><td>0..1</td><td><a href=\"datatypes.html#boolean\">boolean</a></td><td/><td><div><p>If preferredOnly = true then return only the preferred identifier, or if preferredOnly = false then return all available ids.</p>\n</div></td></tr><tr><td>IN</td><td>date</td><td/><td>0..1</td><td><a href=\"datatypes.html#dateTime\">dateTime</a></td><td/><td><div><p>If 'date' is supplied return only ids that have a validity period that includes that date.</p>\n</div></td></tr><tr><td>OUT</td><td>result</td><td/><td>1..1</td><td><a href=\"datatypes.html#boolean\">boolean</a></td><td/><td><div><p>True if the identifier could be translated successfully.</p>\n</div></td></tr><tr><td>OUT</td><td>targetIdentifier</td><td/><td>0..*</td><td><a href=\"datatypes.html#string\">string</a></td><td/><td><div><p>The target identifer(s) of the requested type</p>\n</div></td></tr><tr><td>OUT</td><td>targetIdentifer.preferred</td><td/><td>0..1</td><td><a href=\"datatypes.html#boolean\">boolean</a></td><td/><td><div><p>Whether the target identifier is preferred.</p>\n</div></td></tr><tr><td>OUT</td><td>targetIdentifier.period</td><td/><td>0..1</td><td><a href=\"datatypes.html#Period\">Period</a></td><td/><td><div><p>The perioid when the target identifier is valid.</p>\n</div></td></tr></table><div><p>Servers handle this request by finding the provided identifier in their known naming systems, and returning the requested identifier type (<a href=\"namingsystem-definitions.html#NamingSystem.uniqueId.type\">NamingSystem.uniqueId.type</a>).</p>\n<p>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</p>\n</div></div>"^^rdf:XMLLiteral ]
  ] ; # 
  fhir:extension ( [
     fhir:url [
       fhir:v "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm"^^xsd:anyURI ;
       fhir:l <http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm>
     ] ;
     fhir:value [
       a fhir:Integer ;
       fhir:v 1
     ]
  ] [
     fhir:url [
       fhir:v "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status"^^xsd:anyURI ;
       fhir:l <http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status>
     ] ;
     fhir:value [
       a fhir:Code ;
       fhir:v "normative"
     ]
  ] [
     fhir:url [
       fhir:v "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg"^^xsd:anyURI ;
       fhir:l <http://hl7.org/fhir/StructureDefinition/structuredefinition-wg>
     ] ;
     fhir:value [
       a fhir:Code ;
       fhir:v "vocab"
     ]
  ] ) ; # 
  fhir:url [
     fhir:v "http://hl7.org/fhir/OperationDefinition/NamingSystem-translate-id"^^xsd:anyURI ;
     fhir:l <http://hl7.org/fhir/OperationDefinition/NamingSystem-translate-id>
  ] ; # 
  fhir:version [ fhir:v "6.0.0-ballot4"] ; # 
  fhir:name [ fhir:v "TranslateId"] ; # 
  fhir:title [ fhir:v "Translate id"] ; # 
  fhir:status [ fhir:v "active"] ; # 
  fhir:kind [ fhir:v "operation"] ; # 
  fhir:experimental [ fhir:v false] ; # 
  fhir:date [ fhir:v "2026-05-20T15:02:53+00:00"^^xsd:dateTime] ; # 
  fhir:publisher [ fhir:v "HL7 International / Terminology Infrastructure"] ; # 
  fhir:contact ( [
     fhir:telecom ( [
       fhir:system [ fhir:v "url" ] ;
       fhir:value [ fhir:v "http://hl7.org/fhir" ]
     ] [
       fhir:system [ fhir:v "email" ] ;
       fhir:value [ fhir:v "fhir@lists.hl7.org" ]
     ] )
  ] [
     fhir:telecom ( [
       fhir:system [ fhir:v "url" ] ;
       fhir:value [ fhir:v "http://www.hl7.org/Special/committees/Vocab" ]
     ] )
  ] ) ; # 
  fhir:description [ fhir:v "This operation returns an identifier of the target type. The operation takes 5 parameters:     \n\n* a source identifier value - either a URI, an OID, or a v2 table 0396 (other) code  \n*  a code for what type of identifier the source identifier is     \n\n* a code for what kind of identifier is desired (URI, OID, v2 table 0396 identifier)     \n\n* an optional parameter preferredOnly for whether only the preferred identifier is desired     \n\n* an optional date to return only identifiers that have a validity period that includes that date   \n\nand returns either the requested identifier(s), or an HTTP errors response with an OperationOutcome because either the provided identifier was not recognized, or the requested identiifer type is not known."] ; # 
  fhir:jurisdiction ( [
     fhir:coding ( [
       fhir:system [
         fhir:v "http://unstats.un.org/unsd/methods/m49/m49.htm"^^xsd:anyURI ;
         fhir:l <http://unstats.un.org/unsd/methods/m49/m49.htm>
       ] ;
       fhir:code [ fhir:v "001" ] ;
       fhir:display [ fhir:v "World" ]
     ] )
  ] ) ; # 
  fhir:affectsState [ fhir:v false] ; # 
  fhir:code [ fhir:v "translate-id"] ; # 
  fhir:comment [ fhir:v "Servers handle this request by finding the provided identifier in their known naming systems, and returning the requested identifier type ([NamingSystem.uniqueId.type](namingsystem-definitions.html#NamingSystem.uniqueId.type)).  \n\nIf the server wishes, it can also look through all code systems and value sets it knows about when attempting to find the requested identifier"] ; # 
  fhir:resource ( [ fhir:v "NamingSystem"] ) ; # 
  fhir:system [ fhir:v false] ; # 
  fhir:type [ fhir:v true] ; # 
  fhir:instance [ fhir:v false] ; # 
  fhir:parameter ( [
     fhir:name [ fhir:v "id" ] ;
     fhir:use [ fhir:v "in" ] ;
     fhir:min [ fhir:v "1"^^xsd:nonNegativeInteger ] ;
     fhir:max [ fhir:v "1" ] ;
     fhir:documentation [ fhir:v "The server parses the provided identifier to see what type it is (e.g. 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" ] ;
     fhir:type [ fhir:v "string" ]
  ] [
     fhir:name [ fhir:v "sourceType" ] ;
     fhir:use [ fhir:v "in" ] ;
     fhir:min [ fhir:v "1"^^xsd:nonNegativeInteger ] ;
     fhir:max [ fhir:v "1" ] ;
     fhir:type [ fhir:v "code" ] ;
     fhir:binding [
       fhir:extension ( [
         fhir:url [
           fhir:v "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName"^^xsd:anyURI ;
           fhir:l <http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName>
         ] ;
         fhir:value [
           a fhir:String ;
           fhir:v "NamingSystemIdentifierType"
         ]
       ] ) ;
       fhir:strength [ fhir:v "required" ] ;
       fhir:valueSet [
         fhir:v "http://hl7.org/fhir/ValueSet/namingsystem-identifier-type|6.0.0-ballot4"^^xsd:anyURI ;
         fhir:l <http://hl7.org/fhir/ValueSet/namingsystem-identifier-type?version=6.0.0-ballot4>
       ]
     ]
  ] [
     fhir:name [ fhir:v "targetType" ] ;
     fhir:use [ fhir:v "in" ] ;
     fhir:min [ fhir:v "1"^^xsd:nonNegativeInteger ] ;
     fhir:max [ fhir:v "1" ] ;
     fhir:type [ fhir:v "code" ] ;
     fhir:binding [
       fhir:extension ( [
         fhir:url [
           fhir:v "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName"^^xsd:anyURI ;
           fhir:l <http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName>
         ] ;
         fhir:value [
           a fhir:String ;
           fhir:v "NamingSystemIdentifierType"
         ]
       ] ) ;
       fhir:strength [ fhir:v "required" ] ;
       fhir:valueSet [
         fhir:v "http://hl7.org/fhir/ValueSet/namingsystem-identifier-type|6.0.0-ballot4"^^xsd:anyURI ;
         fhir:l <http://hl7.org/fhir/ValueSet/namingsystem-identifier-type?version=6.0.0-ballot4>
       ]
     ]
  ] [
     fhir:name [ fhir:v "preferredOnly" ] ;
     fhir:use [ fhir:v "in" ] ;
     fhir:min [ fhir:v "0"^^xsd:nonNegativeInteger ] ;
     fhir:max [ fhir:v "1" ] ;
     fhir:documentation [ fhir:v "If preferredOnly = true then return only the preferred identifier, or if preferredOnly = false then return all available ids." ] ;
     fhir:type [ fhir:v "boolean" ]
  ] [
     fhir:name [ fhir:v "date" ] ;
     fhir:use [ fhir:v "in" ] ;
     fhir:min [ fhir:v "0"^^xsd:nonNegativeInteger ] ;
     fhir:max [ fhir:v "1" ] ;
     fhir:documentation [ fhir:v "If 'date' is supplied return only ids that have a validity period that includes that date." ] ;
     fhir:type [ fhir:v "dateTime" ]
  ] [
     fhir:name [ fhir:v "result" ] ;
     fhir:use [ fhir:v "out" ] ;
     fhir:min [ fhir:v "1"^^xsd:nonNegativeInteger ] ;
     fhir:max [ fhir:v "1" ] ;
     fhir:documentation [ fhir:v "True if the identifier could be translated successfully." ] ;
     fhir:type [ fhir:v "boolean" ]
  ] [
     fhir:name [ fhir:v "targetIdentifier" ] ;
     fhir:use [ fhir:v "out" ] ;
     fhir:min [ fhir:v "0"^^xsd:nonNegativeInteger ] ;
     fhir:max [ fhir:v "*" ] ;
     fhir:documentation [ fhir:v "The target identifer(s) of the requested type" ] ;
     fhir:type [ fhir:v "string" ]
  ] [
     fhir:name [ fhir:v "targetIdentifer.preferred" ] ;
     fhir:use [ fhir:v "out" ] ;
     fhir:min [ fhir:v "0"^^xsd:nonNegativeInteger ] ;
     fhir:max [ fhir:v "1" ] ;
     fhir:documentation [ fhir:v "Whether the target identifier is preferred." ] ;
     fhir:type [ fhir:v "boolean" ]
  ] [
     fhir:name [ fhir:v "targetIdentifier.period" ] ;
     fhir:use [ fhir:v "out" ] ;
     fhir:min [ fhir:v "0"^^xsd:nonNegativeInteger ] ;
     fhir:max [ fhir:v "1" ] ;
     fhir:documentation [ fhir:v "The perioid when the target identifier is valid." ] ;
     fhir:type [ fhir:v "Period" ]
  ] ) . # 

# -------------------------------------------------------------------------------------

