{
  "resourceType": "StructureDefinition",
  "id": "profile-Parameters-receipt-details",
  "url": "https://bpcs.exchange/fhir/StructureDefinition/profile-Parameters-receipt-details",
  "name": "ParametersReceiptDetails",
  "title": "Claim Receipt Details Parameters Profile",
  "status": "active",
  "experimental": false,
  "description": "The parameters sent when invoking a $receiptDetails operation.",
  "fhirVersion": "5.0.0",
  "mapping": [
    {
      "identity": "BPCS",
      "name": "Internal BPCS API"
    }
  ],
  "kind": "resource",
  "abstract": false,
  "type": "Parameters",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Parameters",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "Parameters.parameter",
        "path": "Parameters.parameter",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "name"
            }
          ],
          "rules": "closed"
        }
      },
      {
        "id": "Parameters.parameter:product",
        "path": "Parameters.parameter",
        "sliceName": "product",
        "short": "Product code",
        "definition": "The code of the dispensed drug or other pharmacy product - either a DIN or PIN - on the receipt",
        "min": 1,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Parameters.parameter:product.name",
        "path": "Parameters.parameter.name",
        "patternString": "product"
      },
      {
        "id": "Parameters.parameter:product.value[x]",
        "path": "Parameters.parameter.value[x]",
        "min": 1,
        "type": [
          {
            "code": "CodeableConcept",
            "profile": [
              "https://bpcs.exchange/fhir/StructureDefinition/profile-CodeableConcept-simple"
            ]
          }
        ],
        "mustSupport": true,
        "binding": {
          "strength": "required",
          "valueSet": "https://bpcs.exchange/fhir/ValueSet/vs-DinPin"
        }
      },
      {
        "id": "Parameters.parameter:product.resource",
        "path": "Parameters.parameter.resource",
        "max": "0"
      },
      {
        "id": "Parameters.parameter:product.part",
        "path": "Parameters.parameter.part",
        "max": "0"
      },
      {
        "id": "Parameters.parameter:date",
        "path": "Parameters.parameter",
        "sliceName": "date",
        "short": "Dispense date",
        "definition": "The date of the dispense for this receipt",
        "min": 1,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Parameters.parameter:date.name",
        "path": "Parameters.parameter.name",
        "patternString": "date"
      },
      {
        "id": "Parameters.parameter:date.value[x]",
        "path": "Parameters.parameter.value[x]",
        "min": 1,
        "type": [
          {
            "code": "date",
            "profile": [
              "https://bpcs.exchange/fhir/StructureDefinition/profile-date-full"
            ]
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Parameters.parameter:date.resource",
        "path": "Parameters.parameter.resource",
        "max": "0"
      },
      {
        "id": "Parameters.parameter:date.part",
        "path": "Parameters.parameter.part",
        "max": "0"
      },
      {
        "id": "Parameters.parameter:duplicateVersion",
        "path": "Parameters.parameter",
        "sliceName": "duplicateVersion",
        "short": "Duplicate Version",
        "definition": "A sequence number that increments for each time the same drug was dispensed for the patient on the same day and which acts as part of the key for the receipt",
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Parameters.parameter:duplicateVersion.name",
        "path": "Parameters.parameter.name",
        "patternString": "duplicateVersion"
      },
      {
        "id": "Parameters.parameter:duplicateVersion.value[x]",
        "path": "Parameters.parameter.value[x]",
        "min": 1,
        "type": [
          {
            "code": "positiveInt"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Parameters.parameter:duplicateVersion.resource",
        "path": "Parameters.parameter.resource",
        "max": "0"
      },
      {
        "id": "Parameters.parameter:duplicateVersion.part",
        "path": "Parameters.parameter.part",
        "max": "0"
      },
      {
        "id": "Parameters.parameter:itemSource",
        "path": "Parameters.parameter",
        "sliceName": "itemSource",
        "short": "Claim Source",
        "definition": "Indicates the agency id responsible for entering a receipt",
        "min": 1,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Parameters.parameter:itemSource.name",
        "path": "Parameters.parameter.name",
        "patternString": "itemSource"
      },
      {
        "id": "Parameters.parameter:itemSource.value[x]",
        "path": "Parameters.parameter.value[x]",
        "min": 1,
        "type": [
          {
            "code": "string"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Parameters.parameter:itemSource.resource",
        "path": "Parameters.parameter.resource",
        "max": "0"
      },
      {
        "id": "Parameters.parameter:itemSource.part",
        "path": "Parameters.parameter.part",
        "max": "0"
      },
      {
        "id": "Parameters.parameter:partitionNumber",
        "path": "Parameters.parameter",
        "sliceName": "partitionNumber",
        "short": "Partition number",
        "definition": "The partition number specified for the receipt in the find receipt response.",
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Parameters.parameter:partitionNumber.name",
        "path": "Parameters.parameter.name",
        "patternString": "partitionNumber"
      },
      {
        "id": "Parameters.parameter:partitionNumber.value[x]",
        "path": "Parameters.parameter.value[x]",
        "min": 1,
        "type": [
          {
            "code": "positiveInt"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Parameters.parameter:partitionNumber.resource",
        "path": "Parameters.parameter.resource",
        "max": "0"
      },
      {
        "id": "Parameters.parameter:partitionNumber.part",
        "path": "Parameters.parameter.part",
        "max": "0"
      },
      {
        "id": "Parameters.parameter:sequenceNumber",
        "path": "Parameters.parameter",
        "sliceName": "sequenceNumber",
        "short": "Sequence Number",
        "definition": "The sequential number for the receipt which makes it unique if there are multiple receipts that share the other characteristics.",
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Parameters.parameter:sequenceNumber.name",
        "path": "Parameters.parameter.name",
        "patternString": "sequenceNumber"
      },
      {
        "id": "Parameters.parameter:sequenceNumber.value[x]",
        "path": "Parameters.parameter.value[x]",
        "min": 1,
        "type": [
          {
            "code": "positiveInt"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Parameters.parameter:sequenceNumber.resource",
        "path": "Parameters.parameter.resource",
        "max": "0"
      },
      {
        "id": "Parameters.parameter:sequenceNumber.part",
        "path": "Parameters.parameter.part",
        "max": "0"
      },
      {
        "id": "Parameters.parameter:transactionCode",
        "path": "Parameters.parameter",
        "sliceName": "transactionCode",
        "short": "Transaction Code",
        "definition": "Indicates if transaction is an adjustment or payment.",
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Parameters.parameter:transactionCode.name",
        "path": "Parameters.parameter.name",
        "patternString": "transactionCode"
      },
      {
        "id": "Parameters.parameter:transactionCode.value[x]",
        "path": "Parameters.parameter.value[x]",
        "min": 1,
        "type": [
          {
            "code": "string"
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Parameters.parameter:transactionCode.resource",
        "path": "Parameters.parameter.resource",
        "max": "0"
      },
      {
        "id": "Parameters.parameter:transactionCode.part",
        "path": "Parameters.parameter.part",
        "max": "0"
      }
    ]
  }
}