{
  "resourceType": "StructureDefinition",
  "id": "profile-ValueSet-expansion",
  "url": "https://bpcs.exchange/fhir/StructureDefinition/profile-ValueSet-expansion",
  "name": "ValueSetExpansion",
  "title": "ValueSet Expansion Profile",
  "status": "active",
  "experimental": false,
  "description": "An expanded (current) list of codes for a given value set",
  "fhirVersion": "5.0.0",
  "mapping": [
    {
      "identity": "BPCS",
      "name": "Internal BPCS API"
    }
  ],
  "kind": "resource",
  "abstract": false,
  "type": "ValueSet",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/ValueSet",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "ValueSet.url",
        "path": "ValueSet.url",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "ValueSet.version",
        "path": "ValueSet.version",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "ValueSet.status",
        "path": "ValueSet.status",
        "patternCode": "active"
      },
      {
        "id": "ValueSet.expansion",
        "path": "ValueSet.expansion",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "ValueSet.expansion.timestamp",
        "path": "ValueSet.expansion.timestamp",
        "comment": "This can be used to determine when the value set needs to be queried again",
        "mustSupport": true
      },
      {
        "id": "ValueSet.expansion.contains",
        "path": "ValueSet.expansion.contains",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "ValueSet.expansion.contains.system",
        "path": "ValueSet.expansion.contains.system",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "ValueSet.expansion.contains.code",
        "path": "ValueSet.expansion.contains.code",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "ValueSet.expansion.contains.display",
        "path": "ValueSet.expansion.contains.display",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "ValueSet.expansion.contains.designation",
        "path": "ValueSet.expansion.contains.designation",
        "mustSupport": true
      },
      {
        "id": "ValueSet.expansion.contains.designation.use",
        "path": "ValueSet.expansion.contains.designation.use",
        "mustSupport": true
      },
      {
        "id": "ValueSet.expansion.contains.designation.value",
        "path": "ValueSet.expansion.contains.designation.value",
        "mustSupport": true
      },
      {
        "id": "ValueSet.expansion.contains.property",
        "path": "ValueSet.expansion.contains.property",
        "mustSupport": true
      },
      {
        "id": "ValueSet.expansion.contains.property.code",
        "path": "ValueSet.expansion.contains.property.code",
        "mustSupport": true
      },
      {
        "id": "ValueSet.expansion.contains.property.value[x]",
        "path": "ValueSet.expansion.contains.property.value[x]",
        "mustSupport": true
      },
      {
        "id": "ValueSet.expansion.contains.contains",
        "path": "ValueSet.expansion.contains.contains",
        "mustSupport": true
      },
      {
        "id": "ValueSet.expansion.contains.contains.system",
        "path": "ValueSet.expansion.contains.contains.system",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "ValueSet.expansion.contains.contains.code",
        "path": "ValueSet.expansion.contains.contains.code",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "ValueSet.expansion.contains.contains.display",
        "path": "ValueSet.expansion.contains.contains.display",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "ValueSet.expansion.contains.contains.designation",
        "path": "ValueSet.expansion.contains.contains.designation",
        "mustSupport": true
      },
      {
        "id": "ValueSet.expansion.contains.contains.designation.use",
        "path": "ValueSet.expansion.contains.contains.designation.use",
        "mustSupport": true
      },
      {
        "id": "ValueSet.expansion.contains.contains.designation.value",
        "path": "ValueSet.expansion.contains.contains.designation.value",
        "mustSupport": true
      },
      {
        "id": "ValueSet.expansion.contains.contains.property",
        "path": "ValueSet.expansion.contains.contains.property",
        "mustSupport": true
      },
      {
        "id": "ValueSet.expansion.contains.contains.property.code",
        "path": "ValueSet.expansion.contains.contains.property.code",
        "mustSupport": true
      },
      {
        "id": "ValueSet.expansion.contains.contains.property.value[x]",
        "path": "ValueSet.expansion.contains.contains.property.value[x]",
        "mustSupport": true
      }
    ]
  }
}