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