<OperationDefinition xmlns="http://hl7.org/fhir" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hl7.org/fhir ../../input-cache/schemas/R5/fhir-single.xsd">
  <id value="op-coverage-application" />
  <url value="https://bpcs.exchange/fhir/OperationDefinition/op-coverage-application" />
  <name value="CoverageApplicationUpdate" />
  <title value="Create/Update Family Coverage Application" />
  <status value="active" />
  <kind value="operation" />
  <experimental value="false" />
  <description value="Commits or holds an application for BPCS family coverage" />
  <affectsState value="true" />
  <code value="coverageApplication" />
  <resource value="Coverage" />
  <system value="false" />
  <type value="false" />
  <instance value="true" />
  <inputProfile value="https://bpcs.exchange/fhir/StructureDefinition/profile-Parameters-coverage-application" />
  <parameter>
    <name value="coverage" />
    <use value="in" />
    <min value="1" />
    <max value="1" />
    <documentation value="The family coverage the application is for" />
    <type value="Coverage" />
    <referencedFrom>
      <source value="familyMember.memberCoverage" />
      <sourceId value="coverage.extension('https://bpcs.exchange/fhir/StructureDefinition/ext-Coverage-Parent').value" />
    </referencedFrom>
    <referencedFrom>
      <source value="familyMember.privateInsurance" />
      <sourceId value="coverage.extension('https://bpcs.exchange/fhir/StructureDefinition/ext-Coverage-Application').value" />
    </referencedFrom>
  </parameter>
  <parameter>
    <name value="family" />
    <use value="in" />
    <min value="1" />
    <max value="1" />
    <documentation value="The family to being covered" />
    <type value="Group" />
    <referencedFrom>
      <source value="coverage" />
      <sourceId value="Coverage.beneficiary.extension('https://bpcs.exchange/fhir/StructureDefinition/ext-Resource-Subject').value" />
    </referencedFrom>
  </parameter>
  <parameter>
    <name value="delegate" />
    <use value="in" />
    <min value="1" />
    <max value="1" />
    <documentation value="An individual outside the family who may be used as a contact" />
    <type value="RelatedPerson" />
    <referencedFrom>
      <source value="coverage" />
      <sourceId value="coverage.extension('https://bpcs.exchange/fhir/StructureDefinition/ext-Coverage-Delegate').value" />
    </referencedFrom>
  </parameter>
  <parameter>
    <name value="familyMember" />
    <use value="in" />
    <min value="1" />
    <max value="*" />
    <documentation value="Information about the coverage for each individiual in the family" />
    <part>
      <name value="memberCoverage" />
      <use value="in" />
      <min value="1" />
      <max value="1" />
      <documentation value="Information about the coverage of this individual within the family plan" />
      <type value="Coverage" />
    </part>
    <part>
      <name value="recipient" />
      <use value="in" />
      <min value="1" />
      <max value="1" />
      <documentation value="Demographics for this individual" />
      <type value="Patient" />
      <referencedFrom>
        <source value="familyMember.memberCoverage" />
        <sourceId value="subject" />
      </referencedFrom>
      <referencedFrom>
        <source value="family" />
        <sourceId value="member.entity" />
      </referencedFrom>
      <referencedFrom>
        <source value="family" />
        <sourceId value="extension('https://bpcs.exchange/fhir/StructureDefinition/ext-Group-Contact').value" />
      </referencedFrom>
      <referencedFrom>
        <source value="familyMember.income" />
        <sourceId value="subject" />
      </referencedFrom>
      <referencedFrom>
        <source value="familyMember.consent" />
        <sourceId value="subject" />
      </referencedFrom>
      <referencedFrom>
        <source value="familyMember.consent.grantor.resolve().patient" />
        <sourceId value="subject" />
      </referencedFrom>
      <referencedFrom>
        <source value="familyMember.privateInsurance" />
        <sourceId value="beneficiary" />
      </referencedFrom>
    </part>
    <part>
      <name value="income" />
      <use value="in" />
      <min value="1" />
      <max value="1" />
      <documentation value="Annual income information for this individual" />
      <type value="Patient" />
    </part>
    <part>
      <name value="consent" />
      <use value="in" />
      <min value="0" />
      <max value="1" />
      <documentation value="Information about whether the individual has consented for CRA to directly disclose income information for this individual" />
      <type value="Patient" />
    </part>
    <part>
      <name value="privateInsurance" />
      <use value="in" />
      <min value="0" />
      <max value="2" />
      <documentation value="Information about private insurance policies held by the member" />
      <type value="Patient" />
    </part>
  </parameter>
</OperationDefinition>