{
  "resourceType": "StructureDefinition",
  "id": "el-coding",
  "url": "http://fhir.essilorluxottica.com/fhir/StructureDefinition/el-coding",
  "version": "1.0.0",
  "name": "ELCoding",
  "title": "EL Coding Profile",
  "status": "draft",
  "description": "The Profile for Coding.",
  "fhirVersion": "4.0.1",
  "kind": "resource",
  "abstract": false,
  "type": "ChargeItem",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/ChargeItem",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "ChargeItem",
        "path": "ChargeItem",
        "constraint": [
          {
            "key": "mustcontain-cpt-or-hcpcs",
            "severity": "error",
            "human": "Requires either CPT or HCPCS code.",
            "expression": "(code.coding.where( system = 'http://www.ama-assn.org/go/cpt' ).exists() and code.coding.where( system = 'https://terminology.hl7.org/5.0.0/CodeSystem-hcpcs-Level-II.html' ).exists().not()) or\n      (code.coding.where( system = 'http://www.ama-assn.org/go/cpt' ).exists().not() and code.coding.where( system = 'https://terminology.hl7.org/5.0.0/CodeSystem-hcpcs-Level-II.html' ).exists())",
            "source": "http://fhir.essilorluxottica.com/fhir/StructureDefinition/el-coding"
          }
        ]
      },
      {
        "id": "ChargeItem.meta.extension",
        "path": "ChargeItem.meta.extension",
        "min": 1
      },
      {
        "id": "ChargeItem.meta.extension:organization",
        "path": "ChargeItem.meta.extension",
        "sliceName": "organization",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "http://fhir.essilorluxottica.com/fhir/StructureDefinition/el-meta-organization-extension"
            ]
          }
        ]
      },
      {
        "id": "ChargeItem.meta.tag",
        "path": "ChargeItem.meta.tag",
        "binding": {
          "strength": "required",
          "valueSet": "http://fhir.essilorluxottica.com/fhir/ValueSet/el-metatag-vs"
        }
      },
      {
        "id": "ChargeItem.status",
        "path": "ChargeItem.status",
        "binding": {
          "strength": "required",
          "valueSet": "http://fhir.essilorluxottica.com/fhir/ValueSet/el-chargeItem-status-vs"
        }
      },
      {
        "id": "ChargeItem.code.coding",
        "path": "ChargeItem.code.coding",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "system"
            }
          ],
          "rules": "open"
        },
        "min": 1,
        "max": "3"
      },
      {
        "id": "ChargeItem.code.coding:cpt",
        "path": "ChargeItem.code.coding",
        "sliceName": "cpt",
        "min": 0,
        "max": "1",
        "binding": {
          "strength": "required",
          "valueSet": "http://hl7.org/fhir/ValueSet/cpt-all"
        }
      },
      {
        "id": "ChargeItem.code.coding:cpt.system",
        "path": "ChargeItem.code.coding.system",
        "min": 1,
        "patternUri": "http://www.ama-assn.org/go/cpt"
      },
      {
        "id": "ChargeItem.code.coding:cpt.code",
        "path": "ChargeItem.code.coding.code",
        "min": 1
      },
      {
        "id": "ChargeItem.code.coding:hcpcs",
        "path": "ChargeItem.code.coding",
        "sliceName": "hcpcs",
        "min": 0,
        "max": "1",
        "binding": {
          "strength": "required",
          "valueSet": "http://terminology.hl7.org/ValueSet/v3-HealthCareCommonProcedureCodingSystem"
        }
      },
      {
        "id": "ChargeItem.code.coding:hcpcs.system",
        "path": "ChargeItem.code.coding.system",
        "min": 1,
        "patternUri": "https://www.cms.gov/Medicare/Coding/HCPCSReleaseCodeSets"
      },
      {
        "id": "ChargeItem.code.coding:hcpcs.code",
        "path": "ChargeItem.code.coding.code",
        "min": 1
      },
      {
        "id": "ChargeItem.code.coding:modifier",
        "path": "ChargeItem.code.coding",
        "sliceName": "modifier",
        "min": 0,
        "max": "1",
        "binding": {
          "strength": "required",
          "valueSet": "http://terminology.hl7.org/ValueSet/cpt-modifiers"
        }
      },
      {
        "id": "ChargeItem.code.coding:modifier.system",
        "path": "ChargeItem.code.coding.system",
        "min": 1,
        "patternUri": "http://www.ama-assn.org/go/cpt-modifier"
      },
      {
        "id": "ChargeItem.code.coding:modifier.code",
        "path": "ChargeItem.code.coding.code",
        "min": 1
      },
      {
        "id": "ChargeItem.code.coding:feelevel",
        "path": "ChargeItem.code.coding",
        "sliceName": "feelevel",
        "min": 0,
        "max": "1",
        "binding": {
          "strength": "required",
          "valueSet": "http://fhir.essilorluxottica.com/fhir/ValueSet/el-chargeItem-feelevel-vs"
        }
      },
      {
        "id": "ChargeItem.code.coding:feelevel.system",
        "path": "ChargeItem.code.coding.system",
        "min": 1,
        "patternUri": "http://fhir.essilorluxottica.com/fhir/CodeSystem/el-chargeItem-feelevel-cs"
      },
      {
        "id": "ChargeItem.code.coding:feelevel.code",
        "path": "ChargeItem.code.coding.code",
        "min": 1
      },
      {
        "id": "ChargeItem.context",
        "path": "ChargeItem.context",
        "min": 1
      },
      {
        "id": "ChargeItem.performingOrganization",
        "path": "ChargeItem.performingOrganization",
        "min": 1
      },
      {
        "id": "ChargeItem.quantity",
        "path": "ChargeItem.quantity",
        "min": 1
      },
      {
        "id": "ChargeItem.reason.coding",
        "path": "ChargeItem.reason.coding",
        "binding": {
          "strength": "required",
          "valueSet": "http://fhir.essilorluxottica.com/fhir/ValueSet/el-condition-assessmentcode-vs"
        }
      },
      {
        "id": "ChargeItem.reason.coding.system",
        "path": "ChargeItem.reason.coding.system",
        "patternUri": "http://hl7.org/fhir/sid/icd-10-cm"
      },
      {
        "id": "ChargeItem.reason.coding.code",
        "path": "ChargeItem.reason.coding.code",
        "min": 1
      },
      {
        "id": "ChargeItem.reason.coding.display",
        "path": "ChargeItem.reason.coding.display",
        "min": 1
      },
      {
        "id": "ChargeItem.account",
        "path": "ChargeItem.account",
        "min": 1,
        "max": "1"
      }
    ]
  }
}