From a797cef304f703663e0bae6597653aa99fa2ea0a Mon Sep 17 00:00:00 2001 From: rmrlangford Date: Tue, 30 Jan 2024 15:54:00 +0200 Subject: [PATCH] updated --- input/fsh/conceptmaps/client-registration.fsh | 25 +++++++++++++++++++ input/fsh/examples.fsh | 18 +++++++++++++ input/fsh/extensions.fsh | 17 +++++++++++++ input/fsh/rulesets/client-registration.fsh | 6 +++++ input/fsh/{profiles.fsh => smartcare.fsh} | 24 ++++++++---------- input/fsh/terminology.fsh | 2 ++ sushi-config.yaml | 10 ++++---- 7 files changed, 83 insertions(+), 19 deletions(-) create mode 100644 input/fsh/conceptmaps/client-registration.fsh create mode 100644 input/fsh/extensions.fsh create mode 100644 input/fsh/rulesets/client-registration.fsh rename input/fsh/{profiles.fsh => smartcare.fsh} (74%) diff --git a/input/fsh/conceptmaps/client-registration.fsh b/input/fsh/conceptmaps/client-registration.fsh new file mode 100644 index 000000000..af1ddc328 --- /dev/null +++ b/input/fsh/conceptmaps/client-registration.fsh @@ -0,0 +1,25 @@ +Instance: AdministrativeSexToAdministrativeGender +InstanceOf: ConceptMap +Title: "Administrative Sex To Administrative Gender" +Description: "Mapping to and from FHIR Administrative Sex coding to FHIR Administrative Gender." +Usage: #definition + +* name = "AdministrativeSexToAdministrativeGender" +* description = "Mapping to and from FHIR Administrative Sex coding to FHIR Administrative Gender." +* title = "ConceptMap to and From administrative sex to administrative gender" +* status = #active +* experimental = false +* date = "2024-01-30" + +* group[+] + * source = $SEX + * target = $GENDER + * insert ElementMap(M, male, equivalent) + * insert ElementMap(F, female, equivalent) + +* group[+] + * source = $GENDER + * target = $SEX + * insert ElementMap(male, M, equivalent) + * insert ElementMap(female, F, equivalent) + * element[=].target[=].comment = "The source concept is more specific than the target" \ No newline at end of file diff --git a/input/fsh/examples.fsh b/input/fsh/examples.fsh index e69de29bb..cb0330814 100644 --- a/input/fsh/examples.fsh +++ b/input/fsh/examples.fsh @@ -0,0 +1,18 @@ +Instance: HImmunizationPatientExample +InstanceOf: ImmunizationPatient +Usage: #example +Title: "Immunization Patient" +Description: "Is used to document demographics and other administrative information about an individual receiving care or other health-related services." +* identifier[NUPIN][+].value = "12-999-22-2338" +* identifier[NUPIN][=].system = "http://openhie.org/fhir/zambia-immunizations/identifier/nupin" +* identifier[NRC][+].value = "12-999-22-2338" +* identifier[NRC][=].system = "http://openhie.org/fhir/zambia-immunizations/identifier/nrc" +* name[+].use = #official +* name[=].family = "Smith" +* name[=].given[+] = "Jane" +* name[=].given[+] = "Maria" +* gender = #female +* birthDate = "1990-12-12" +* birthDate.extension[birthTime].valueDateTime = "1983-05-22T16:40:17+02:00" +* extension[BIZ].valueBoolean = true +* extension[IsEstimatedDOB].valueBoolean = false \ No newline at end of file diff --git a/input/fsh/extensions.fsh b/input/fsh/extensions.fsh new file mode 100644 index 000000000..1496322fd --- /dev/null +++ b/input/fsh/extensions.fsh @@ -0,0 +1,17 @@ +Extension: BornInZambia +Id: born-in-zambia +Title: "Patient born in Zambia?" +Description: "This is an extension to capture whether the patient was born in Zambia." +* value[x] only boolean +* value[x] 1.. +* ^context[+].type = #element +* ^context[=].expression = "Patient" + +Extension: IsEstimatedDateOfBirth +Id: is-estimated-date-of-birth +Title: "Patient's Date of Birth Is Estimated?" +Description: "This is an extension to capture whether the patient's date of birth was estimated." +* value[x] only boolean +* value[x] 1.. +* ^context[+].type = #element +* ^context[=].expression = "Patient" \ No newline at end of file diff --git a/input/fsh/rulesets/client-registration.fsh b/input/fsh/rulesets/client-registration.fsh new file mode 100644 index 000000000..5f64be7e3 --- /dev/null +++ b/input/fsh/rulesets/client-registration.fsh @@ -0,0 +1,6 @@ +RuleSet: ElementMap(source, target, equivalence) +* element[+] + * code = #{source} + * target[+] + * code = #{target} + * relationship = #{equivalence} diff --git a/input/fsh/profiles.fsh b/input/fsh/smartcare.fsh similarity index 74% rename from input/fsh/profiles.fsh rename to input/fsh/smartcare.fsh index 93d541e25..a1a65d6a6 100644 --- a/input/fsh/profiles.fsh +++ b/input/fsh/smartcare.fsh @@ -31,21 +31,17 @@ Description: "Is used to document demographics and other administrative informat * identifier[NRC].system = "http://openhie.org/fhir/zambia-immunizations/identifier/nrc" * name 1..* - * name.given 1..* -* name.given ^slicing.discriminator.type = #exists -* name.given ^slicing.discriminator.path = "value" -* name.given ^slicing.rules = #open -* name.given ^slicing.ordered = false -* name.given ^slicing.description = "Slice based on the type of name." -* name.given contains - firstName 1..1 and - middleName 0..1 MS +* name.family 1..1 +* name.use 1..1 -* name.given[firstName].value 1..1 -* name.given[middleName].value 1..1 -* name.given[middleName].value ^definition = +* gender 1..1 +* birthDate 1..1 +* birthDate.extension contains patient-birthTime named birthTime 0..1 MS +* birthDate.extension[birthTime] ^definition = "reason(s) why this should be supported." -* name.family 1..1 -* name.use 1..1 \ No newline at end of file +* extension contains BornInZambia named BIZ 1..1 +* extension contains IsEstimatedDateOfBirth named IsEstimatedDOB 0..1 MS +* extension[ISEstimatedDOB] ^definition = + "reason(s) why this should be supported." \ No newline at end of file diff --git a/input/fsh/terminology.fsh b/input/fsh/terminology.fsh index e69de29bb..a0919b11b 100644 --- a/input/fsh/terminology.fsh +++ b/input/fsh/terminology.fsh @@ -0,0 +1,2 @@ +Alias: $GENDER = http://hl7.org/fhir/administrative-gender +Alias: $SEX = http://terminology.hl7.org/CodeSystem/v2-0001 \ No newline at end of file diff --git a/sushi-config.yaml b/sushi-config.yaml index 564105de1..426e6a084 100644 --- a/sushi-config.yaml +++ b/sushi-config.yaml @@ -37,16 +37,16 @@ releaseLabel: STU1 # as IG.publisher. The contact details and/or additional publishers # will be translated into IG.contact values. publisher: - name: My Organization - url: http://example.com/committees - email: my-group@example.com + name: Jembi Health Systems + url: https://www.jembi.org + email: info@jembi.org # ContactDetail is required by the template. contact: - - name: Bob Smith + - name: Richard Langford telecom: - system: email - value: bobsmith@example.com + value: richard.langford@jembi.org use: work # The jurisdiction can be a single item or a list. The FHIR Shorthand