From c249f2e3cde4af7e29ad7bb55546f79f432481ae Mon Sep 17 00:00:00 2001 From: dkayiwa Date: Wed, 12 Aug 2026 12:01:27 +0300 Subject: [PATCH 1/4] Take the metadata O3 requires out of the demo content package The two content packages were split by name rather than by role. `referenceapplication` was a 10-file overlay - concept classes and sources, the location tags, privileges, four global properties, two OCL packages - while `referenceapplication-demo` carried everything needed to actually run O3: the `OpenMRS ID` identifier type and its idgen source, encounter and visit types, the `Privilege Level` and `Application: ...` roles, the emrapi term mappings, ADT dispositions, order frequencies, dosing units, and the vital sign concepts with their reference ranges. So a distribution could not drop the demo package - the point of the `no-demo` profile in openmrs-distro-referenceapplication@b60dce9 - without losing the ability to log in, register a patient or record an obs. Filenames are unchanged, so the config is identical file for file: every moved file is byte-identical and no name collides. Three files held both kinds of content and were split: `OpenMRS ID` out of the identifier types, `Vital signs` out of the convsets (`Tests Orderability` stays with the lab catalog it names), and queue.sortWeightGenerator / concept.causeOfDeath / attachments.allowedFileExtensions out of the demo global properties. Existing installations do re-import the moved files once. build-distro lays config out as openmrs_config/// and names checksums /_.checksum, so changing which package owns a file changes both its path and its checksum name. Re-import is idempotent - these are declarative CSV and XML keyed by uuid - but it also shifts their order within a domain, since `referenceapplication` sorts ahead of `referenceapplication-demo`. The boundary the README already describes decided each case: what an O3 feature resolves by uuid, code or name belongs here; what a site supplies or replaces stays in the demo package. Locations stay there, so this package defines no facility of its own. Catalogs stay too, which is why alpreferenceranges.csv and hbreferenceranges.csv did not come along: their Hb and ALP concepts live in `BasicLabTests`. dispositionConfig.json did come, and brought the misleadingly named `IPD-DEMO` OCL package with it, since that is where its admit concept is. The service queues frontend config goes the other way, to the demo package: its priority and status uuids are `DemoQueueConcepts`, and it was this package's last dependency on the demo package. There are now none. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_015Rb27z8QxDsmWEkt7Cs3s7 --- README.md | 25 ++++++++++ .../attribute_types-core_demo.csv | 7 +++ .../autogenerationoptions-core_demo.csv | 2 + .../bmireferenceranges.csv | 7 +++ .../vitalsreferenceranges.csv | 44 +++++++++++++++++ .../concepts/convsets.csv | 2 + .../concepts/disable_false-core_demo.csv | 2 + .../concepts/findings-core_demo.csv | 11 +++++ .../concepts/misc-core_data.csv | 6 +++ .../concepts/questions_core-demo.csv | 3 ++ .../dispositions/dispositionConfig.json | 26 ++++++++++ .../encounterroles-core_demo.csv | 3 ++ .../encountertypes_core-demo.csv | 20 ++++++++ .../drugorder-properties-core_data.xml | 20 ++++++++ .../globalproperties/fhir-properties.xml | 8 ++++ .../globalproperties-core.xml | 20 ++++++++ .../idgen/idgen_sequential-core_demo.csv | 2 + .../jsonkeyvalues/encounterPrinting.json | 18 +++++++ .../jsonkeyvalues/patientIdPreportConfig.json | 17 +++++++ .../metadatasets/metadatasets-core_demo.csv | 2 + .../emrapi.Metadata_Source-1-core_demo.zip | Bin 0 -> 1167 bytes .../metadatatermmappings-core_demo.csv | 12 +++++ ..._CDU_v6_autoexpand-6.2025-09-22_081056.zip | Bin 0 -> 85292 bytes ...ySet_v7_autoexpand-7.2025-08-11_004701.zip | Bin 0 -> 168454 bytes ..._CLF_v7_autoexpand-7.2025-08-11_002629.zip | Bin 0 -> 28631 bytes ...se_v11_autoexpand-11.2025-11-19_070349.zip | Bin 0 -> 18945 bytes ...ause_v9_autoexpand-9.2025-10-27_160004.zip | Bin 0 -> 19182 bytes ...ense_v3_autoexpand-3.2025-08-11_031853.zip | Bin 0 -> 51082 bytes ...4.0_autoexpand-1.4.0.2024-10-19_015216.zip | Bin 0 -> 14419 bytes ...epts_v1_autoexpand-1.2025-09-22_094818.zip | Bin 0 -> 27082 bytes ...odes_v1_autoexpand-1.2023-02-28_084421.zip | Bin 0 -> 2794 bytes .../orderfrequencies-core_demo.csv | 10 ++++ .../patientidentifiertypes.csv | 2 + .../personattributetypes_core-demo.csv | 3 ++ .../privileges/privileges_core-demo.csv | 39 +++++++++++++++ .../privileges/privileges_stockmanagement.csv | 18 +++++++ .../proceduretypes/proceduretypes.csv | 13 +++++ .../relationshiptypes-core_demo.csv | 8 ++++ .../roles/roles_core-demo.csv | 18 +++++++ .../roles/roles_stockmanagement.csv | 8 ++++ .../visittypes/visittypes-core_data.csv | 6 +++ .../frontend_configuration/config.json | 45 ++++++------------ 42 files changed, 397 insertions(+), 30 deletions(-) create mode 100644 configuration/backend_configuration/attributetypes/attribute_types-core_demo.csv create mode 100644 configuration/backend_configuration/autogenerationoptions/autogenerationoptions-core_demo.csv create mode 100644 configuration/backend_configuration/conceptreferencerange/bmireferenceranges.csv create mode 100644 configuration/backend_configuration/conceptreferencerange/vitalsreferenceranges.csv create mode 100644 configuration/backend_configuration/concepts/convsets.csv create mode 100644 configuration/backend_configuration/concepts/disable_false-core_demo.csv create mode 100644 configuration/backend_configuration/concepts/findings-core_demo.csv create mode 100644 configuration/backend_configuration/concepts/misc-core_data.csv create mode 100644 configuration/backend_configuration/concepts/questions_core-demo.csv create mode 100644 configuration/backend_configuration/dispositions/dispositionConfig.json create mode 100644 configuration/backend_configuration/encounterroles/encounterroles-core_demo.csv create mode 100644 configuration/backend_configuration/encountertypes/encountertypes_core-demo.csv create mode 100644 configuration/backend_configuration/globalproperties/drugorder-properties-core_data.xml create mode 100644 configuration/backend_configuration/globalproperties/fhir-properties.xml create mode 100644 configuration/backend_configuration/globalproperties/globalproperties-core.xml create mode 100644 configuration/backend_configuration/idgen/idgen_sequential-core_demo.csv create mode 100644 configuration/backend_configuration/jsonkeyvalues/encounterPrinting.json create mode 100644 configuration/backend_configuration/jsonkeyvalues/patientIdPreportConfig.json create mode 100644 configuration/backend_configuration/metadatasets/metadatasets-core_demo.csv create mode 100644 configuration/backend_configuration/metadatasharing/emrapi.Metadata_Source-1-core_demo.zip create mode 100644 configuration/backend_configuration/metadatatermmappings/metadatatermmappings-core_demo.csv create mode 100644 configuration/backend_configuration/ocl/openmrs_CDU_v6_autoexpand-6.2025-09-22_081056.zip create mode 100644 configuration/backend_configuration/ocl/openmrs_CIELAllergySet_v7_autoexpand-7.2025-08-11_004701.zip create mode 100644 configuration/backend_configuration/ocl/openmrs_CLF_v7_autoexpand-7.2025-08-11_002629.zip create mode 100644 configuration/backend_configuration/ocl/openmrs_DeathCause_v11_autoexpand-11.2025-11-19_070349.zip create mode 100644 configuration/backend_configuration/ocl/openmrs_DeathCause_v9_autoexpand-9.2025-10-27_160004.zip create mode 100644 configuration/backend_configuration/ocl/openmrs_DrugDispense_v3_autoexpand-3.2025-08-11_031853.zip create mode 100644 configuration/backend_configuration/ocl/openmrs_IPD-DEMO_v1.4.0_autoexpand-1.4.0.2024-10-19_015216.zip create mode 100644 configuration/backend_configuration/ocl/openmrs_StockManagementConcepts_v1_autoexpand-1.2025-09-22_094818.zip create mode 100644 configuration/backend_configuration/ocl/openmrs_VitalSignCodes_v1_autoexpand-1.2023-02-28_084421.zip create mode 100644 configuration/backend_configuration/orderfrequencies/orderfrequencies-core_demo.csv create mode 100644 configuration/backend_configuration/patientidentifiertypes/patientidentifiertypes.csv create mode 100644 configuration/backend_configuration/personattributetypes/personattributetypes_core-demo.csv create mode 100644 configuration/backend_configuration/privileges/privileges_core-demo.csv create mode 100644 configuration/backend_configuration/privileges/privileges_stockmanagement.csv create mode 100644 configuration/backend_configuration/proceduretypes/proceduretypes.csv create mode 100644 configuration/backend_configuration/relationshiptypes/relationshiptypes-core_demo.csv create mode 100644 configuration/backend_configuration/roles/roles_core-demo.csv create mode 100644 configuration/backend_configuration/roles/roles_stockmanagement.csv create mode 100644 configuration/backend_configuration/visittypes/visittypes-core_data.csv diff --git a/README.md b/README.md index 79080ed..73a0ca1 100644 --- a/README.md +++ b/README.md @@ -14,3 +14,28 @@ the O3 Login page requires that the "Login Location" tag be available (and assoc location), but locations vary by implementation and even site, so this package just contains the tag. Similarly, the Immunization feature requires the CIEL Immunization History concept set to structure obs so this is included but the list of immunizations should not be. + +## What's here + +The metadata O3 features reference directly, and that a site would not pick for itself: + +- **Identity** — the `OpenMRS ID` identifier type, its idgen sequential source and autogeneration option. +- **Encounters and visits** — encounter types, encounter roles and visit types. +- **Access control** — the `Privilege Level: Full`/`High` roles, the `Application: ...` roles that O3 checks, + and the module privileges they grant. +- **emrapi wiring** — the metadata source, metadata sets and the term mappings O3 resolves by code + (`emr.primaryIdentifierType`, `emr.admissionEncounterType`, `emr.clinicianEncounterRole`, ...). +- **ADT** — the dispositions, and the ADT concepts they resolve against. +- **Ordering** — order frequencies, dosing units and dispensing statuses, with the CIEL dictionaries backing them. +- **Vitals** — the vital sign concepts, the `Vital signs` convenience set and their reference ranges. +- **Also** — the allergy set, cause of death, stock management concepts, procedure types, relationship types, + person and visit attribute types, and the encounter print and ID sticker defaults. + +Anything a site supplies or replaces stays in the demo package: locations, programs, forms, service queues, +appointment services, the formulary, the lab and diagnosis catalogs, and the address hierarchy. + +### This package does not stand up an EMR on its own + +Following the boundary above, it ships no locations, so nothing carries the `Login Location` tag. A +distribution built from this package without the demo package has to supply at least one location tagged +`Login Location` and `Visit Location` before anyone can finish logging in. diff --git a/configuration/backend_configuration/attributetypes/attribute_types-core_demo.csv b/configuration/backend_configuration/attributetypes/attribute_types-core_demo.csv new file mode 100644 index 0000000..7729352 --- /dev/null +++ b/configuration/backend_configuration/attributetypes/attribute_types-core_demo.csv @@ -0,0 +1,7 @@ +Uuid,Void/Retire,Entity name,Name,Description,Min occurs,Max occurs,Datatype classname,Datatype config,Preferred handler classname,Handler config,_order:1000 +57ea0cbb-064f-4d09-8cf4-e8228700491c,,Visit,Punctuality,,0,1,org.openmrs.customdatatype.datatype.ConceptDatatype,d81d4698-e78c-420d-aac5-cb1f606fb32e,,, +aac48226-d143-4274-80e0-264db4e368ee,,Visit,Insurance Policy Number,,0,1,org.openmrs.customdatatype.datatype.FreeTextDatatype,,,, +3a988e33-a6c0-4b76-b924-01abb998944b,,Visit,Insurance Scheme,"The insurance scheme the patient is using to settle payment for services, expects a uuid",0,1,org.openmrs.customdatatype.datatype.FreeTextDatatype,,,, +8553afa0-bdb9-4d3c-8a98-05fa9350aa85,,Visit,Payment Method,"The payment method used by the patient to settle payment, expects a uuid",0,1,org.openmrs.customdatatype.datatype.FreeTextDatatype,,,, +fbc0702d-b4c9-4968-be63-af8ad3ad6239,,Visit,Patient Type,"If the patient will be paying or receives services for free, expects a uuid",0,1,org.openmrs.customdatatype.datatype.FreeTextDatatype,,,, +c0c579b0-8e59-401d-8a4a-976a0b183519,,Visit,Visit Queue Number,The visit queue number used to identify patients on the queue screen,0,1,org.openmrs.customdatatype.datatype.FreeTextDatatype,,,, \ No newline at end of file diff --git a/configuration/backend_configuration/autogenerationoptions/autogenerationoptions-core_demo.csv b/configuration/backend_configuration/autogenerationoptions/autogenerationoptions-core_demo.csv new file mode 100644 index 0000000..58b3303 --- /dev/null +++ b/configuration/backend_configuration/autogenerationoptions/autogenerationoptions-core_demo.csv @@ -0,0 +1,2 @@ +Uuid,Identifier Type,Location,Identifier Source,Manual Entry Enabled,Auto Generation Enabled,_order:2000 +2be74f07-a4a0-4bfc-a943-8555d0074a74,OpenMRS ID,,8549f706-7e85-4c1d-9424-217d50a2988b,false,true, \ No newline at end of file diff --git a/configuration/backend_configuration/conceptreferencerange/bmireferenceranges.csv b/configuration/backend_configuration/conceptreferencerange/bmireferenceranges.csv new file mode 100644 index 0000000..42f6233 --- /dev/null +++ b/configuration/backend_configuration/conceptreferencerange/bmireferenceranges.csv @@ -0,0 +1,7 @@ +Uuid,Concept Numeric uuid,Label,Absolute Low,Critical Low,Normal Low,Normal High,Critical High,Absolute High,Criteria +33071c46-8c74-48f1-98f6-90120edea0a5,1342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,Children and Infant (0 - 5 yrs) Male,0,13,13.8,17.3,18,100,"$patient.getAge() >= 0 && $patient.getAge() < 5 && $patient.getGender() == ""M""" +a698d9be-03a7-448c-b4e6-f691b1f33a2c,1342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,Children and Infant (0 - 5 yrs) Female,0,12.7,13.3,17.1,17.8,100,"$patient.getAge() >= 0 && $patient.getAge() < 5 && $patient.getGender() == ""F""" +377a0756-c764-4b1a-94b9-1cc4e253f5a6,1342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,Children and Teen (5 - 19 yrs) Male,0,13.3,13.7,18.5,19.3,100,"$patient.getAge() >= 5 && $patient.getAge() < 20 && $patient.getGender() == ""M""" +c117a7c3-995b-438d-8f30-c4aa9d4d68a1,1342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,Children and Teen (5 - 19 yrs) Female,0,13.1,13.5,19,20,100,"$patient.getAge() >= 5 && $patient.getAge() < 20 && $patient.getGender() == ""F""" +581410dc-73d2-4f42-9b0f-a8b2fa58a3e7,1342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,Adult ≥20 Male,0,16,18.5,24.9,30,100,"$patient.getAge() >= 20 && $patient.getGender() == ""M""" +91324064-33c4-416f-94df-cf566276a9fb,1342AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,Adult ≥20 Female,0,16,18.5,24.9,30,100,"$patient.getAge() >= 20 && $patient.getGender() == ""F""" diff --git a/configuration/backend_configuration/conceptreferencerange/vitalsreferenceranges.csv b/configuration/backend_configuration/conceptreferencerange/vitalsreferenceranges.csv new file mode 100644 index 0000000..ae20b05 --- /dev/null +++ b/configuration/backend_configuration/conceptreferencerange/vitalsreferenceranges.csv @@ -0,0 +1,44 @@ +Uuid,Concept Numeric uuid,Label,Absolute low,Critical low,Normal low,Normal high,Critical high,Absolute high,Criteria +8cd6fe9d-058f-47a3-955f-a7db4885df84,5087AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,Pulse Newborn 0 - <3 mo,0,107,120,160,181,230,$patient.getAgeInMonths() < 3 +85c0b9ff-dff5-4858-91b3-29c539be68ab,5087AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,Pulse Infant 3 - <6 mo,0,104,120,160,175,230,$patient.getAgeInMonths() >= 3 && $patient.getAgeInMonths() < 6 +f8f0aca7-e143-4556-9cac-a1f161f04fe9,5087AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,Pulse Infant 6 - <9 mo,0,98,114,152,168,230,$patient.getAgeInMonths() >= 6 && $patient.getAgeInMonths() < 9 +4b7d0f61-cd4e-4873-94e2-7fe7e69dfb96,5087AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,Pulse Infant 9 - <12 mo,0,93,109,145,161,230,$patient.getAgeInMonths() >= 9 && $patient.getAgeInMonths() < 12 +d44723a5-a314-4cfa-9b81-5ab6ec916f69,5087AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,Pulse Toddler 12 - <18 mo,0,88,103,140,156,230,$patient.getAgeInMonths() >= 12 && $patient.getAgeInMonths() < 18 +52b1030b-4485-4a46-aec7-db5b53be510c,5087AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,Pulse Toddler 18mo - 2yrs,0,82,98,135,149,230,$patient.getAgeInMonths() >= 18 && $patient.getAge() < 2 +10a492ec-4760-4893-ac84-8872c62f49fc,5087AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,Pulse Toddler 2 - <3yrs,0,76,92,128,142,230,$patient.getAge() >= 2 && $patient.getAge() < 3 +a0172663-362d-4a63-b5c2-52e84109c839,5087AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,Pulse Preschool 3 - <4yrs,0,70,86,123,136,230,$patient.getAge() >= 3 && $patient.getAge() < 4 +2ea47a0e-afc8-4e04-aa8c-b63726fb7d18,5087AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,Pulse Preschool 4 - <6 yrs,0,65,81,117,131,230,$patient.getAge() >= 4 && $patient.getAge() < 6 +5201349f-c131-4efe-96eb-bc72ceddcdd2,5087AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,Pulse School-age 6 - <8,0,59,74,111,123,230,$patient.getAge() >= 6 && $patient.getAge() < 8 +5607ab88-b7f0-498c-b92e-be12ebbf8e7d,5087AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,Pulse School-age 8 - <12,0,52,67,103,115,230,$patient.getAge() >= 8 && $patient.getAge() < 12 +e02fb235-0eb3-4c1b-a8e5-d9e33d58816c,5087AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,Pulse Adolescent 12 - <18,0,47,62,96,108,230,$patient.getAge() >= 12 && $patient.getAge() < 18 +9f5c3fde-96cb-4980-8c3d-2b352b6d4353,5087AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,Pulse Adult,0,45,60,100,110,230,$patient.getAge() >= 18 +0900fa96-5ba1-433d-8321-a66f62c4785a,5242AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,Resp Rate Newborn 0-<3mo,0,25,30,57,66,99,$patient.getAgeInMonths() < 3 +c45a5739-7f50-4a22-83b7-98dbedd25199,5242AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,Resp Rate Infant 3-<6mo,0,24,33,55,64,99,$patient.getAgeInMonths() >= 3 && $patient.getAgeInMonths() < 6 +9662591e-bce9-4c44-b8b4-74e37151a110,5242AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,Resp Rate Infant 6-<9mo,0,23,31,52,61,99,$patient.getAgeInMonths() >= 6 && $patient.getAgeInMonths() < 9 +97cc9569-999e-47b1-b666-a627c9a88a71,5242AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,Resp Rate Infant 9-<12mo,0,22,30,50,58,99,$patient.getAgeInMonths() >= 9 && $patient.getAgeInMonths() < 12 +7a2a2c8a-a32f-4f32-915f-ff6ca95ac1ce,5242AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,Resp Rate Toddler 12mo-<18mo,0,21,28,46,53,99,$patient.getAgeInMonths() >= 12 && $patient.getAgeInMonths() < 18 +797f1119-b2e9-409e-b93c-9a12c065d719,5242AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,Resp Rate Toddler 18mo-<2yrs,0,19,25,40,46,99,$patient.getAgeInMonths() >= 18 && $patient.getAge() < 2 +f586ceab-5eb7-437c-a3b1-11b853aa3548,5242AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,Resp Rate Toddler 2-<3yrs,0,18,22,34,38,99,$patient.getAge() >= 2 && $patient.getAge() < 3 +52655b16-b146-49cf-829e-66b4dfb01b46,5242AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,Resp Rate Preschool 3-<4yrs,0,17,21,29,33,99,$patient.getAge() >= 3 && $patient.getAge() < 4 +1040a4bb-0477-4c83-8501-03ca00935c47,5242AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,Resp Rate Preschool 4-<6yrs,0,17,20,27,29,99,$patient.getAge() >= 4 && $patient.getAge() < 6 +f4c2266a-9d1e-4a66-88ad-d1a4341edfde,5242AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,Resp Rate School-age 6-<8yrs,0,16,18,24,27,99,$patient.getAge() >= 6 && $patient.getAge() < 8 +1507f748-b69a-4999-83e9-3ce934916036,5242AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,Resp Rate School-age 8-<12,0,14,16,22,25,99,$patient.getAge() >= 8 && $patient.getAge() < 12 +b181ff1c-97a8-46fc-a1c0-be2fddad6177,5242AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,Resp Rate Adolescent 12-<15,0,12,15,21,23,99,$patient.getAge() >= 12 && $patient.getAge() < 15 +9e775795-d0b0-40f0-b299-fa8628b15727,5242AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,Resp Rate Adolescent 15-18,0,11,13,19,22,99,$patient.getAge() >= 15 && $patient.getAge() < 18 +ed481c0c-9cd8-426a-899a-17735ae505a4,5242AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,Resp Rate Adult,0,10,12,18,24,99,$patient.getAge() >= 18 +e2f1a2ea-5609-4a32-8f35-a11d2c7f3cea,5085AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,BP Systolic Newborn,0,35,60,90,100,250,$patient.getAgeInMonths() < 1 +5198bf3a-f3c9-4d8a-9e57-211e27c1c656,5085AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,BP Systolic Infant,0,40,70,105,120,250,$patient.getAgeInMonths() >= 1 && $patient.getAgeInMonths() < 12 +2d9e411e-3a27-4dc4-a448-31e6f49bb813,5085AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,BP Systolic Toddler,0,50,86,107,130,250,$patient.getAge() >= 1 && $patient.getAge() < 3 +78af055a-9338-4f87-8c74-0ac7f37b537e,5085AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,BP Systolic Preschool,0,50,90,110,140,250,$patient.getAge() >= 3 && $patient.getAge() < 6 +9b499848-1e9f-4288-b913-4a94ad09e465,5085AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,BP Systolic School-age,0,55,90,120,150,250,$patient.getAge() >= 6 && $patient.getAge() < 13 +a8761839-4d27-41f2-8015-31fd7fd68366,5085AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,BP Systolic Adolescent,0,60,102,120,160,250,$patient.getAge() >= 13 && $patient.getAge() < 19 +3d373e4c-5ec1-46b8-b230-d5dece83a799,5085AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,BP Systolic Adult,0,90,100,120,180,250,$patient.getAge() >= 19 +9d206eeb-4c24-4e59-a97e-3347c7f5be8e,5086AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,BP Diastolic Newborn,0,15,20,60,80,150,$patient.getAgeInMonths() < 1 +41a38b5c-cddd-4683-8654-abee452a7ef6,5086AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,BP Diastolic Infant,0,20,41,65,85,150,$patient.getAgeInMonths() >= 1 && $patient.getAgeInMonths() < 12 +f2b99624-50c9-4035-a18e-f5b1ca8a55a3,5086AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,BP Diastolic Toddler,0,30,41,78,90,150,$patient.getAge() >= 1 && $patient.getAge() < 3 +d9cb813f-86a6-4985-a86f-dcb63cab998e,5086AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,BP Diastolic Preschool,0,30,47,75,95,150,$patient.getAge() >= 3 && $patient.getAge() < 6 +0c14b569-3820-4ea4-9871-4a8ec0ef09d9,5086AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,BP Diastolic School-age,0,35,59,80,100,150,$patient.getAge() >= 6 && $patient.getAge() < 13 +d3ae4776-018b-45ef-96dc-0e460329eeac,5086AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,BP Diastolic Adolescent,0,30,64,80,105,150,$patient.getAge() >= 13 && $patient.getAge() < 19 +352106b0-400f-4125-bb4d-1c32e52342ef,5086AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,BP Diastolic Adult,0,50,60,80,110,150,$patient.getAge() >= 19 +c796a038-c309-4142-bf70-655c51d4121b,5088AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,Temp Celsius <3mos,25,35,36,37.7,38.1,47,$patient.getAgeInMonths() < 3 +13a9cfe1-b3ea-49d0-b97a-db99d9cbcb80,5088AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,Temp Celsius >3mos,25,35,36,37.7,38,47,$patient.getAgeInMonths() >= 3 diff --git a/configuration/backend_configuration/concepts/convsets.csv b/configuration/backend_configuration/concepts/convsets.csv new file mode 100644 index 0000000..3d4fb10 --- /dev/null +++ b/configuration/backend_configuration/concepts/convsets.csv @@ -0,0 +1,2 @@ +Uuid,Void/Retire,Same as mappings,Fully specified name:en,Fully specified name:fr,Short name:en,Short name:fr,Description:en,Description:fr,Data class,Data type,Answers,Members,_version:1,_order:1001 +1114AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,,CIEL:1114;AMPATH:1114;PIH:1335,Vital signs,Signes vitaux,Vital Signs,Signes vitaux,Convenience set. Listing of vital signs.,,ConvSet,N/A,,5085AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA;5086AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA;5088AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA;5090AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA;5089AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA;5087AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA;5092AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA;1343AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA;5242AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA;5283AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,, diff --git a/configuration/backend_configuration/concepts/disable_false-core_demo.csv b/configuration/backend_configuration/concepts/disable_false-core_demo.csv new file mode 100644 index 0000000..9d3619d --- /dev/null +++ b/configuration/backend_configuration/concepts/disable_false-core_demo.csv @@ -0,0 +1,2 @@ +Uuid,Void/Retire,Same as mappings,Fully specified name:en,Fully specified name:fr,Fully specified name:es,Short name:en,Short name:fr,Short name:es,Description:en,Description:fr,Description:es,Data class,Data type,_version:1,_order:500 +488b58ff-64f5-4f8a-8979-fa79940b1594,true,,False,Faux,Falso,,,,,,,Misc,N/A,, diff --git a/configuration/backend_configuration/concepts/findings-core_demo.csv b/configuration/backend_configuration/concepts/findings-core_demo.csv new file mode 100644 index 0000000..0460012 --- /dev/null +++ b/configuration/backend_configuration/concepts/findings-core_demo.csv @@ -0,0 +1,11 @@ +Uuid,Void/Retire,Same as mappings,Fully specified name:en,Fully specified name:fr,Short name:en,Short name:fr,Description:en,Description:fr,Data class,Data type,Absolute low,Critical low,Normal low,Normal high,Critical high,Absolute high,Units,Allow decimals,Display precision,_version:1,_order:1000 +5085AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,,CIEL:5085;PIH:5085;AMPATH:5085;SNOMED CT:271649006,Systolic blood pressure,Tension arterielle systolique,SBP,,A patient's systolic blood pressure measurement (taken with a manual cuff in either a sitting or standing position),,Finding,Numeric,0,85,100,140,180,250,mmHg,No,,, +5086AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,,CIEL:5086;PIH:5086;AMPATH:5086;SNOMED CT:271650006;LOINC:35094-2,Diastolic blood pressure,Tension arterielle diastolique,DBP,,A patient's diastolic blood pressure measurement (taken with a manual cuff in either a sitting or standing position),,Finding,Numeric,0,40,55,90,120,150,mmHg,No,,, +5088AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,,CIEL:5088;PIH:5088;AMPATH:5088,Temperature (c),Température (c),Temp (c),,Patient's temperature in degrees centigrade.,,Finding,Numeric,25,,35,37.7,39,43,DEG C,Yes,,, +5090AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,,CIEL:5090;PIH:5090;AMPATH:5090,Height (cm),Taille (cm),HT,,Patient's height in centimeters.,,Finding,Numeric,10,,,,,272,cm,Yes,,, +5089AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,,CIEL:5089;PIH:5089;AMPATH:5089,Weight (kg),Poids (kg),WT,,Patient's weight in kilograms.,,Finding,Numeric,0,,,,,250,kg,Yes,,, +5087AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,,CIEL:5087;PIH:5087;AMPATH:5087;SNOMED CT:78564009,Pulse,Pouls,HR,,"Patient pulse rate, as measured with a peripheral oximeter.",,Finding,Numeric,0,49,55,100,130,230,beats/min,No,,, +1343AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,,CIEL:1343;PIH:1290;AMPATH:1343;SNOMED CT:284473002,Mid-upper arm circumference,Circonférence du haut du bras,MUAC,,"MUAC is the circumference of the left upper arm, measured at the mid-point between the tip of the shoulder and the tip of the elbow. MUAC is useful for the assessment of nutritional status.",,Finding,Numeric,,,,,,,cm,Yes,,, +5242AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,,CIEL:5242;PIH:5242;AMPATH:5242;SNOMED CT:86290005,Respiratory rate,Rythme respiratoire,RR,,Measured respiratory rate in breaths per minute,Frequence respiratoire,Finding,Numeric,0,8,12,18,26,999,breaths/min,No,,, +5283AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,,CIEL:5283;AMPATH:5283,Karnofsky performance score,,KPS,,"Zero to 100 scale commonly used for assessing terminally ill patients.",,Finding,Numeric,,,,,,,%,,0,, +5092AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,,CIEL:5092;AMPATH:5092;SNOMED CT:431314004,Arterial blood oxygen saturation (pulse oximeter),Saturation d'oxygène dans le sang,SpO2,,"Oxygen saturation, as measured from a peripheral oximeter.",,Finding,Numeric,0,90,95,,,100,%,Yes,,,, diff --git a/configuration/backend_configuration/concepts/misc-core_data.csv b/configuration/backend_configuration/concepts/misc-core_data.csv new file mode 100644 index 0000000..076fbac --- /dev/null +++ b/configuration/backend_configuration/concepts/misc-core_data.csv @@ -0,0 +1,6 @@ +Uuid,Void/Retire,Same as mappings,Fully specified name:en,Fully specified name:fr,Fully specified name:es,Short name:en,Short name:fr,Short name:es,Description:en,Description:fr,Description:es,Data class,Data type,Answers,_version:1,_order:1000 +1067AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,,CIEL:1067;PIH:1067;AMPATH:1067;SNOMED CT:261665006,Unknown,Ne sait pas,Desconocido,,,,Generic answer to a question.,,,Misc,N/A,,, +66cdc0a1-aa19-4676-af51-80f66d78d9eb,,,On time,À temps,On time,À temps,,,,,,Misc,N/A,,, +90af4b72-442a-4fcc-84c2-2bb1c0361737,,,Late,En retard,Late,En retard,,,,,,Misc,N/A,,, +5c3ce9c9-75bd-4730-8878-08c03ec02e9d,,,Early,Tôt,Early,Tôt,,,,,,Misc,N/A,,, +d81d4698-e78c-420d-aac5-cb1f606fb32e,,,Visit Punctuality,Visite Ponctualité,Visit Punctuality,Visite Ponctualité,,,,,,Question,Coded,On time;Late;Early,, diff --git a/configuration/backend_configuration/concepts/questions_core-demo.csv b/configuration/backend_configuration/concepts/questions_core-demo.csv new file mode 100644 index 0000000..f46f455 --- /dev/null +++ b/configuration/backend_configuration/concepts/questions_core-demo.csv @@ -0,0 +1,3 @@ +Uuid,Void/Retire,Same as mappings,Fully specified name:en,Fully specified name:fr,Fully specified name:es,Short name:en,Short name:fr,Short name:es,Description:en,Description:fr,Description:es,Data class,Data type,_version:1,_order:1000 +165095AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,,CIEL:165095,General patient note,,,,,,A general patient note,,,Question,Text,, +162169AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,,CIEL:162169,Text of encounter note,,,,,,Free text note field intended to capture unstructured description of the patient encounter,,,Question,Text,, diff --git a/configuration/backend_configuration/dispositions/dispositionConfig.json b/configuration/backend_configuration/dispositions/dispositionConfig.json new file mode 100644 index 0000000..c36d873 --- /dev/null +++ b/configuration/backend_configuration/dispositions/dispositionConfig.json @@ -0,0 +1,26 @@ +[ + { + "uuid": "66de7f60-b73a-11e2-9e96-0800200c9a66", + "name": "disposition.admit", + "type": "ADMIT", + "conceptCode": "CIEL:168619", + "actions": [], + "additionalObs": [] + }, + { + "uuid": "8297651b-4046-11ef-ba6a-0242ac120002", + "name": "disposition.transfer", + "type": "TRANSFER", + "conceptCode": "CIEL:167731", + "actions": [], + "additionalObs": [] + }, + { + "uuid": "12129630-b698-11e2-9e96-0800200c9a66", + "name": "disposition.discharge", + "type": "DISCHARGE", + "conceptCode": "CIEL:169401", + "actions": [], + "additionalObs": [] + } +] diff --git a/configuration/backend_configuration/encounterroles/encounterroles-core_demo.csv b/configuration/backend_configuration/encounterroles/encounterroles-core_demo.csv new file mode 100644 index 0000000..f284e4c --- /dev/null +++ b/configuration/backend_configuration/encounterroles/encounterroles-core_demo.csv @@ -0,0 +1,3 @@ +Uuid,Void/Retire,Name,Description +a0b03050-c99b-11e0-9572-0800200c9a66,,Unknown,Unknown encounter role for legacy providers with no encounter role set +240b26f9-dd88-4172-823d-4a8bfeb7841f,,Clinician,"Doctor or Nurse who is the primary provider for an encounter, and will sign the note" \ No newline at end of file diff --git a/configuration/backend_configuration/encountertypes/encountertypes_core-demo.csv b/configuration/backend_configuration/encountertypes/encountertypes_core-demo.csv new file mode 100644 index 0000000..ac0bfad --- /dev/null +++ b/configuration/backend_configuration/encountertypes/encountertypes_core-demo.csv @@ -0,0 +1,20 @@ +Uuid,Void/Retire,Name,Description,View privilege,Edit privilege,_order:1000 +0e8230ce-bd1d-43f5-a863-cf44344fa4b0,,Adult Visit,Encounter for adult visit form,,,, +dd528487-82a5-4082-9c72-ed246bd49591,,Consultation,Consultation encounter,,,, +ca3aed11-1aa4-42a1-b85c-8332fc8001fc,,Check In,Indicates the patient has done the required paperwork and check-in to begin a visit to the clinic/hospital.,,, +67a71486-1a54-468f-ac3e-7091a9a79584,,Vitals,For capturing vital signs,,, +e22e39fd-7db2-45e7-80f1-60fa0d5a4378,,Admission,"Indicates that the patient has been admitted for inpatient care, and is not expected to leave the hospital unless discharged.",,, +181820aa-88c9-479b-9077-af92f5364329,,Discharge,"Indicates that a patient's inpatient care at the hospital is ending, and they are expected to leave soon.",,, +d7151f82-c1f3-4152-a605-2f9ea7414a79,,Visit Note,"Encounter where a full or abbreviated examination is done, usually leading to a presumptive or confirmed diagnosis, recorded by the examining clinician.",,, +25a042b2-60bc-4940-a909-debd098b7d82,,Check Out,The patient is explicitly leaving the hospital/clinic. (Usually no formal encounter is captured for this.),,, +7b68d557-85ef-4fc8-b767-4fa4f5eb5c23,,Intra-Hospital Transfer,Indicates that a patient is being transferred into a different department within the hospital. (Transfers out of the hospital should not use this encounter type.),,, +5021b1a1-e7f6-44b4-ba02-da2f2bcf8718,,Attachment Upload,Encounters used to record uploads of attachments.,,, +3596fafb-6f6f-4396-8c87-6e63a0f1bd71,,Lab Results,Encounter for capturing lab results,,, +39da3525-afe4-45ff-8977-c53b7b359158,,Order,Encounter for capturing orders,,, +29c02aff-9a93-46c9-bf6f-48b552fcb1fa,,Immunizations,Encounter for capturing immunizations,,, +36db5123-0ad5-41c0-9037-625b46e0ceef,,Mental Health Assessment,Mental Health Assessment,,, +d3b07384-8d1c-4e6b-9b8e-2f3b8e4a1c9f,,Transfer,Indicates that a patient is being transferred into a different department within the hospital. (Transfers out of the hospital should not use this encounter type.),,, +a1f5c3d2-4b6e-4e8a-9f2d-1b3e8e4a2d7f,,Inpatient Note,A short free-text note written by a clinician about an inpatient during their stay,,, +b2c4d5e6-7f8a-4e9b-8c1d-2e3f8e4a3b8f,,Transfer Request,A stand-alone encounter type for a transfer request not part of a larger note,,, +f47ac10b-58cc-4372-a567-0e02b2c3d479,,Bed Assignment,Assigning a new bed to a patient without admitting or transferring them,,, +550e8400-e29b-41d4-a716-446655440000,,Cancel ADT,An encounter that notes that a request to admit/transfer/discharge a patient is being overridden,,, \ No newline at end of file diff --git a/configuration/backend_configuration/globalproperties/drugorder-properties-core_data.xml b/configuration/backend_configuration/globalproperties/drugorder-properties-core_data.xml new file mode 100644 index 0000000..0b87f50 --- /dev/null +++ b/configuration/backend_configuration/globalproperties/drugorder-properties-core_data.xml @@ -0,0 +1,20 @@ + + + + order.drugDosingUnitsConceptUuid + 162384AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + order.drugRoutesConceptUuid + 162394AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + order.drugDispensingUnitsConceptUuid + 162402AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + order.durationUnitsConceptUuid + 1732AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + + + + diff --git a/configuration/backend_configuration/globalproperties/fhir-properties.xml b/configuration/backend_configuration/globalproperties/fhir-properties.xml new file mode 100644 index 0000000..4bba764 --- /dev/null +++ b/configuration/backend_configuration/globalproperties/fhir-properties.xml @@ -0,0 +1,8 @@ + + + + fhir2.administeringEncounterRoleUuid + 240b26f9-dd88-4172-823d-4a8bfeb7841f + + + \ No newline at end of file diff --git a/configuration/backend_configuration/globalproperties/globalproperties-core.xml b/configuration/backend_configuration/globalproperties/globalproperties-core.xml new file mode 100644 index 0000000..3f94d1e --- /dev/null +++ b/configuration/backend_configuration/globalproperties/globalproperties-core.xml @@ -0,0 +1,20 @@ + + + + + queue.sortWeightGenerator + basicPrioritySortWeightGenerator + + + + + concept.causeOfDeath + 9272a14b-7260-4353-9e5b-5787b5dead9d + + + + attachments.allowedFileExtensions + jpeg,jpg,png,pdf + + + diff --git a/configuration/backend_configuration/idgen/idgen_sequential-core_demo.csv b/configuration/backend_configuration/idgen/idgen_sequential-core_demo.csv new file mode 100644 index 0000000..7dac18a --- /dev/null +++ b/configuration/backend_configuration/idgen/idgen_sequential-core_demo.csv @@ -0,0 +1,2 @@ +Uuid,Void/Retire,Identifier type,Name,Description,Prefix,Suffix,First identifier base,Min length,Max length,Base character set,_version:1,_order:6000 +8549f706-7e85-4c1d-9424-217d50a2988b,,OpenMRS ID,Generator for OpenMRS ID,Generator for OpenMRS ID,,,100000,7,7,0123456789ACDEFGHJKLMNPRTUVWXY,, \ No newline at end of file diff --git a/configuration/backend_configuration/jsonkeyvalues/encounterPrinting.json b/configuration/backend_configuration/jsonkeyvalues/encounterPrinting.json new file mode 100644 index 0000000..e8398d6 --- /dev/null +++ b/configuration/backend_configuration/jsonkeyvalues/encounterPrinting.json @@ -0,0 +1,18 @@ +{ + "report.encounterPrinting.header.patientName": "true", + "report.encounterPrinting.header.location": "true", + "report.encounterPrinting.header.formName": "false", + "report.encounterPrinting.header.encounterDate": "true", + "report.encounterPrinting.header.visitStartDate": "false", + "report.encounterPrinting.header.visitEndDate": "false", + "report.encounterPrinting.header.visitType": "false", + "report.encounterPrinting.header.patientIdentifiers": "true", + "report.encounterPrinting.header.patientIdentifierTypes": "OpenMRS ID", + "report.encounterPrinting.header.personAttributes": "false", + "report.encounterPrinting.header.personAttributeTypes": "", + "report.encounterPrinting.header.visitAttributes": "false", + "report.encounterPrinting.header.visitAttributeTypes": "", + "report.encounterPrinting.footer.customText": "", + "report.encounterPrinting.stylesheetPath": "printing/defaultEncounterFormFopStylesheet.xsl", + "report.encounterPrinting.logopath": "" +} diff --git a/configuration/backend_configuration/jsonkeyvalues/patientIdPreportConfig.json b/configuration/backend_configuration/jsonkeyvalues/patientIdPreportConfig.json new file mode 100644 index 0000000..0727dc6 --- /dev/null +++ b/configuration/backend_configuration/jsonkeyvalues/patientIdPreportConfig.json @@ -0,0 +1,17 @@ +{ + "report.patientIdSticker.fields.identifier": "true", + "report.patientIdSticker.fields.name": "true", + "report.patientIdSticker.fields.dob": "true", + "report.patientIdSticker.fields.age": "true", + "report.patientIdSticker.fields.gender": "true", + "report.patientIdSticker.fields.fulladdress": "true", + "report.patientIdSticker.fields.label.font.size": "2", + "report.patientIdSticker.fields.label.value.font.size": "4", + "report.patientIdSticker.fields.label.gap": "1mm", + "report.patientIdSticker.stylesheet": "patientIdStickerFopStylesheet.xsl", + "report.patientIdSticker.barcode": "true", + "report.patientIdSticker.pages": "1", + "report.patientIdSticker.size.height": "50mm", + "report.patientIdSticker.size.width": "70mm", + "report.patientIdSticker.header": "true" +} diff --git a/configuration/backend_configuration/metadatasets/metadatasets-core_demo.csv b/configuration/backend_configuration/metadatasets/metadatasets-core_demo.csv new file mode 100644 index 0000000..1dcca12 --- /dev/null +++ b/configuration/backend_configuration/metadatasets/metadatasets-core_demo.csv @@ -0,0 +1,2 @@ +Uuid,Void/Retire,Name,Description,_order:1000 +f0ebcb99-7618-41b7-b0bf-8ff93de67b9e,,Extra Patient Identifiers Set,A set of extra patient identifiers, \ No newline at end of file diff --git a/configuration/backend_configuration/metadatasharing/emrapi.Metadata_Source-1-core_demo.zip b/configuration/backend_configuration/metadatasharing/emrapi.Metadata_Source-1-core_demo.zip new file mode 100644 index 0000000000000000000000000000000000000000..481c66417ca1329978cf3677576931f7ac0bc126 GIT binary patch literal 1167 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