FHIR © HL7.org  |  Server Home  |  Health Intersections FHIR Server v1.0.287  |  FHIR Version 4.0.0  | User: ANONYMOUS (Unknown)  

Resource "CodeSystem-validate-code" Version "1" (OperationDefinition)

Tags:

XML or JSON representation . provenance for this resource

Code System based Validation

OPERATION: Code System based Validation

The official URL for this operation definition is:

http://hl7.org/fhir/OperationDefinition/CodeSystem-validate-code

Validate that a coded value is in the code system. If the operation is not called at the instance level, one of the parameters "url" or "codeSystem" must be provided. The operation returns a result (true / false), an error message, and the recommended display for the code.

When invoking this operation, a client SHALL provide one (and only one) of the parameters (code+system, coding, or codeableConcept). Other parameters (including version and display) are optional

URL: [base]/CodeSystem/$validate-code

URL: [base]/CodeSystem/[id]/$validate-code

Parameters

Use Name Cardinality Type Binding Documentation
IN url 0..1 uri

CodeSystem URL. The server must know the code system (e.g. it is defined explicitly in the server'scode systems, or it is known implicitly by the server

IN codeSystem 0..1 CodeSystem

The codeSystem is provided directly as part of the request. Servers may choose not to accept code systems in this fashion. This parameter is used when the client wants the server to check against a code system that is not stored on the server

IN code 0..1 code

The code that is to be validated

IN version 0..1 string

The version of the code system, if one was provided in the source data

IN display 0..1 string

The display associated with the code, if provided. If a display is provided a code must be provided. If no display is provided, the server cannot validate the display value, but may choose to return a recommended display name in an extension in the outcome. Whether displays are case sensitive is code system dependent

IN coding 0..1 Coding

A coding to validate. The system must match the specified code system

IN codeableConcept 0..1 CodeableConcept

A full codeableConcept to validate. The server returns true if one of the coding values is in the code system, and may also validate that the codings are not in conflict with each other if more than one is present

IN date 0..1 dateTime

The date for which the validation should be checked. Normally, this is the current conditions (which is the default values) but under some circumstances, systems need to validate that a correct code was used at some point in the past. A typical example of this would be where code selection is constrained to the set of codes that were available when the patient was treated, not when the record is being edited. Note that which date is appropriate is a matter for implementation policy.

IN abstract 0..1 boolean

If this parameter has a value of true, the client is stating that the validation is being performed in a context where a concept designated as 'abstract' is appropriate/allowed to be used, and the server should regard abstract codes as valid. If this parameter is false, abstract codes are not considered to be valid.

Note that. 'abstract' is a property defined by many HL7 code systems that indicates that the concept is a logical grouping concept that is not intended to be used asa 'concrete' concept to in an actual patient/care/process record. This language is borrowed from Object Orienated theory where 'asbtract' objects are never instantiated. However in the general record and terminology eco-system, there are many contexts where it is appropraite to use these codes e.g. as decision making criterion, or when editing value sets themselves. This parameter allows a client to indicate to the server that it is working in such a context.

IN displayLanguage 0..1 code

Specifies the language to be used for description when validating the display property

OUT result 1..1 boolean

True if the concept details supplied are valid

OUT message 0..1 string

Error details, if result = false. If this is provided when result = true, the message carries hints and warnings

OUT display 0..1 string

A valid display for the concept if the system wishes to display this to a user


{
  "resourceType" : "OperationDefinition",
  "id" : "CodeSystem-validate-code",
  "meta" : {
    "versionId" : "1",
    "lastUpdated" : "2018-12-14T02:02:43.520Z"
  },
  "text" : {
    "status" : "generated",
    "div" : "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n <h2>Code System based Validation</h2>\n <p>OPERATION: Code System based Validation</p>\n <p>The official URL for this operation definition is: </p>\n <pre>http://hl7.org/fhir/OperationDefinition/CodeSystem-validate-code</pre>\n <div>\n <p>Validate that a coded value is in the code system. If the operation is not called at the instance level, one of the parameters \"url\" or \"codeSystem\" must be provided. The operation returns a result (true / false), an error message, and the recommended display for the code.</p>\n\n <p>When invoking this operation, a client SHALL provide one (and only one) of the parameters (code+system, coding, or codeableConcept). Other parameters (including version and display) are optional</p>\n\n </div>\n <p>URL: [base]/CodeSystem/$validate-code</p>\n <p>URL: [base]/CodeSystem/[id]/$validate-code</p>\n <p>Parameters</p>\n <table class=\"grid\">\n <tr>\n <td>\n <b>Use</b>\n </td>\n <td>\n <b>Name</b>\n </td>\n <td>\n <b>Cardinality</b>\n </td>\n <td>\n <b>Type</b>\n </td>\n <td>\n <b>Binding</b>\n </td>\n <td>\n <b>Documentation</b>\n </td>\n </tr>\n <tr>\n <td>IN</td>\n <td>url</td>\n <td>0..1</td>\n <td>\n <a href=\"datatypes.html#uri\">uri</a>\n </td>\n <td/>\n <td>\n <div>\n <p>CodeSystem URL. The server must know the code system (e.g. it is defined explicitly in the server'scode systems, or it is known implicitly by the server</p>\n\n </div>\n </td>\n </tr>\n <tr>\n <td>IN</td>\n <td>codeSystem</td>\n <td>0..1</td>\n <td>\n <a href=\"codesystem.html\">CodeSystem</a>\n </td>\n <td/>\n <td>\n <div>\n <p>The codeSystem is provided directly as part of the request. Servers may choose not to accept code systems in this fashion. This parameter is used when the client wants the server to check against a code system that is not stored on the server</p>\n\n </div>\n </td>\n </tr>\n <tr>\n <td>IN</td>\n <td>code</td>\n <td>0..1</td>\n <td>\n <a href=\"datatypes.html#code\">code</a>\n </td>\n <td/>\n <td>\n <div>\n <p>The code that is to be validated</p>\n\n </div>\n </td>\n </tr>\n <tr>\n <td>IN</td>\n <td>version</td>\n <td>0..1</td>\n <td>\n <a href=\"datatypes.html#string\">string</a>\n </td>\n <td/>\n <td>\n <div>\n <p>The version of the code system, if one was provided in the source data</p>\n\n </div>\n </td>\n </tr>\n <tr>\n <td>IN</td>\n <td>display</td>\n <td>0..1</td>\n <td>\n <a href=\"datatypes.html#string\">string</a>\n </td>\n <td/>\n <td>\n <div>\n <p>The display associated with the code, if provided. If a display is provided a code must be provided. If no display is provided, the server cannot validate the display value, but may choose to return a recommended display name in an extension in the outcome. Whether displays are case sensitive is code system dependent</p>\n\n </div>\n </td>\n </tr>\n <tr>\n <td>IN</td>\n <td>coding</td>\n <td>0..1</td>\n <td>\n <a href=\"datatypes.html#Coding\">Coding</a>\n </td>\n <td/>\n <td>\n <div>\n <p>A coding to validate. The system must match the specified code system</p>\n\n </div>\n </td>\n </tr>\n <tr>\n <td>IN</td>\n <td>codeableConcept</td>\n <td>0..1</td>\n <td>\n <a href=\"datatypes.html#CodeableConcept\">CodeableConcept</a>\n </td>\n <td/>\n <td>\n <div>\n <p>A full codeableConcept to validate. The server returns true if one of the coding values is in the code system, and may also validate that the codings are not in conflict with each other if more than one is present</p>\n\n </div>\n </td>\n </tr>\n <tr>\n <td>IN</td>\n <td>date</td>\n <td>0..1</td>\n <td>\n <a href=\"datatypes.html#dateTime\">dateTime</a>\n </td>\n <td/>\n <td>\n <div>\n <p>The date for which the validation should be checked. Normally, this is the current conditions (which is the default values) but under some circumstances, systems need to validate that a correct code was used at some point in the past. A typical example of this would be where code selection is constrained to the set of codes that were available when the patient was treated, not when the record is being edited. Note that which date is appropriate is a matter for implementation policy.</p>\n\n </div>\n </td>\n </tr>\n <tr>\n <td>IN</td>\n <td>abstract</td>\n <td>0..1</td>\n <td>\n <a href=\"datatypes.html#boolean\">boolean</a>\n </td>\n <td/>\n <td>\n <div>\n <p>If this parameter has a value of true, the client is stating that the validation is being performed in a context where a concept designated as 'abstract' is appropriate/allowed to be used, and the server should regard abstract codes as valid. If this parameter is false, abstract codes are not considered to be valid.</p>\n\n <p>Note that. 'abstract' is a property defined by many HL7 code systems that indicates that the concept is a logical grouping concept that is not intended to be used asa 'concrete' concept to in an actual patient/care/process record. This language is borrowed from Object Orienated theory where 'asbtract' objects are never instantiated. However in the general record and terminology eco-system, there are many contexts where it is appropraite to use these codes e.g. as decision making criterion, or when editing value sets themselves. This parameter allows a client to indicate to the server that it is working in such a context.</p>\n\n </div>\n </td>\n </tr>\n <tr>\n <td>IN</td>\n <td>displayLanguage</td>\n <td>0..1</td>\n <td>\n <a href=\"datatypes.html#code\">code</a>\n </td>\n <td/>\n <td>\n <div>\n <p>Specifies the language to be used for description when validating the display property</p>\n\n </div>\n </td>\n </tr>\n <tr>\n <td>OUT</td>\n <td>result</td>\n <td>1..1</td>\n <td>\n <a href=\"datatypes.html#boolean\">boolean</a>\n </td>\n <td/>\n <td>\n <div>\n <p>True if the concept details supplied are valid</p>\n\n </div>\n </td>\n </tr>\n <tr>\n <td>OUT</td>\n <td>message</td>\n <td>0..1</td>\n <td>\n <a href=\"datatypes.html#string\">string</a>\n </td>\n <td/>\n <td>\n <div>\n <p>Error details, if result = false. If this is provided when result = true, the message carries hints and warnings</p>\n\n </div>\n </td>\n </tr>\n <tr>\n <td>OUT</td>\n <td>display</td>\n <td>0..1</td>\n <td>\n <a href=\"datatypes.html#string\">string</a>\n </td>\n <td/>\n <td>\n <div>\n <p>A valid display for the concept if the system wishes to display this to a user</p>\n\n </div>\n </td>\n </tr>\n </table>\n <div/>\n </div>"
  },
  "extension" : [
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
      "valueInteger" : 5
    },
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status",
      "valueCode" : "normative"
    },
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version",
      "valueCode" : "4.0.0"
    }
  ],
  "url" : "http://hl7.org/fhir/OperationDefinition/CodeSystem-validate-code",
  "version" : "4.0.0",
  "name" : "Code System based Validation",
  "status" : "draft",
  "kind" : "operation",
  "date" : "2018-12-14T01:14:32+00:00",
  "publisher" : "HL7 (FHIR Project)",
  "contact" : [
    {
      "telecom" : [
        {
          "system" : "url",
          "value" : "http://hl7.org/fhir"
        },
        {
          "system" : "email",
          "value" : "fhir@lists.hl7.org"
        }
      ]
    }
  ],
  "description" : "Validate that a coded value is in the code system. If the operation is not called at the instance level, one of the parameters \"url\" or \"codeSystem\" must be provided. The operation returns a result (true / false), an error message, and the recommended display for the code.\n\nWhen invoking this operation, a client SHALL provide one (and only one) of the parameters (code+system, coding, or codeableConcept). Other parameters (including version and display) are optional",
  "code" : "validate-code",
  "resource" : [
    "CodeSystem"
  ],
  "system" : false,
  "type" : true,
  "instance" : true,
  "parameter" : [
    {
      "name" : "url",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "documentation" : "CodeSystem URL. The server must know the code system (e.g. it is defined explicitly in the server'scode systems, or it is known implicitly by the server",
      "type" : "uri"
    },
    {
      "name" : "codeSystem",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "documentation" : "The codeSystem is provided directly as part of the request. Servers may choose not to accept code systems in this fashion. This parameter is used when the client wants the server to check against a code system that is not stored on the server",
      "type" : "CodeSystem"
    },
    {
      "name" : "code",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "documentation" : "The code that is to be validated",
      "type" : "code"
    },
    {
      "name" : "version",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "documentation" : "The version of the code system, if one was provided in the source data",
      "type" : "string"
    },
    {
      "name" : "display",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "documentation" : "The display associated with the code, if provided. If a display is provided a code must be provided. If no display is provided, the server cannot validate the display value, but may choose to return a recommended display name in an extension in the outcome. Whether displays are case sensitive is code system dependent",
      "type" : "string"
    },
    {
      "name" : "coding",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "documentation" : "A coding to validate. The system must match the specified code system",
      "type" : "Coding"
    },
    {
      "name" : "codeableConcept",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "documentation" : "A full codeableConcept to validate. The server returns true if one of the coding values is in the code system, and may also validate that the codings are not in conflict with each other if more than one is present",
      "type" : "CodeableConcept"
    },
    {
      "name" : "date",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "documentation" : "The date for which the validation should be checked. Normally, this is the current conditions (which is the default values) but under some circumstances, systems need to validate that a correct code was used at some point in the past. A typical example of this would be where code selection is constrained to the set of codes that were available when the patient was treated, not when the record is being edited. Note that which date is appropriate is a matter for implementation policy.",
      "type" : "dateTime"
    },
    {
      "name" : "abstract",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "documentation" : "If this parameter has a value of true, the client is stating that the validation is being performed in a context where a concept designated as 'abstract' is appropriate/allowed to be used, and the server should regard abstract codes as valid. If this parameter is false, abstract codes are not considered to be valid.\n\nNote that. 'abstract' is a property defined by many HL7 code systems that indicates that the concept is a logical grouping concept that is not intended to be used asa 'concrete' concept to in an actual patient/care/process record. This language is borrowed from Object Orienated theory where 'asbtract' objects are never instantiated. However in the general record and terminology eco-system, there are many contexts where it is appropraite to use these codes e.g. as decision making criterion, or when editing value sets themselves. This parameter allows a client to indicate to the server that it is working in such a context.",
      "type" : "boolean"
    },
    {
      "name" : "displayLanguage",
      "use" : "in",
      "min" : 0,
      "max" : "1",
      "documentation" : "Specifies the language to be used for description when validating the display property",
      "type" : "code"
    },
    {
      "name" : "result",
      "use" : "out",
      "min" : 1,
      "max" : "1",
      "documentation" : "True if the concept details supplied are valid",
      "type" : "boolean"
    },
    {
      "name" : "message",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "documentation" : "Error details, if result = false. If this is provided when result = true, the message carries hints and warnings",
      "type" : "string"
    },
    {
      "name" : "display",
      "use" : "out",
      "min" : 0,
      "max" : "1",
      "documentation" : "A valid display for the concept if the system wishes to display this to a user",
      "type" : "string"
    }
  ]
}