{
"description": null,
"_filename": "SoteConsent.StructureDefinition.json",
"package_name": "fi.kela.kanta.gen.r4.tahdonilmaisut",
"date": null,
"derivation": "constraint",
"publisher": "Kela / Kanta",
"fhirVersion": "4.0.1",
"name": "SoTeConsent",
"abstract": false,
"type": "Consent",
"experimental": null,
"resourceType": "StructureDefinition",
"title": null,
"package_version": "1.0.0-rc1",
"status": "draft",
"id": "a0b7f235-bf01-4025-8fa8-7f07d73e8e1a",
"kind": "resource",
"url": "https://gen.kanta.fi/fhir/tahdonilmaisut/StructureDefinition/soteluovutuslupa",
"version": null,
"differential": {
"element": [ {
"id": "Consent",
"path": "Consent",
"constraint": [ {
"key": "TIP-CON-1",
"human": "Statuksen sallitut arvot ovat: active ja rejected",
"severity": "error",
"expression": "status = 'active' or 'rejected'"
}, {
"key": "TIP-CON-2",
"human": "Category arvo voi olla koodistosta https://gen.kanta.fi/figen-vs-consentcategory 1 tai 2.",
"severity": "error",
"expression": "category.coding.code = '1' or '2'"
}, {
"key": "TIP-CON-3",
"human": "Jos lupa perutaan eli status-elementissä annetaan \"rejected\", provision rakenteita ei tuoteta.",
"severity": "error",
"expression": "status != 'rejected' or provision.empty()"
}, {
"key": "TIP-CON-4",
"human": "Jos provision.type annetaan, sen pitää olla permit tai deny",
"severity": "error",
"expression": "provision.type.exists() implies (provision.type = 'permit' or 'deny')"
}, {
"key": "TIP-CON-5",
"human": "Jos provision.type on permit, provision.provision-rakennetta ei pidä tuoda.",
"severity": "error",
"expression": "provision.type = 'permit' implies provision.provision.exists().not()"
}, {
"key": "TIP-CON-6",
"human": "Jos provision.type on deny, provision.provision-rakenne pitää tuoda.",
"severity": "error",
"expression": "provision.provision.exists() implies provision.type = 'deny'"
}, {
"key": "TIP-CON-7",
"human": "Jos provision.provision annetaan, pitää alta löyltyä myös jokin tarkennus luovutuslupaan",
"severity": "error",
"expression": "provision.provision.exists() implies (provision.provision.actor.exists() or provision.provision.class.exists() or provision.provision.period.exists() )"
}, {
"key": "TIP-CON-8",
"human": "Jos provision.provision.actor annetaan, pitää sen alta löytyä ProvisionActorOrganizationTypeExtension.",
"severity": "error",
"expression": "provision.provision.actor.exists() implies provision.provision.actor.extension.where(url='https://gen.kanta.fi/fhir/tahdonilmaisut/StructureDefinition/ProvisionActorOrganizationTypeExtension').exists()"
}, {
"key": "TIP-CON-9",
"human": "Kun on kyse luovutusluvasta sosiaalihuollosta terveydenhuoltoon, organisaaatiotyypin code voi olla 4, 5 tai 6.",
"severity": "error",
"expression": "provision.provision.actor.extension.where(url='https://gen.kanta.fi/fhir/tahdonilmaisut/StructureDefinition/ProvisionActorOrganizationTypeExtension').value.where(code = '4' or code = '5' or code = '6').exists() implies category.coding.where(code = '2').exists()"
}, {
"key": "TIP-CON-10",
"human": "Kun on kyse luovutusluvasta terveydenhuollosta sosiaalihuoltoon, organisaaatiotyypin code voi olla 1, 2 tai 3.",
"severity": "error",
"expression": "provision.provision.actor.extension.where(url='https://gen.kanta.fi/fhir/tahdonilmaisut/StructureDefinition/ProvisionActorOrganizationTypeExtension').value.where(code = '1' or code = '2' or code = '3').exists() implies category.coding.where(code = '1').exists()"
}, {
"key": "TIP-CON-11",
"human": "Kun kyseessä on luovutuslupa terveydenhuollosta sosiaalihuoltoon, voi koodistosta figen-cs-ProvisionClassDataType käyttää vain koodiarvoa 4.",
"severity": "error",
"expression": "provision.provision.class.where(code='4').exists() implies category.coding.code = '2'"
}, {
"key": "TIP-CON-12",
"human": "Kun kyseessä on luovutuslupa sosiaalihuollosta terveydenhuoltoon, voi koodistosta figen-cs-ProvisionClassDataType käyttää vain koodiarvoja 1-3.",
"severity": "error",
"expression": "provision.provision.class.where(code='1' or code='2' or code='3').exists() implies category.coding.code = '1'"
}, {
"key": "TIP-CON-13",
"human": "Kun koodistosta figen-cs-ProvisionClassDataType on valittu arvo 4, pitää FunctionCodeen antaa Palvelutehtävän tiedot.",
"severity": "error",
"expression": "provision.provision.class.where(code='4').exists() implies Consent.provision.provision.class.extension.where(url='https://gen.kanta.fi/fhir/tahdonilmaisut/StructureDefinition/FunctionCode').exists()"
} ]
}, {
"id": "Consent.id",
"path": "Consent.id",
"short": "Sote-luovutusluvan yksilöivä tunnus",
"definition": "Sote-luovutusluvan globaalisti yksilöivä tunnus.\r\n\r\nSote-luovutusluvan tallennuksen yhteydessä Kanta-palvelut tuottaa Sote-luovutusluvalle yksilöivän tunnuksen, jota on käytettävä Sote-luovutusluvan päivityksessä. Luvalla luovutukseen soriaalihuollosta terveydenhuoltoon on oma yksilöivä tunnuksensa ja luvalla luovutukseen terveydenhuollosta sosiaalihuoltoon on omansa."
}, {
"id": "Consent.meta",
"path": "Consent.meta"
}, {
"id": "Consent.meta.profile",
"max": "1",
"min": 1,
"path": "Consent.meta.profile",
"fixedCanonical": "https://gen.kanta.fi/fhir/tahdonilmaisut/StructureDefinition/soteluovutuslupa"
}, {
"id": "Consent.language",
"min": 1,
"path": "Consent.language",
"short": "Luvan kieli",
"binding": {
"strength": "required",
"valueSet": "https://gen.kanta.fi/fhir/tahdonilmaisut/ValueSet/figen-vs-languages-soteconsent",
"description": "Luvan kieli"
},
"definition": "Kieli, jota luvan tallennuksessa käytetään."
}, {
"id": "Consent.text",
"min": 1,
"path": "Consent.text",
"short": "Luvan teksti",
"definition": "Teksti, jolla kerrotaan mihin henkilö on suostumuksensa antanut tai vaihtoehtoisesti peruuttanut."
}, {
"id": "Consent.text.status",
"path": "Consent.text.status",
"fixedCode": "additional",
"definition": "Kiinteä teksti, joka vaihtelee sen mukaan onko lupa annettu vai peruttu, siksi käytössä kiinteänä arvona \"additional\"."
}, {
"id": "Consent.text.div",
"path": "Consent.text.div",
"short": "Luvan tai perumisen teksti luvan kielellä",
"definition": "Teksti, joka vaihtelee sen mukaan, onko lupa annettu vai peruttu. Tekstistä on Simplifierissa saatavissa sekä suomen- että ruotsinkieliset versiot. Huomioi kielen xml tagit esimerkin mukaisesti."
}, {
"id": "Consent.status",
"path": "Consent.status",
"short": "active | rejected",
"definition": "Luovutusluvan status:\r\nactive= luovutuslupa on voimassa, joko kaikkeen tai kohdistuksin\nrejected= luovutuslupa on peruttu \r\nmuut tilat ei käytössä"
}, {
"id": "Consent.scope",
"path": "Consent.scope",
"short": "Luvan kohdistuminen",
"binding": {
"strength": "required"
},
"definition": "Consent-resurssin pakollinen tieto. Sote-luovutusluvassa käytetään tässä vakioarvoa."
}, {
"id": "Consent.scope.coding.system",
"min": 1,
"path": "Consent.scope.coding.system",
"fixedUri": "http://terminology.hl7.org/CodeSystem/consentscope"
}, {
"id": "Consent.scope.coding.code",
"min": 1,
"path": "Consent.scope.coding.code",
"fixedCode": "patient-privacy"
}, {
"id": "Consent.scope.coding.display",
"min": 1,
"path": "Consent.scope.coding.display",
"fixedString": "Privacy Consent"
}, {
"id": "Consent.category",
"max": "1",
"path": "Consent.category",
"short": "Luovutusluvan tunniste",
"binding": {
"strength": "required",
"valueSet": "https://gen.kanta.fi/fhir/tahdonilmaisut/ValueSet/figen-vs-consentcategory-soteconsent"
},
"definition": "Luovutusluvan tunniste, jonka avulla tiedetään mistä luvasta on kysymys. "
}, {
"id": "Consent.category.coding",
"max": "1",
"min": 1,
"path": "Consent.category.coding"
}, {
"id": "Consent.category.coding.system",
"min": 1,
"path": "Consent.category.coding.system"
}, {
"id": "Consent.category.coding.code",
"min": 1,
"path": "Consent.category.coding.code"
}, {
"id": "Consent.category.coding.display",
"min": 1,
"path": "Consent.category.coding.display"
}, {
"id": "Consent.patient",
"min": 1,
"path": "Consent.patient",
"type": [ {
"code": "Reference",
"targetProfile": [ "https://gen.kanta.fi/fhir/StructureDefinition/KantaPatientOfficialID" ]
} ],
"short": "Henkilö, jonka luvasta on kyse",
"definition": "Henkilö, jonka luvasta on kyse. Henkilöllä on oltava virallinen henkilötunnus."
}, {
"id": "Consent.dateTime",
"max": "0",
"path": "Consent.dateTime"
}, {
"id": "Consent.performer",
"max": "5",
"min": 1,
"path": "Consent.performer",
"type": [ {
"code": "Reference",
"targetProfile": [ "https://gen.kanta.fi/fhir/StructureDefinition/KantaPatientOfficialID", "https://gen.kanta.fi/fhir/StructureDefinition/KantaRelatedPerson" ]
} ],
"short": "Luovutusluvan asettaja",
"slicing": {
"rules": "open",
"discriminator": [ {
"path": "resolve()",
"type": "profile"
} ]
},
"definition": "Luovutusluvan asettajana voi olla asiakas itse tai laillinen edustaja"
}, {
"id": "Consent.performer:PatientPerformer",
"max": "1",
"path": "Consent.performer",
"type": [ {
"code": "Reference",
"targetProfile": [ "https://gen.kanta.fi/fhir/StructureDefinition/KantaPatientOfficialID" ]
} ],
"short": "Luvan asettajan tiedot",
"sliceName": "PatientPerformer",
"definition": "Tahdonilmaisun asettajana henkilö itse."
}, {
"id": "Consent.performer:PatientPerformer.reference",
"min": 1,
"path": "Consent.performer.reference",
"short": "Viittaus käytettävään resurssiin"
}, {
"id": "Consent.performer:RelatedPersonPerformer",
"max": "5",
"path": "Consent.performer",
"type": [ {
"code": "Reference",
"targetProfile": [ "https://gen.kanta.fi/fhir/StructureDefinition/KantaRelatedPerson" ]
} ],
"short": "Luvan asettaja",
"sliceName": "RelatedPersonPerformer",
"definition": "Tahdonilmaisun tallentajana puolesta-asioija"
}, {
"id": "Consent.performer:RelatedPersonPerformer.reference",
"min": 1,
"path": "Consent.performer.reference",
"short": "Viittaus käytettävään resurssiin"
}, {
"id": "Consent.organization",
"max": "0",
"path": "Consent.organization"
}, {
"id": "Consent.source[x]",
"max": "0",
"path": "Consent.source[x]"
}, {
"id": "Consent.policy",
"max": "0",
"path": "Consent.policy"
}, {
"id": "Consent.policyRule",
"min": 1,
"path": "Consent.policyRule",
"short": "Viittaus lakiin, mistä tarve luvalle tulee",
"definition": "Consent-resurssin vaihtoehtoisesti pakollinen tieto Policy-tiedon kanssa. Sote-luovutusluvalla käytetään tässä vakioarvona viittausta Asiakastietolakiin."
}, {
"id": "Consent.policyRule.text",
"path": "Consent.policyRule.text",
"fixedString": "Laki sosiaali- ja terveydenhuollon asiakastietojen käsittelystä 703/2023"
}, {
"id": "Consent.verification",
"max": "0",
"path": "Consent.verification"
}, {
"id": "Consent.provision",
"path": "Consent.provision",
"short": "Onko lupa annettu kaikkeen vai kohdistaen",
"comment": "deny = ei anneta luovutuslupaa kaikkeen, jokin rajaus löytyy provision.provision -rakenteesta\npermit = luovutuslupa kaikkeen mitään kohdistamatta",
"definition": "Lupa voidaan antaa kaikkeen tai lupaa voidaan kohdistaa"
}, {
"id": "Consent.provision.type",
"path": "Consent.provision.type",
"definition": "deny = ei annettu luovutuslupaa kaikkeen, jokin kohditus pitää olla asetettu\npermit = luovutuslupa on kaikkeen, ei kohdistuksia"
}, {
"id": "Consent.provision.period",
"max": "0",
"path": "Consent.provision.period"
}, {
"id": "Consent.provision.actor",
"max": "0",
"path": "Consent.provision.actor"
}, {
"id": "Consent.provision.action",
"max": "0",
"path": "Consent.provision.action"
}, {
"id": "Consent.provision.securityLabel",
"max": "0",
"path": "Consent.provision.securityLabel"
}, {
"id": "Consent.provision.purpose",
"max": "0",
"path": "Consent.provision.purpose"
}, {
"id": "Consent.provision.class",
"max": "0",
"path": "Consent.provision.class"
}, {
"id": "Consent.provision.code",
"max": "0",
"path": "Consent.provision.code"
}, {
"id": "Consent.provision.dataPeriod",
"max": "0",
"path": "Consent.provision.dataPeriod"
}, {
"id": "Consent.provision.data",
"max": "0",
"path": "Consent.provision.data"
}, {
"id": "Consent.provision.provision",
"max": "1",
"path": "Consent.provision.provision",
"short": "Luvassa annetut kohdistukset",
"slicing": {
"rules": "open",
"discriminator": [ {
"path": "type",
"type": "value"
} ]
},
"definition": "Kun Consent.provision.type arvoksi on asetettu \"deny\", tulee Consent.provision.provision rakenteeseen asettaa luvan kohdistukset."
}, {
"id": "Consent.provision.provision:Kohdistukset",
"max": "1",
"path": "Consent.provision.provision",
"sliceName": "Kohdistukset"
}, {
"id": "Consent.provision.provision:Kohdistukset.type",
"min": 1,
"path": "Consent.provision.provision.type",
"short": "Sote-luvassa käytössä vain \"permit\"",
"fixedCode": "permit",
"definition": "Sote-luvassa käytössä vain arvo \"permit\" eli voi kohdistaa mitä tietoja tai mille vastaanottajalle voi luovuttaa."
}, {
"id": "Consent.provision.provision:Kohdistukset.period",
"path": "Consent.provision.provision.period",
"short": "Alku- ja/tai loppuaika",
"definition": "Aikarajaus milta ajanjaksolta tietoja saa luovuttaa"
}, {
"id": "Consent.provision.provision:Kohdistukset.actor",
"path": "Consent.provision.provision.actor",
"short": "Organisaatiot, joille tietoja saa luovuttaa",
"constraint": [ {
"key": "TIP-CON-14",
"human": "Jos on annettu lupa luovuttaa tietoja hyvinvointialue-valinnalla, ei saa tuoda organisaatiotietoja erikseen.",
"severity": "error",
"expression": "reference.identifier.value.exists() implies extension.where(url='https://gen.kanta.fi/fhir/tahdonilmaisut/StructureDefinition/ProvisionActorOrganizationTypeExtension').value.where(code = '2' or code = '3' or code = '5' or code = '6')"
} ],
"definition": "Organisaatiot, joille tietoja saa luovuttaa. Luokittelut lain asettamalla tavalla.\r\n\r\n"
}, {
"id": "Consent.provision.provision:Kohdistukset.actor.extension:provisionActorOrganizationTypeExtension",
"path": "Consent.provision.provision.actor.extension",
"type": [ {
"code": "Extension",
"profile": [ "https://gen.kanta.fi/fhir/tahdonilmaisut/StructureDefinition/ProvisionActorOrganizationTypeExtension" ]
} ],
"sliceName": "provisionActorOrganizationTypeExtension"
}, {
"id": "Consent.provision.provision:Kohdistukset.actor.role",
"path": "Consent.provision.provision.actor.role",
"short": "Pakollinen elementti",
"definition": "Consent-resurssin pakollinen tieto. Sote-luovutusluvalla käytetään vakioarvona koodia \"AGNT\". Mallia voi katsoa esimerkistä.\r\n"
}, {
"id": "Consent.provision.provision:Kohdistukset.actor.role.coding.system",
"path": "Consent.provision.provision.actor.role.coding.system",
"fixedUri": "http://terminology.hl7.org/CodeSystem/v3-RoleClass"
}, {
"id": "Consent.provision.provision:Kohdistukset.actor.role.coding.code",
"path": "Consent.provision.provision.actor.role.coding.code",
"fixedCode": "AGNT"
}, {
"id": "Consent.provision.provision:Kohdistukset.actor.role.coding.display",
"path": "Consent.provision.provision.actor.role.coding.display",
"fixedString": "agent"
}, {
"id": "Consent.provision.provision:Kohdistukset.actor.reference",
"path": "Consent.provision.provision.actor.reference",
"type": [ {
"code": "Reference",
"targetProfile": [ "http://hl7.org/fhir/StructureDefinition/Organization" ]
} ],
"short": "Organisaatio, joille saa luovuttaa tietoja",
"definition": "Organisaatio, jolle saa luovuttaa tietoja. Ilmaistaan organisaation OID-tunnuksella tai codesystemin figen-cs-ProvisionActorOrganizationType mukainen teksti, jos valittu arvo 1 tai 4."
}, {
"id": "Consent.provision.provision:Kohdistukset.actor.reference.identifier.system",
"min": 1,
"path": "Consent.provision.provision.actor.reference.identifier.system",
"short": "Ilmaisee, että organisaation OID tulee Sote-organisaatiokoodistosta",
"fixedUri": "urn:ietf:rfc:3986",
"definition": "Ilmaisee, että OID tulee valita Sote-organisaatiokoodistosta"
}, {
"id": "Consent.provision.provision:Kohdistukset.actor.reference.identifier.value",
"min": 1,
"path": "Consent.provision.provision.actor.reference.identifier.value",
"short": "OID Sote-organisaatiokoodistosta",
"definition": "Arvoksi tulee OID Sote-organisaatiokoodistosta"
}, {
"id": "Consent.provision.provision:Kohdistukset.actor.reference.display",
"min": 1,
"path": "Consent.provision.provision.actor.reference.display",
"short": "Organisaation nimi",
"definition": "Organisaation nimi tai codesystemin figen-cs-ProvisionActorOrganizationType mukainen teksti, jos valittu arvo 1 tai 4."
}, {
"id": "Consent.provision.provision:Kohdistukset.action",
"max": "0",
"path": "Consent.provision.provision.action"
}, {
"id": "Consent.provision.provision:Kohdistukset.securityLabel",
"max": "0",
"path": "Consent.provision.provision.securityLabel"
}, {
"id": "Consent.provision.provision:Kohdistukset.purpose",
"max": "0",
"path": "Consent.provision.provision.purpose"
}, {
"id": "Consent.provision.provision:Kohdistukset.class",
"max": "3",
"path": "Consent.provision.provision.class",
"short": "Tiedot, joiden luovutus on sallittu",
"binding": {
"strength": "required",
"valueSet": "https://gen.kanta.fi/fhir/tahdonilmaisut/ValueSet/figen-vs-ProvisionClassDataType",
"description": "Luovutettavien tietojen kohdistus"
},
"definition": "Luovutettavien tietojen kohdistus laista tulevien luokittelujen mukaisesti.\r\n\r\n"
}, {
"id": "Consent.provision.provision:Kohdistukset.class.extension:functionCode",
"path": "Consent.provision.provision.class.extension",
"type": [ {
"code": "Extension",
"profile": [ "https://gen.kanta.fi/fhir/tahdonilmaisut/StructureDefinition/FunctionCode" ]
} ],
"sliceName": "functionCode"
}, {
"id": "Consent.provision.provision:Kohdistukset.class.system",
"min": 1,
"path": "Consent.provision.provision.class.system"
}, {
"id": "Consent.provision.provision:Kohdistukset.class.code",
"min": 1,
"path": "Consent.provision.provision.class.code"
}, {
"id": "Consent.provision.provision:Kohdistukset.class.display",
"min": 1,
"path": "Consent.provision.provision.class.display"
}, {
"id": "Consent.provision.provision:Kohdistukset.code",
"max": "0",
"path": "Consent.provision.provision.code"
}, {
"id": "Consent.provision.provision:Kohdistukset.dataPeriod",
"max": "0",
"path": "Consent.provision.provision.dataPeriod"
}, {
"id": "Consent.provision.provision:Kohdistukset.data",
"max": "0",
"path": "Consent.provision.provision.data"
}, {
"id": "Consent.provision.provision:Kohdistukset.provision",
"max": "0",
"path": "Consent.provision.provision.provision"
} ]
},
"baseDefinition": "http://hl7.org/fhir/StructureDefinition/Consent"
}