diff --git a/README.md b/README.md index 5a50890..5913e63 100644 --- a/README.md +++ b/README.md @@ -5,9 +5,9 @@ This repo contains the source code for the Finnish FHIR base profiles. The profiling work is performed in a project driven by [HL7 Finland](https://www.hl7.fi). See the [announcement](https://www.hl7.fi/hl7-fhir-profilointityo-kaynnistyy-tule-mukaan-vaikuttamaan-kansalliseen-tekemiseen/), -the [running -memo](https://docs.google.com/document/d/1yNq6XMLhWJqi6OELQtWC1DFwdtD9CQulzVOfz-zZCko/edit#), and -[some more details](https://fhir.fi). +the +[running memo](https://docs.google.com/document/d/1yNq6XMLhWJqi6OELQtWC1DFwdtD9CQulzVOfz-zZCko/edit#), +and [some more details](https://fhir.fi). The profiles are based on R4, [FHIR 4.0.1](http://hl7.org/fhir/R4/). @@ -17,8 +17,9 @@ Read more about the profiling work in the [index page](input/pagecontent/index.m ### On build.fhir.org The results of each commit to this repository are published automatically at the build.fhir.org -infrastructure. You can locate the built snapshot with the branch name. For instance, the latest -commit to the `master` branch is published at +infrastructure. You can select a built snapshot from the +[list of branches](https://build.fhir.org/ig/fhir-fi/finnish-base-profiles/branches/). For +instance, the latest commit to the `master` branch is published at [https://build.fhir.org/ig/fhir-fi/finnish-base-profiles/branches/master](https://build.fhir.org/ig/fhir-fi/finnish-base-profiles/branches/master). You can also browse the [list of all IG builds](https://fhir.github.io/auto-ig-builder/builds.html). @@ -56,7 +57,7 @@ See also the repo for * Java 17 * Jekyll (ruby) -Or you can use docker, see [Dockerfile](Dockerfile). +Or you can use Docker, see [Dockerfile](Dockerfile). ### Quick Start @@ -77,7 +78,7 @@ npm install -g fsh-sushi@3.3.3 .\_genonce.bat ``` -### Using Docker +#### Using Docker Run @@ -86,4 +87,6 @@ docker-compose run runner bash -c "cd /workdir && ./_updatePublisher.sh --yes" docker-compose run runner bash -c "cd /workdir && ./_genonce.sh" ``` +#### Results + The implementation guide will be generated to the `output/` directory. diff --git a/input/examples/organization-Toimintayksikko.json b/input/examples/organization-Toimintayksikko.json index 0d1ca76..86dc0c8 100644 --- a/input/examples/organization-Toimintayksikko.json +++ b/input/examples/organization-Toimintayksikko.json @@ -5,7 +5,7 @@ { "use": "official", "system": "urn:oid:1.2.246.537.6.202.2008", - "value": "1.2.246.10.31045308.10002.0" + "value": "urn:oid:1.2.246.10.31045308.10002.0" } ], "active": true, diff --git a/input/fsh/appointment.fsh b/input/fsh/appointment.fsh index fda8761..ffab070 100644 --- a/input/fsh/appointment.fsh +++ b/input/fsh/appointment.fsh @@ -3,7 +3,6 @@ Parent: Appointment Id: fi-base-appointment Title: "FI Base Appointment" Description: "This is the Finnish base profile for the Appointment resource." -* ^status = #draft * reasonReference only Reference(FiBaseCondition or FiBaseProcedure or FiBaseObservation or ImmunizationRecommendation) * participant.actor only Reference(FiBasePatient or FiBasePractitioner or FiBasePractitionerRole or RelatedPerson or Device or HealthcareService or FiBaseLocation) * slot only Reference(FiBaseSlot) \ No newline at end of file diff --git a/input/fsh/condition.fsh b/input/fsh/condition.fsh index 538d3f0..00c4039 100644 --- a/input/fsh/condition.fsh +++ b/input/fsh/condition.fsh @@ -3,5 +3,4 @@ Parent: http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-condition Id: fi-base-condition Title: "FI Base Condition" Description: "This is the Finnish base profile for the Condition resource." -* ^status = #draft * subject only Reference(FiBasePatient) \ No newline at end of file diff --git a/input/fsh/encounter.fsh b/input/fsh/encounter.fsh index 2fe1a25..9d2e840 100644 --- a/input/fsh/encounter.fsh +++ b/input/fsh/encounter.fsh @@ -3,7 +3,6 @@ Parent: Encounter Id: fi-base-encounter Title: "FI Base Encounter" Description: "This is the Finnish base profile for the Encounter resource." -* ^status = #draft * subject only Reference(FiBasePatient or Group) * episodeOfCare only Reference(FiBaseEpisodeOfCare) * participant.individual only Reference(FiBasePractitioner or FiBasePractitionerRole or RelatedPerson) diff --git a/input/fsh/episodeOfCare.fsh b/input/fsh/episodeOfCare.fsh index d4b24ef..53916f6 100644 --- a/input/fsh/episodeOfCare.fsh +++ b/input/fsh/episodeOfCare.fsh @@ -3,7 +3,6 @@ Parent: EpisodeOfCare Id: fi-base-episode-of-care Title: "FI Base EpisodeOfCare" Description: "This is the Finnish base profile for the EpisodeOfCare resource." -* ^status = #draft * diagnosis.condition only Reference(FiBaseCondition) * patient only Reference(FiBasePatient) * managingOrganization only Reference(FiBaseOrganization) diff --git a/input/fsh/examples/encounterPalvelutapahtuma.fsh b/input/fsh/examples/encounterPalvelutapahtuma.fsh index 8e317f6..15b34f7 100644 --- a/input/fsh/examples/encounterPalvelutapahtuma.fsh +++ b/input/fsh/examples/encounterPalvelutapahtuma.fsh @@ -5,7 +5,7 @@ Description: "An example of a FI Base encounter which corresponds 1-1 to palvelu Usage: #example * id = "id-for-palvelutapahtuma" * identifier.use = #official -* identifier.value = "1.2.246.10.6794809.14011.2023.200035" +* identifier.value = "urn:oid:1.2.246.10.6794809.14011.2023.200035" * status = #in-progress * class.system = #http://terminology.hl7.org/CodeSystem/v3-ActCode * class.code = #IMP diff --git a/input/fsh/examples/organizationHospitalUnit.fsh b/input/fsh/examples/organizationHospitalUnit.fsh index 5c72ccf..7eec967 100644 --- a/input/fsh/examples/organizationHospitalUnit.fsh +++ b/input/fsh/examples/organizationHospitalUnit.fsh @@ -7,7 +7,7 @@ Usage: #example * id = "1.2.246.10.8286189.10.100012" * identifier.use = #official * identifier.system = #urn:oid:1.2.246.537.6.202.2008 -* identifier.value = "1.2.246.10.8286189.10.100012" +* identifier.value = "urn:oid:1.2.246.10.8286189.10.100012" * name = "Kirurgian vuodeosasto 4B, Länsi-Pohjan keskussairaala, LPSHP" * alias = "Kirurgian vuodeosasto 4B, LPKS, LPSHP" * address[0].type = #postal diff --git a/input/fsh/examples/organizationPrimaryCareUnit.fsh b/input/fsh/examples/organizationPrimaryCareUnit.fsh index 7176751..20bc927 100644 --- a/input/fsh/examples/organizationPrimaryCareUnit.fsh +++ b/input/fsh/examples/organizationPrimaryCareUnit.fsh @@ -6,7 +6,7 @@ Usage: #example * id = "1.2.246.10.2085212.10.1314" * identifier.use = #official * identifier.system = #urn:oid:1.2.246.537.6.202.2008 -* identifier.value = "1.2.246.10.2085212.10.1314" +* identifier.value = "urn:oid:1.2.246.10.2085212.10.1314" * name = "Kyyjärven lääkärin vastaanotto, Kyyjärven terveysasema, SoTe kuntayhtymä Saarikka" * partOf.reference = "Organization/1.2.246.10.2085212.10.1306" * address[0].type = #postal @@ -31,6 +31,6 @@ Usage: #example * id = "1.2.246.10.2085212.10.1306" * identifier.use = #official * identifier.system = #urn:oid:1.2.246.537.6.202.2008 -* identifier.value = "1.2.246.10.2085212.10.1306" +* identifier.value = "urn:oid:1.2.246.10.2085212.10.1306" * name = "Vastaanotot, SoTe kuntayhtymä Saarikka" * active = true diff --git a/input/fsh/healthcareService.fsh b/input/fsh/healthcareService.fsh index 342b877..98be821 100644 --- a/input/fsh/healthcareService.fsh +++ b/input/fsh/healthcareService.fsh @@ -3,7 +3,6 @@ Parent: HealthcareService Id: fi-base-healthcare-service Title: "FI Base HealthcareService" Description: "This is the Finnish base profile for the HealthcareService resource." -* ^status = #draft * providedBy only Reference(FiBaseOrganization) * location only Reference(FiBaseLocation) * coverageArea only Reference(FiBaseLocation) \ No newline at end of file diff --git a/input/fsh/immunization.fsh b/input/fsh/immunization.fsh index d39b77c..9ac73c6 100644 --- a/input/fsh/immunization.fsh +++ b/input/fsh/immunization.fsh @@ -3,7 +3,6 @@ Parent: IPAImmunization Id: fi-base-immunization Title: "Fi Base Immunization" Description: "This is a base profile for Finnish Immunization resource." -* ^status = #draft * patient only Reference(FiBasePatient) * encounter only Reference(FiBaseEncounter) * location only Reference(FiBaseLocation) diff --git a/input/fsh/location.fsh b/input/fsh/location.fsh index 3c22334..fe3388c 100644 --- a/input/fsh/location.fsh +++ b/input/fsh/location.fsh @@ -3,6 +3,5 @@ Parent: Location Id: fi-base-location Title: "FI Base Location" Description: "This is the Finnish base profile for the Location resource." -* ^status = #draft * managingOrganization only Reference(FiBaseOrganization) * partOf only Reference(FiBaseLocation) diff --git a/input/fsh/medication.fsh b/input/fsh/medication.fsh index dd04046..4ec424c 100644 --- a/input/fsh/medication.fsh +++ b/input/fsh/medication.fsh @@ -3,6 +3,5 @@ Parent: Medication Id: fi-base-medication Title: "FI Base Medication" Description: "This is the Finnish base profile for the Medication resource for other than patient access use cases." -* ^status = #draft * manufacturer only Reference(FiBaseOrganization) * ingredient.itemReference only Reference(Substance or FiBaseMedication or FiBasePatientMedication) \ No newline at end of file diff --git a/input/fsh/medicationAdministration.fsh b/input/fsh/medicationAdministration.fsh index fdc0afb..e5dd79d 100644 --- a/input/fsh/medicationAdministration.fsh +++ b/input/fsh/medicationAdministration.fsh @@ -3,7 +3,6 @@ Parent: MedicationAdministration Id: fi-base-medication-administration Title: "FI Base MedicationAdministration" Description: "This is the Finnish base profile for the MedicationAdministration resource." -* ^status = #draft * partOf only Reference(FiBaseProcedure or FiBaseMedicationAdministration) * medicationReference only Reference(FiBasePatientMedication) * subject only Reference(FiBasePatient or Group) diff --git a/input/fsh/medicationRequest.fsh b/input/fsh/medicationRequest.fsh index d9562fa..9e2e874 100644 --- a/input/fsh/medicationRequest.fsh +++ b/input/fsh/medicationRequest.fsh @@ -3,7 +3,6 @@ Parent: MedicationRequest Id: fi-base-medication-request Title: "FI Base MedicationRequest" Description: "This is the Finnish base profile for the MedicationRequest resource, for other than patient access use cases." -* ^status = #draft * reportedReference only Reference(FiBasePatient or FiBasePractitioner or FiBasePractitionerRole) * medicationReference only Reference(FiBaseMedication or FiBasePatientMedication) * subject only Reference(FiBasePatient) diff --git a/input/fsh/medicationStatement.fsh b/input/fsh/medicationStatement.fsh index d3427ec..3db1215 100644 --- a/input/fsh/medicationStatement.fsh +++ b/input/fsh/medicationStatement.fsh @@ -3,7 +3,6 @@ Parent: http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-medicationstatement Id: fi-base-medication-statement Title: "FI Base MedicationStatement" Description: "This is the Finnish base profile for the MedicationStatement resource." -* ^status = #draft * basedOn only Reference(FiBaseMedicationRequest or CarePlan or ServiceRequest) * partOf only Reference(FiBaseMedicationAdministration or MedicationDispense or FiBaseMedicationStatement or FiBaseProcedure or FiBaseObservation) * medicationReference only Reference(FiBasePatientMedication) diff --git a/input/fsh/observation.fsh b/input/fsh/observation.fsh index bf1178c..b1d70cb 100644 --- a/input/fsh/observation.fsh +++ b/input/fsh/observation.fsh @@ -3,7 +3,6 @@ Parent: http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-observation Id: fi-base-observation Title: "FI Base Observation" Description: "This is the Finnish base profile for the Observation resource." -* ^status = #draft * basedOn only Reference(CarePlan or DeviceRequest or ImmunizationRecommendation or FiBaseMedicationRequest or NutritionOrder or ServiceRequest) * partOf only Reference(FiBaseMedicationAdministration or MedicationDispense or FiBaseMedicationStatement or FiBaseProcedure or FiBaseImmunization or ImagingStudy) * subject only Reference(FiBasePatient) diff --git a/input/fsh/organization.fsh b/input/fsh/organization.fsh index c513728..801cb08 100644 --- a/input/fsh/organization.fsh +++ b/input/fsh/organization.fsh @@ -3,5 +3,4 @@ Parent: Organization Id: fi-base-organization Title: "FI Base Organization" Description: "This is the Finnish base profile for the Organization resource." -* ^status = #draft * partOf only Reference(FiBaseOrganization) diff --git a/input/fsh/patient.fsh b/input/fsh/patient.fsh index 0a82aac..b2a0fe0 100644 --- a/input/fsh/patient.fsh +++ b/input/fsh/patient.fsh @@ -3,7 +3,6 @@ Parent: IPAPatient Id: fi-base-patient Title: "FI Base Patient" Description: "This is the Finnish base profile for the Patient resource." -* ^status = #draft * generalPractitioner only Reference(FiBaseOrganization or FiBasePractitioner or FiBasePractitionerRole) * managingOrganization only Reference(FiBaseOrganization) * link.other only Reference(FiBasePatient or RelatedPerson) @@ -21,8 +20,9 @@ Description: "This is the Finnish base profile for the Patient resource." * identifier ^slicing.discriminator.type = #value * identifier ^slicing.discriminator.path = "use" * identifier ^slicing.rules = #open -* identifier ^slicing.description = "When using the official Finnish personal identifier code (PIC, also known as HETU), identifier.system SHALL be #urn:oid:1.2.246.21." +* identifier ^slicing.description = "When using the official Finnish personal identifier code (PIC, also known as HETU), identifier.system SHALL be urn:oid:1.2.246.21." * identifier ^slicing.ordered = false + * ^definition = "When using the official Finnish personal identifier code (PIC, also known as *HETU*), identifier.system SHALL be `urn:oid:1.2.246.21`." * ^short = "Identifier contains Finnish personal identity code which can be official or temporary. Other identifier may also be included." * identifier contains PIC 0..1 @@ -34,12 +34,13 @@ Description: "This is the Finnish base profile for the Patient resource." * extension contains MunicipalityCode named municipality 0..1 * extension contains interpreterRequired named interpreterRequired 0..1 +* extension contains PatientProfession named patientProfession 0..1 Extension: MunicipalityCode Id: municipality-code Title: "Municipality Code" -Description: "Extension for home municipality" -* . ^short = "Municipality presents the home municipality of the patients. This information is relevant for ex. in billing and listing available healthcare services." +Description: "Extension for home municipality. Home municipality is relevant for ex. in billing and listing available healthcare services, and for statistical purposes. It it not necessarily the place where a patient lives, rather closer to where they pay their taxes." +* . ^short = "The home municipality of the patient (not necessarily where they live)." * ^context.type = #element * ^context.expression = "Patient" * value[x] only Coding diff --git a/input/fsh/patientMedication.fsh b/input/fsh/patientMedication.fsh index 6c9ef56..85b9da9 100644 --- a/input/fsh/patientMedication.fsh +++ b/input/fsh/patientMedication.fsh @@ -3,6 +3,5 @@ Parent: http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-medication Id: fi-base-patient-medication Title: "FI Base Patient Medication" Description: "This is the Finnish base profile for the Medication resource for patient access use case." -* ^status = #draft * manufacturer only Reference(FiBaseOrganization) * ingredient.itemReference only Reference(Substance or FiBasePatientMedication) \ No newline at end of file diff --git a/input/fsh/patientMedicationRequest.fsh b/input/fsh/patientMedicationRequest.fsh index 463cc88..5a605e8 100644 --- a/input/fsh/patientMedicationRequest.fsh +++ b/input/fsh/patientMedicationRequest.fsh @@ -3,7 +3,6 @@ Parent: http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-medicationrequest Id: fi-base-patient-medication-request Title: "FI Base Patient MedicationRequest" Description: "This is the Finnish base profile for the MedicationRequest resource for the patient access use case." -* ^status = #draft * reportedReference only Reference(FiBasePatient or FiBasePractitioner or FiBasePractitionerRole) * medicationReference only Reference(FiBasePatientMedication) * subject only Reference(FiBasePatient) diff --git a/input/fsh/practitioner.fsh b/input/fsh/practitioner.fsh index 9d5dee2..fabee1c 100644 --- a/input/fsh/practitioner.fsh +++ b/input/fsh/practitioner.fsh @@ -3,7 +3,6 @@ Parent: http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-practitioner Id: fi-base-practitioner Title: "FI Base Practitioner" Description: "This is the Finnish base profile for the Practitioner resource." -* ^status = #draft * qualification.issuer only Reference(FiBaseOrganization) * identifier ^slicing.discriminator.type = #value diff --git a/input/fsh/practitionerRole.fsh b/input/fsh/practitionerRole.fsh index 107a23d..1740be9 100644 --- a/input/fsh/practitionerRole.fsh +++ b/input/fsh/practitionerRole.fsh @@ -3,7 +3,6 @@ Parent: http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-practitionerrole Id: fi-base-practitioner-role Title: "FI Base PractitionerRole" Description: "This is the Finnish base profile for the PractitionerRole resource." -* ^status = #draft * practitioner only Reference(FiBasePractitioner) * organization only Reference(FiBaseOrganization) * location only Reference(FiBaseLocation) diff --git a/input/fsh/procedure.fsh b/input/fsh/procedure.fsh index b61b631..0107e18 100644 --- a/input/fsh/procedure.fsh +++ b/input/fsh/procedure.fsh @@ -3,7 +3,6 @@ Parent: Procedure Id: fi-base-procedure Title: "Fi Base Procedure" Description: "The Base profile for Finnish Procedure resource." -* ^status = #draft * partOf only Reference(FiBaseProcedure or FiBaseObservation or FiBaseMedicationAdministration) * subject only Reference(FiBasePatient or Group) * encounter only Reference(FiBaseEncounter) diff --git a/input/fsh/reasonForCare.fsh b/input/fsh/reasonForCare.fsh index d86af7f..129f96d 100644 --- a/input/fsh/reasonForCare.fsh +++ b/input/fsh/reasonForCare.fsh @@ -3,7 +3,6 @@ Parent: FiBaseCondition Id: fi-base-reason-for-care Title: "FI Base Reason for Care (encounter-diagnosis and reason for visit)" Description: "This is the Finnish base profile for the encounter-diagnosis and (nurse asserted) reason for visit Conditions." -* ^status = #draft * subject only Reference(FiBasePatient) diff --git a/input/fsh/schedule.fsh b/input/fsh/schedule.fsh index bafd427..4b9083b 100644 --- a/input/fsh/schedule.fsh +++ b/input/fsh/schedule.fsh @@ -3,5 +3,4 @@ Parent: Schedule Id: fi-base-schedule Title: "FI Base Schedule" Description: "This is the Finnish base profile for the Schedule resource." -* ^status = #draft * actor only Reference(FiBasePatient or FiBasePractitioner or FiBasePractitionerRole or RelatedPerson or Device or FiBaseHealthcareService or FiBaseLocation) \ No newline at end of file diff --git a/input/fsh/slot.fsh b/input/fsh/slot.fsh index b048469..33eef22 100644 --- a/input/fsh/slot.fsh +++ b/input/fsh/slot.fsh @@ -3,5 +3,4 @@ Parent: Slot Id: fi-base-slot Title: "FI Base Slot" Description: "This is the Finnish base profile for the Slot resource." -* ^status = #draft * schedule only Reference(FiBaseSchedule) \ No newline at end of file diff --git a/input/ignoreWarnings.txt b/input/ignoreWarnings.txt index 5d62301..5b49485 100644 --- a/input/ignoreWarnings.txt +++ b/input/ignoreWarnings.txt @@ -54,6 +54,7 @@ Code System URI 'urn:oid:1.2.246.537.5.40202.201901' is unknown so the code cann Code System URI 'urn:oid:1.2.246.537.5.40303.201501' is unknown so the code cannot be validated Code System URI 'urn:oid:1.2.246.537.6.1.1999' is unknown so the code cannot be validated Code System URI 'urn:oid:1.2.246.537.6.110.2007' is unknown so the code cannot be validated +Code System URI 'urn:oid:1.2.246.537.6.111.2007' is unknown so the code cannot be validated Code System URI 'urn:oid:1.2.246.537.6.121.201801' is unknown so the code cannot be validated Code System URI 'urn:oid:1.2.246.537.6.124.2008' is unknown so the code cannot be validated Code System URI 'urn:oid:1.2.246.537.6.125.2008' is unknown so the code cannot be validated diff --git a/input/pagecontent/StructureDefinition-fi-base-reason-for-care-intro.md b/input/pagecontent/StructureDefinition-fi-base-reason-for-care-intro.md index 1c9945a..7d78580 100644 --- a/input/pagecontent/StructureDefinition-fi-base-reason-for-care-intro.md +++ b/input/pagecontent/StructureDefinition-fi-base-reason-for-care-intro.md @@ -70,12 +70,12 @@ repetitions expressing the same information in two code systems): "code" : { "coding" : [ { - "system" : "1.2.246.537.6.1.1999", + "system" : "urn:oid:1.2.246.537.6.1.1999", "code" : "H36.03", "display" : "Proliferatiivinen diabeettinen retinopatia" }, { - "system" : "1.2.246.537.6.31.2007", + "system" : "urn:oid:1.2.246.537.6.31.2007", "code" : "F83", "display" : "Retinopatia, verkkokalvon rappeuma" } @@ -102,7 +102,7 @@ For example: { "coding" : [ { - "system" : "1.2.246.537.6.1.1999", + "system" : "urn:oid:1.2.246.537.6.1.1999", "code" : "E11.3", "display" : "Aikuistyypin diabetes diabeteksen silmäkomplikaatiot" } diff --git a/input/pagecontent/index.md b/input/pagecontent/index.md index b62903c..171ae58 100644 --- a/input/pagecontent/index.md +++ b/input/pagecontent/index.md @@ -147,10 +147,10 @@ See the [presentation slides](Vitalis2023-Nordic_harmonization_of_health_data.pd Other notable national base profiles under our radar are Many of the Finnish FHIR base profiles derive from the diff --git a/sushi-config.yaml b/sushi-config.yaml index 536f647..1f63b55 100644 --- a/sushi-config.yaml +++ b/sushi-config.yaml @@ -8,7 +8,7 @@ name: FinnishBaseProfiles title: Finnish Base Profiles description: A core set of FHIR resources profiled for use in Finland, published and maintained by HL7 Finland status: draft # draft | active | retired | unknown -version: 1.0.0-rc19 +version: 1.0.0-rc20 fhirVersion: 4.0.1 # https://www.hl7.org/fhir/valueset-FHIR-version.html copyrightYear: 2022+ releaseLabel: qa-preview # ci-build | draft | qa-preview | ballot | trial-use | release | update | normative+trial-use