<CapabilityStatement xmlns="http://hl7.org/fhir">
  <url value="http://phr.kanta.fi/capabilitystatement" />
  <version value="1.0" />
  <name value="Finnish PHR's capability statement" />
  <status value="active" />
  <date value="2018-06-15" />
  <publisher value="Kela" />
  <contact>
    <name value="kantakehitys@kanta.fi" />
  </contact>
  <description value="The capability statement for Kanta PHR service production environment" />
  <kind value="requirements" />
  <software>
    <name value="Omakannan Omatietovaranto" />
    <version value="1.0" />
    <releaseDate value="2018-04-09" />
  </software>
  <fhirVersion value="3.0.1" />
  <acceptUnknown value="no" />
  <format value="json" />
  <rest>
    <mode value="server" />
    <documentation value="See implementation guide for details" />
    <security>
      <cors value="true" />
      <service>
        <text value="OAuth" />
      </service>
      <description value="The usage of OAuth 2.0 with Finnish PHR can be found at kanta.fi" />
    </security>
    <resource>
      <type value="CarePlan" />
      <interaction>
        <code value="read" />
      </interaction>
      <interaction>
        <code value="vread" />
      </interaction>
      <interaction>
        <code value="update" />
      </interaction>
      <interaction>
        <code value="delete" />
      </interaction>
      <interaction>
        <code value="create" />
        <documentation value="Conditional create allows only the use of identifier as condition" />
      </interaction>
      <interaction>
        <code value="search-type" />
      </interaction>
      <conditionalCreate value="true" />
      <conditionalUpdate value="false" />
      <conditionalDelete value="not-supported" />
      <referencePolicy value="literal" />
      <referencePolicy value="enforced" />
      <referencePolicy value="local" />
      <searchParam>
        <name value="_id" />
        <definition value="CarePlan.id" />
        <type value="token" />
        <documentation value="Logical id of this artifact" />
      </searchParam>
      <searchParam>
        <name value="_lastUpdated" />
        <definition value="CarePlan.meta.lastUpdated" />
        <type value="date" />
        <documentation value="When the resource version last changed" />
      </searchParam>
      <searchParam>
        <name value="_security" />
        <definition value="CarePlan.meta.security" />
        <type value="token" />
        <documentation value="If the viewing the resource is restricted. The following syntaxes are supported: [parameter]=[code] and [parameter]=[system]|[code]." />
      </searchParam>
      <searchParam>
        <name value="date" />
        <definition value="CarePlan.period" />
        <type value="date" />
        <documentation value="Time period the plan covers" />
      </searchParam>
      <searchParam>
        <name value="patient" />
        <definition value="CarePlan.subject" />
        <type value="reference" />
        <documentation value="Who care plan is for" />
      </searchParam>
    </resource>
    <resource>
      <type value="Observation" />
      <interaction>
        <code value="read" />
      </interaction>
      <interaction>
        <code value="vread" />
      </interaction>
      <interaction>
        <code value="update" />
      </interaction>
      <interaction>
        <code value="create" />
        <documentation value="Conditional create allows only the use of identifier as condition" />
      </interaction>
      <interaction>
        <code value="delete" />
        <documentation value="Only the source of the resource or Omakanta can delete resources" />
      </interaction>
      <interaction>
        <code value="search-type" />
      </interaction>
      <versioning value="versioned-update" />
      <readHistory value="true" />
      <updateCreate value="false" />
      <conditionalCreate value="true" />
      <conditionalUpdate value="false" />
      <conditionalDelete value="not-supported" />
      <referencePolicy value="literal" />
      <referencePolicy value="enforced" />
      <referencePolicy value="local" />
      <searchParam>
        <name value="_id" />
        <definition value="Observation.id" />
        <type value="token" />
        <documentation value="Logical id of this artifact" />
      </searchParam>
      <searchParam>
        <name value="_lastUpdated" />
        <definition value="Observation.meta.lastUpdated" />
        <type value="date" />
        <documentation value="When the resource version last changed" />
      </searchParam>
      <searchParam>
        <name value="_security" />
        <definition value="Observation.meta.security" />
        <type value="token" />
        <documentation value="If the viewing the resource is restricted. The following syntaxes are supported: [parameter]=[code] and [parameter]=[system]|[code]." />
      </searchParam>
      <searchParam>
        <name value="date" />
        <definition value="Observation.effective[x]" />
        <type value="date" />
        <documentation value="Obtained date/time. If the obtained element is a period, a date that falls in the period. AND operator is supported." />
      </searchParam>
      <searchParam>
        <name value="patient" />
        <definition value="Observation.subject" />
        <type value="reference" />
        <documentation value="The patient that the observation is about, mandatory search parameter" />
      </searchParam>
      <searchParam>
        <name value="code" />
        <definition value="Observation.code" />
        <type value="token" />
        <documentation value="The code of the observation type. The following syntaxes are supported: [parameter]=[code] and [parameter]=[system]|[code]. OR operator is supported. If searching with multiple codes and code.system isn't given, default codesystem http://loinc.org will be used." />
      </searchParam>
      <searchParam>
        <name value="identifier" />
        <definition value="Observation.identifier" />
        <type value="token" />
        <documentation value="The unique id for a particular observation. The following syntaxes are supported: [parameter]=[code] and [parameter]=[system]|[code]." />
      </searchParam>
      <searchParam>
        <name value="category" />
        <definition value="Observation.category" />
        <type value="token" />
        <documentation value="The classification of the type of observation. The following syntaxes are supported: [parameter]=[code] and [parameter]=[system]|[code]." />
      </searchParam>
    </resource>
    <resource>
      <type value="Patient" />
      <profile>
        <reference value="http://phr.kanta.fi/StructureDefinition/fiphr-patient-stu3" />
      </profile>
      <interaction>
        <code value="read" />
      </interaction>
      <interaction>
        <code value="vread" />
      </interaction>
      <interaction>
        <code value="update" />
      </interaction>
      <interaction>
        <code value="create" />
        <documentation value="Conditional create allows only the use of identifier as condition" />
      </interaction>
      <interaction>
        <code value="search-type" />
      </interaction>
      <versioning value="versioned-update" />
      <readHistory value="true" />
      <updateCreate value="true" />
      <conditionalCreate value="true" />
      <conditionalUpdate value="false" />
      <conditionalDelete value="not-supported" />
      <referencePolicy value="literal" />
      <referencePolicy value="enforced" />
      <referencePolicy value="local" />
      <searchParam>
        <name value="_id" />
        <definition value="Patient.id" />
        <type value="token" />
        <documentation value="Logical id of this artifact" />
      </searchParam>
    </resource>
    <resource>
      <type value="MedicationStatement" />
      <interaction>
        <code value="read" />
      </interaction>
      <interaction>
        <code value="vread" />
      </interaction>
      <interaction>
        <code value="update" />
      </interaction>
      <interaction>
        <code value="create" />
        <documentation value="Conditional create allows only the use of identifier as condition" />
      </interaction>
      <interaction>
        <code value="delete" />
        <documentation value="Only the source of the resource or Omakanta can delete resources" />
      </interaction>
      <interaction>
        <code value="search-type" />
        <documentation value="Implemented per the specification (or Insert other doco here)" />
      </interaction>
      <versioning value="versioned-update" />
      <readHistory value="true" />
      <updateCreate value="false" />
      <conditionalCreate value="true" />
      <conditionalUpdate value="false" />
      <conditionalDelete value="not-supported" />
      <referencePolicy value="literal" />
      <referencePolicy value="enforced" />
      <referencePolicy value="local" />
      <searchParam>
        <name value="_id" />
        <definition value="MedicationStatement.id" />
        <type value="token" />
        <documentation value="Logical id of this artifact" />
      </searchParam>
      <searchParam>
        <name value="_lastUpdated" />
        <definition value="MedicationStatement.meta.lastUpdated" />
        <type value="date" />
        <documentation value="When the resource version last changed" />
      </searchParam>
      <searchParam>
        <name value="_security" />
        <definition value="MedicationStatement.meta.security" />
        <type value="token" />
        <documentation value="If the viewing the resource is restricted. The following syntaxes are supported: [parameter]=[code] and [parameter]=[system]|[code]." />
      </searchParam>
      <searchParam>
        <name value="patient" />
        <definition value="MedicationStatement.patient" />
        <type value="reference" />
        <documentation value="The identity of a patient to list statements for, mandatory search parameter" />
      </searchParam>
      <searchParam>
        <name value="effective" />
        <definition value="MedicationStatement.effective[x]" />
        <type value="date" />
        <documentation value="Date when patient was taking (or not taking) the medication" />
      </searchParam>
      <searchParam>
        <name value="identifier" />
        <definition value="MedicationStatement.identifier" />
        <type value="token" />
        <documentation value="Return statements with this external identifier. The following syntaxes are supported: [parameter]=[code] and [parameter]=[system]|[code]." />
      </searchParam>
      <searchParam>
        <name value="code" />
        <definition value="MedicationStatement.medication[x]" />
        <type value="token" />
        <documentation value="Return statements of this medication code. The following syntaxes are supported: [parameter]=[code] and [parameter]=[system]|[code]." />
      </searchParam>
      <searchParam>
        <name value="status" />
        <definition value="MedicationStatement.status" />
        <type value="token" />
        <documentation value="Return statements that match the given status. The following syntaxes are supported: [parameter]=[code] and [parameter]=[system]|[code]." />
      </searchParam>
    </resource>
    <resource>
      <type value="MedicationAdministration" />
      <interaction>
        <code value="read" />
      </interaction>
      <interaction>
        <code value="vread" />
      </interaction>
      <interaction>
        <code value="update" />
      </interaction>
      <interaction>
        <code value="create" />
        <documentation value="Conditional create allows only the use of identifier as condition" />
      </interaction>
      <interaction>
        <code value="delete" />
        <documentation value="Only the source of the resource or Omakanta can delete resources" />
      </interaction>
      <interaction>
        <code value="search-type" />
        <documentation value="Implemented per the specification (or Insert other doco here)" />
      </interaction>
      <versioning value="versioned-update" />
      <readHistory value="true" />
      <updateCreate value="false" />
      <conditionalCreate value="true" />
      <conditionalUpdate value="false" />
      <conditionalDelete value="not-supported" />
      <referencePolicy value="literal" />
      <referencePolicy value="enforced" />
      <referencePolicy value="local" />
      <searchParam>
        <name value="_id" />
        <definition value="MedicationAdministration.id" />
        <type value="token" />
        <documentation value="Logical id of this artifact" />
      </searchParam>
      <searchParam>
        <name value="_lastUpdated" />
        <definition value="MedicationAdministration.meta.lastUpdated" />
        <type value="date" />
        <documentation value="When the resource version last changed" />
      </searchParam>
      <searchParam>
        <name value="_security" />
        <definition value="MedicationAdministration.meta.security" />
        <type value="token" />
        <documentation value="If the viewing the resource is restricted. The following syntaxes are supported: [parameter]=[code] and [parameter]=[system]|[code]." />
      </searchParam>
      <searchParam>
        <name value="effective-time" />
        <definition value="MedicationAdministration.effectiveTime[x]" />
        <type value="date" />
        <documentation value="Date administration happened (or did not happen)" />
      </searchParam>
      <searchParam>
        <name value="patient" />
        <definition value="MedicationAdministration.patient" />
        <type value="reference" />
        <documentation value="The identity of a patient to list administrations for, mandatory search parameter" />
      </searchParam>
      <searchParam>
        <name value="identifier" />
        <definition value="MedicationAdministration.identifier" />
        <type value="token" />
        <documentation value="Return administrations with this external identifier. The following syntaxes are supported: [parameter]=[code] and [parameter]=[system]|[code]." />
      </searchParam>
      <searchParam>
        <name value="code" />
        <definition value="MedicationAdministration.medication[x]" />
        <type value="token" />
        <documentation value="Return administrations of this medication code. The following syntaxes are supported: [parameter]=[code] and [parameter]=[system]|[code]. OR operator is supported. If searching with multiple codes and code.system isn't given, default codesystem http://phr.kanta.fi/CodeSystem/fiphr-cs-insulincode will be used." />
      </searchParam>
    </resource>
    <resource>
      <type value="Questionnaire" />
      <interaction>
        <code value="read" />
      </interaction>
      <interaction>
        <code value="vread" />
      </interaction>
      <interaction>
        <code value="update" />
      </interaction>
      <interaction>
        <code value="delete" />
      </interaction>
      <interaction>
        <code value="create" />
        <documentation value="Conditional create allow only identifier parameter" />
      </interaction>
      <interaction>
        <code value="search-type" />
      </interaction>
      <conditionalCreate value="true" />
      <conditionalUpdate value="false" />
      <conditionalDelete value="not-supported" />
      <referencePolicy value="literal" />
      <referencePolicy value="enforced" />
      <referencePolicy value="local" />
      <searchParam>
        <name value="_id" />
        <definition value="Questionnaire.id" />
        <type value="token" />
        <documentation value="Logical id of this artifact" />
      </searchParam>
      <searchParam>
        <name value="_lastUpdated" />
        <definition value="Questionnaire.meta.lastUpdated" />
        <type value="date" />
        <documentation value="When the resource version last changed" />
      </searchParam>
      <searchParam>
        <name value="code" />
        <definition value="Questionnaire.item.code" />
        <type value="token" />
        <documentation value="A code that corresponds to the questionnaire or one of its groups. The following syntaxes are supported: [parameter]=[code] and [parameter]=[system]|[code]." />
      </searchParam>
      <searchParam>
        <name value="identifier" />
        <definition value="Questionnaire.identifier" />
        <type value="token" />
        <documentation value="An identifier for the questionnaire. The following syntaxes are supported: [parameter]=[code] and [parameter]=[system]|[code]." />
      </searchParam>
    </resource>
    <resource>
      <type value="QuestionnaireResponse" />
      <interaction>
        <code value="read" />
      </interaction>
      <interaction>
        <code value="vread" />
      </interaction>
      <interaction>
        <code value="update" />
      </interaction>
      <interaction>
        <code value="delete" />
      </interaction>
      <interaction>
        <code value="create" />
        <documentation value="Conditional create allow only identifier parameter" />
      </interaction>
      <interaction>
        <code value="search-type" />
      </interaction>
      <conditionalCreate value="true" />
      <conditionalUpdate value="false" />
      <conditionalDelete value="not-supported" />
      <referencePolicy value="literal" />
      <referencePolicy value="enforced" />
      <referencePolicy value="local" />
      <searchParam>
        <name value="_id" />
        <definition value="QuestionnaireResponse.id" />
        <type value="token" />
        <documentation value="Logical id of this artifact" />
      </searchParam>
      <searchParam>
        <name value="_lastUpdated" />
        <definition value="QuestionnaireResponse.meta.lastUpdated" />
        <type value="date" />
        <documentation value="When the resource version last changed" />
      </searchParam>
      <searchParam>
        <name value="_security" />
        <definition value="QuestionnaireResponse.meta.security" />
        <type value="token" />
        <documentation value="If the viewing the resource is restricted. The following syntaxes are supported: [parameter]=[code] and [parameter]=[system]|[code]." />
      </searchParam>
      <searchParam>
        <name value="questionnaire" />
        <definition value="QuestionnaireResponse.questionnaire" />
        <type value="reference" />
        <documentation value="The questionnaire the answers are provided for" />
      </searchParam>
      <searchParam>
        <name value="patient" />
        <definition value="QuestionnaireResponse.subject" />
        <type value="reference" />
        <documentation value="The patient that is the subject of the questionnaire, mandatory search parameter" />
      </searchParam>
      <searchParam>
        <name value="authored" />
        <definition value="QuestionnaireResponse.authored" />
        <type value="date" />
        <documentation value="When the questionnaire was authored" />
      </searchParam>
      <searchParam>
        <name value="identifier" />
        <definition value="QuestionnaireResponse.identifier" />
        <type value="token" />
        <documentation value="The unique identifier for the questionnaire response. The following syntaxes are supported: [parameter]=[code] and [parameter]=[system]|[code]." />
      </searchParam>
    </resource>
    <resource>
      <type value="ValueSet" />
      <interaction>
        <code value="read" />
      </interaction>
      <interaction>
        <code value="vread" />
      </interaction>
      <interaction>
        <code value="update" />
      </interaction>
      <interaction>
        <code value="create" />
        <documentation value="Conditional create allows only the use of identifier as condition" />
      </interaction>
      <interaction>
        <code value="search-type" />
        <documentation value="Implemented per the specification (or Insert other doco here)" />
      </interaction>
      <versioning value="versioned-update" />
      <readHistory value="true" />
      <updateCreate value="false" />
      <conditionalCreate value="true" />
      <conditionalUpdate value="false" />
      <conditionalDelete value="not-supported" />
      <referencePolicy value="literal" />
      <referencePolicy value="enforced" />
      <referencePolicy value="local" />
      <searchParam>
        <name value="_id" />
        <definition value="ValueSet.id" />
        <type value="token" />
        <documentation value="Logical id of this artifact" />
      </searchParam>
      <searchParam>
        <name value="url" />
        <definition value="ValueSet.url" />
        <type value="uri" />
        <documentation value="The logical URL for the value set" />
      </searchParam>
    </resource>
    <resource>
      <type value="StructureDefinition" />
      <interaction>
        <code value="read" />
      </interaction>
      <interaction>
        <code value="vread" />
      </interaction>
      <interaction>
        <code value="update" />
      </interaction>
      <interaction>
        <code value="create" />
        <documentation value="Conditional create allows only the use of identifier as condition" />
      </interaction>
      <interaction>
        <code value="search-type" />
        <documentation value="Implemented per the specification (or Insert other doco here)" />
      </interaction>
      <versioning value="versioned-update" />
      <readHistory value="true" />
      <updateCreate value="false" />
      <conditionalCreate value="true" />
      <conditionalUpdate value="false" />
      <conditionalDelete value="not-supported" />
      <referencePolicy value="literal" />
      <referencePolicy value="enforced" />
      <referencePolicy value="local" />
      <searchParam>
        <name value="_id" />
        <definition value="StructureDefinition.id" />
        <type value="token" />
        <documentation value="Logical id of this artifact" />
      </searchParam>
      <searchParam>
        <name value="url" />
        <definition value="StructureDefinition.url" />
        <type value="uri" />
        <documentation value="The uri that identifies the structure definition" />
      </searchParam>
      <searchParam>
        <name value="status" />
        <definition value="StructureDefinition.status" />
        <type value="token" />
        <documentation value="The current status of the structure definition. The following syntaxes are supported: [parameter]=[code] and [parameter]=[system]|[code]." />
      </searchParam>
    </resource>
    <resource>
      <type value="CodeSystem" />
      <interaction>
        <code value="read" />
      </interaction>
      <interaction>
        <code value="vread" />
      </interaction>
      <interaction>
        <code value="update" />
      </interaction>
      <interaction>
        <code value="create" />
        <documentation value="Conditional create allows only the use of identifier as condition" />
      </interaction>
      <interaction>
        <code value="search-type" />
        <documentation value="Implemented per the specification (or Insert other doco here)" />
      </interaction>
      <versioning value="versioned-update" />
      <readHistory value="true" />
      <updateCreate value="false" />
      <conditionalCreate value="true" />
      <conditionalUpdate value="false" />
      <conditionalDelete value="not-supported" />
      <referencePolicy value="literal" />
      <referencePolicy value="enforced" />
      <referencePolicy value="local" />
      <searchParam>
        <name value="_id" />
        <definition value="CodeSystem.id" />
        <type value="token" />
        <documentation value="Logical id of this artifact" />
      </searchParam>
      <searchParam>
        <name value="url" />
        <definition value="CodeSystem.url" />
        <type value="uri" />
        <documentation value="The uri that identifies the code system" />
      </searchParam>
    </resource>
    <resource>
      <type value="Consent" />
      <interaction>
        <code value="read" />
        <documentation value="Implemented per the specification (or Insert other doco here)" />
      </interaction>
      <interaction>
        <code value="vread" />
        <documentation value="Implemented per the specification (or Insert other doco here)" />
      </interaction>
      <interaction>
        <code value="update" />
        <documentation value="Implemented per the specification (or Insert other doco here)" />
      </interaction>
      <interaction>
        <code value="create" />
        <documentation value="Implemented per the specification (or Insert other doco here)" />
      </interaction>
      <interaction>
        <code value="search-type" />
        <documentation value="Implemented per the specification (or Insert other doco here)" />
      </interaction>
      <conditionalCreate value="true" />
      <conditionalUpdate value="false" />
      <conditionalDelete value="not-supported" />
      <referencePolicy value="literal" />
      <referencePolicy value="enforced" />
      <referencePolicy value="local" />
      <searchParam>
        <name value="_id" />
        <definition value="Consent.id" />
        <type value="token" />
        <documentation value="Logical id of this artifact" />
      </searchParam>
      <searchParam>
        <name value="patient" />
        <definition value="Consent.patient" />
        <type value="reference" />
        <documentation value="Who the consent applies to, mandatory search parameter" />
      </searchParam>
      <searchParam>
        <name value="_lastUpdated" />
        <definition value="Consent.meta.lastUpdated" />
        <type value="date" />
        <documentation value="When the resource version last changed" />
      </searchParam>
      <searchParam>
        <name value="category" />
        <definition value="Consent.category" />
        <type value="token" />
        <documentation value="Classification of the consent statement - for indexing/retrieval. The following syntaxes are supported: [parameter]=[code] and [parameter]=[system]|[code]." />
      </searchParam>
      <searchParam>
        <name value="identifier" />
        <definition value="Consent.identifier" />
        <type value="token" />
        <documentation value="Identifier for this record (external references). The following syntaxes are supported: [parameter]=[code] and [parameter]=[system]|[code]." />
      </searchParam>
    </resource>
  </rest>
</CapabilityStatement>