<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="profile-parameters-OUT-AdjudicationDetails" />
  <url value="http://pharmacyeclaims.ca/FHIR/v1.0/StructureDefinition/profile-parameters-OUT-AdjudicationDetails" />
  <name value="AdjudicationDetailsOUT" />
  <status value="draft" />
  <description value="The response to a request for Adjudication Details" />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Parameters" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Parameters" />
  <derivation value="constraint" />
  <differential>
    <element id="Parameters.parameter">
      <path value="Parameters.parameter" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="name" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:TraceNumber">
      <path value="Parameters.parameter" />
      <sliceName value="TraceNumber" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:TraceNumber.name">
      <path value="Parameters.parameter.name" />
      <fixedString value="TraceNumber" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:TraceNumber.value[x]">
      <path value="Parameters.parameter.value[x]" />
      <min value="1" />
      <type>
        <code value="Identifier" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:ReferenceNumber">
      <path value="Parameters.parameter" />
      <sliceName value="ReferenceNumber" />
      <comment value="Usage:   The adjudicators reference number for this response&#xD;&#xA;CPHA3:  no mapping" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:ReferenceNumber.name">
      <path value="Parameters.parameter.name" />
      <fixedString value="ReferenceNumber" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:ResponseStatus">
      <path value="Parameters.parameter" />
      <sliceName value="ResponseStatus" />
      <comment value="This indicates the status of the request transmitted.   &#xD;&#xA;Z=detailed record as requested&#xD;&#xA;R=request rejected" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:ResponseStatus.name">
      <path value="Parameters.parameter.name" />
      <fixedString value="ResponseStatus" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:ResponseStatus.value[x]">
      <path value="Parameters.parameter.value[x]" />
      <min value="1" />
      <type>
        <code value="code" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:ResponseCodes">
      <path value="Parameters.parameter" />
      <sliceName value="ResponseCodes" />
      <comment value="Usage Note: Codes to define responses that identify errors and other reasons that may cause the request to be rejected. &#xD;&#xA;Usage Note:  A maximum of 5 codes supported for backward compatibility.  &#xD;&#xA;CPHA Map: E.06.03" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:ResponseCodes.name">
      <path value="Parameters.parameter.name" />
      <fixedString value="ResponseCodes" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:ResponseCodes.value[x]">
      <path value="Parameters.parameter.value[x]" />
      <min value="1" />
      <type>
        <code value="code" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:TotalDetailRecordCount">
      <path value="Parameters.parameter" />
      <sliceName value="TotalDetailRecordCount" />
      <comment value="Usage Note:  The Total Amount of records for the requested period; the sum of claims paid and reversals.&#xD;&#xA;Conformance:  Adjudicators must cap the number of records to the maximum identified in the query request in the &quot;MaxRecordsResponse&quot; field.    If the amount of records exceeds this, FHIR paging must be used.    &#xD;&#xA;CPHA Map:   Number of Detail Records H.65.03 is a loose mappng, however this query is not backward compatibile to CPHA3 as there is no 14 record maximum in FHIR." />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:TotalDetailRecordCount.name">
      <path value="Parameters.parameter.name" />
      <fixedString value="TotalDetailRecordCount" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:TotalDetailRecordCount.value[x]">
      <path value="Parameters.parameter.value[x]" />
      <min value="1" />
      <type>
        <code value="Money" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:TimePeriod">
      <path value="Parameters.parameter" />
      <sliceName value="TimePeriod" />
      <comment value="Usage Note: Identifies the Time Period covered by this request; will match the time period in the Request for Details&#xD;&#xA;CPHA3:   No mapping" />
      <max value="1" />
    </element>
    <element id="Parameters.parameter:TimePeriod.name">
      <path value="Parameters.parameter.name" />
      <fixedString value="StartDate" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:TimePeriod.value[x]">
      <path value="Parameters.parameter.value[x]" />
      <min value="1" />
      <type>
        <code value="Period" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:ReversalTotalAmtForPeriod">
      <path value="Parameters.parameter" />
      <sliceName value="ReversalTotalAmtForPeriod" />
      <comment value="Usage Note: Reversal Total For the specified Period" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:ReversalTotalAmtForPeriod.name">
      <path value="Parameters.parameter.name" />
      <fixedString value="ReversalTotalAmtForPeriod" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:ReversalTotalAmtForPeriod.value[x]">
      <path value="Parameters.parameter.value[x]" />
      <type>
        <code value="Money" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:ClaimTotalAmtForPeriod">
      <path value="Parameters.parameter" />
      <sliceName value="ClaimTotalAmtForPeriod" />
      <comment value="Usage:  Claim Total For specified Period" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:ClaimTotalAmtForPeriod.name">
      <path value="Parameters.parameter.name" />
      <fixedString value="ClaimTotalAmtForPeriod" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:ClaimTotalAmtForPeriod.value[x]">
      <path value="Parameters.parameter.value[x]" />
      <min value="1" />
      <type>
        <code value="Money" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:DetailedRecordByDate">
      <path value="Parameters.parameter" />
      <sliceName value="DetailedRecordByDate" />
      <comment value="Conformance Rule:   This provides a breakdown of records by date.   This repeats for each date in the query time period specified.   Adjudication Date, eg YYYYMMDD.&#xD;&#xA;CPHA Map:  AdjudicationDate E.01.03.  Not present in CPHA3 response as only a single date can be identified as part of the query criteria" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:DetailedRecordByDate.name">
      <path value="Parameters.parameter.name" />
      <comment value="Usage Note:   Name should be &quot;Record Details&quot;.   This may also be used to sort by date, eg &quot;YYYYMMDD&quot;, where RecordDetails may repeat for each day within the time period requested.&#xD;&#xA;&#xD;&#xA;Note that FHIR strings SHALL NOT exceed 1MB in size" />
      <fixedString value="AdjudicationDate" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:DetailedRecordByDate.value[x]">
      <path value="Parameters.parameter.value[x]" />
      <comment value="Conformance:   This must be populated with the Adjudication date that the details apply to.&#xD;&#xA;This is the date assigned by the processor    &#xD;&#xA;CPHA Map:   E.01.03" />
      <min value="1" />
      <type>
        <code value="dateTime" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:DetailedRecordByDate.part">
      <path value="Parameters.parameter.part" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="name" />
        </discriminator>
        <description value="Usage Note:  This provides a breakdown for each date requested." />
        <rules value="open" />
      </slicing>
      <comment value="Usage Note:   This represents a single record within the date specified.&#xD;&#xA;&#xD;&#xA;Only one level of nested parameters is allowed." />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:DetailedRecordByDate.part:CurrentRXNumber">
      <path value="Parameters.parameter.part" />
      <sliceName value="CurrentRXNumber" />
      <comment value="CPHA Map:  Prescription Numbers D.55.03&#xD;&#xA;Only one level of nested parameters is allowed." />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:DetailedRecordByDate.part:CurrentRXNumber.name">
      <path value="Parameters.parameter.part.name" />
      <fixedString value="CurrentRXNumber" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:DetailedRecordByDate.part:CurrentRXNumber.value[x]">
      <path value="Parameters.parameter.part.value[x]" />
      <min value="1" />
      <type>
        <code value="Identifier" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:DetailedRecordByDate.part:TraceNumber">
      <path value="Parameters.parameter.part" />
      <sliceName value="TraceNumber" />
      <comment value="Usage Note:   This is the trace number corresponding with the Adjuidcated detailed record&#xD;&#xA;CPHA3:  not returned in the query response&#xD;&#xA;&#xD;&#xA;Only one level of nested parameters is allowed." />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:DetailedRecordByDate.part:TraceNumber.name">
      <path value="Parameters.parameter.part.name" />
      <fixedString value="TraceNumber" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:DetailedRecordByDate.part:TraceNumber.value[x]">
      <path value="Parameters.parameter.part.value[x]" />
      <comment value="Usage Note:   Only the identifier.value is required." />
      <min value="1" />
      <type>
        <code value="Identifier" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:DetailedRecordByDate.part:AmountPayableReversedPatient">
      <path value="Parameters.parameter.part" />
      <sliceName value="AmountPayableReversedPatient" />
      <comment value="Conformance Rule:   One of Amount Paid to Pharmacy or Amount Paid to patient must be specified.&#xD;&#xA;Usage Note:  For reversals, negative values are expressed as &lt;value value=&quot;-25.00&quot;/&gt;&#xD;&#xA;Value of individual claims or reversals as identified by prescription numbers   &#xD;&#xA;&#xD;&#xA;Only one level of nested parameters is allowed." />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:DetailedRecordByDate.part:AmountPayableReversedPatient.name">
      <path value="Parameters.parameter.part.name" />
      <fixedString value="AmountPayable/ReversedPatient" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:DetailedRecordByDate.part:AmountPayableReversedPatient.value[x]">
      <path value="Parameters.parameter.part.value[x]" />
      <min value="1" />
      <type>
        <code value="Money" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:DetailedRecordByDate.part:AmountPayableReversedPharmacy">
      <path value="Parameters.parameter.part" />
      <sliceName value="AmountPayableReversedPharmacy" />
      <comment value="Conformance Rule:   One of Amount Paid to Pharmacy or Amount Paid to patient must be specified.&#xD;&#xA;Usage Note:  For reversals, negative values are expressed as &lt;value value=&quot;-25.00&quot;/&gt;&#xD;&#xA;&#xD;&#xA;Only one level of nested parameters is allowed." />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:DetailedRecordByDate.part:AmountPayableReversedPharmacy.name">
      <path value="Parameters.parameter.part.name" />
      <fixedString value="AmountPayable/ReversedPharmacy" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:DetailedRecordByDate.part:AmountPayableReversedPharmacy.value[x]">
      <path value="Parameters.parameter.part.value[x]" />
      <comment value="Value of individual claims or reversals as identified by prescription numbers" />
      <min value="1" />
      <type>
        <code value="Money" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:DetailedRecordByDate.part:CarrierID">
      <path value="Parameters.parameter.part" />
      <sliceName value="CarrierID" />
      <comment value="Usage Note:   The carrier ID may be optionally specified.   Useful if the query request criteria includes more than one carrier.&#xD;&#xA;Only one level of nested parameters is allowed." />
      <max value="1" />
    </element>
    <element id="Parameters.parameter:DetailedRecordByDate.part:CarrierID.name">
      <path value="Parameters.parameter.part.name" />
      <fixedString value="CarrierID" />
      <mustSupport value="true" />
    </element>
    <element id="Parameters.parameter:DetailedRecordByDate.part:CarrierID.value[x]">
      <path value="Parameters.parameter.part.value[x]" />
      <comment value="Conformance:  Only the identifier.value is required." />
      <min value="1" />
      <type>
        <code value="Identifier" />
      </type>
      <mustSupport value="true" />
    </element>
  </differential>
</StructureDefinition>