Skip to content

Commit

Permalink
updated
Browse files Browse the repository at this point in the history
  • Loading branch information
rmrlangford committed Feb 18, 2024
1 parent 5ab649c commit ec48857
Show file tree
Hide file tree
Showing 5 changed files with 155 additions and 92 deletions.
92 changes: 92 additions & 0 deletions input/fsh/bundles/smartcare-full-bundle-example.fsh
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
Instance: Smartcare
InstanceOf: SmartcareFullBundle
Usage: #example
Title: "Smartcare Bundle"
Description: "A bundle containing all Smartcare FHIR resources."
* type = #transaction
* timestamp = "2024-02-18T09:30:00+02:00"

* entry[SmartcareImmunizationPatient][+].fullUrl = "http://hapi-fhir:8080/Patient/SmartcareImmunizationPatientExample"
* entry[SmartcareImmunizationPatient][=].resource = SmartcareImmunizationPatientExample
* entry[SmartcareImmunizationPatient][=].request.method = #PUT
* entry[SmartcareImmunizationPatient][=].request.url = "Patient/SmartcareImmunizationPatientExample"

* entry[SpouseRelatedPerson][+].fullUrl = "http://hapi-fhir:8080/RelatedPerson/SpouseRelatedPersonExample"
* entry[SpouseRelatedPerson][=].resource = SpouseRelatedPersonExample
* entry[SpouseRelatedPerson][=].request.method = #PUT
* entry[SpouseRelatedPerson][=].request.url = "RelatedPerson/SpouseRelatedPersonExample"

* entry[PatientEducationalLevelObservation][+].fullUrl = "http://hapi-fhir:8080/Observation/PatientEducationalLevelObservationExample"
* entry[PatientEducationalLevelObservation][=].resource = PatientEducationalLevelObservationExample
* entry[PatientEducationalLevelObservation][=].request.method = #PUT
* entry[PatientEducationalLevelObservation][=].request.url = "Observation/PatientEducationalLevelObservationExample"

* entry[TargetFacilityEncounter][+].fullUrl = "http://hapi-fhir:8080/Encounter/SmartcareTargetFacilityEncounterExample"
* entry[TargetFacilityEncounter][=].resource = SmartcareTargetFacilityEncounterExample
* entry[TargetFacilityEncounter][=].request.method = #PUT
* entry[TargetFacilityEncounter][=].request.url = "Encounter/SmartcareTargetFacilityEncounterExample"

* entry[ChiefAtBirthRelatedPerson][+].fullUrl = "http://hapi-fhir:8080/RelatedPerson/ChiefAtBirthRelatedPersonExample"
* entry[ChiefAtBirthRelatedPerson][=].resource = ChiefAtBirthRelatedPersonExample
* entry[ChiefAtBirthRelatedPerson][=].request.method = #PUT
* entry[ChiefAtBirthRelatedPerson][=].request.url = "RelatedPerson/ChiefAtBirthRelatedPersonExample"

* entry[DatePatientFirstMarriedObservation][+].fullUrl = "http://hapi-fhir:8080/Observation/DatePatientFirstMarriedObservationExample"
* entry[DatePatientFirstMarriedObservation][=].resource = DatePatientFirstMarriedObservationExample
* entry[DatePatientFirstMarriedObservation][=].request.method = #PUT
* entry[DatePatientFirstMarriedObservation][=].request.url = "Observation/DatePatientFirstMarriedObservationExample"

* entry[PatientFatherRelatedPerson][+].fullUrl = "http://hapi-fhir:8080/RelatedPerson/PatientFatherRelatedPersonExample"
* entry[PatientFatherRelatedPerson][=].resource = PatientFatherRelatedPersonExample
* entry[PatientFatherRelatedPerson][=].request.method = #PUT
* entry[PatientFatherRelatedPerson][=].request.url = "RelatedPerson/PatientFatherRelatedPersonExample"

* entry[GuardianOccupationObservation][+].fullUrl = "http://hapi-fhir:8080/Observation/GuardianOccupationObservationExample"
* entry[GuardianOccupationObservation][=].resource = GuardianOccupationObservationExample
* entry[GuardianOccupationObservation][=].request.method = #PUT
* entry[GuardianOccupationObservation][=].request.url = "Observation/GuardianOccupationObservationExample"

* entry[GuardianRelatedPerson][+].fullUrl = "http://hapi-fhir:8080/RelatedPerson/SmartcareGuardianRelatedPersonExample"
* entry[GuardianRelatedPerson][=].resource = SmartcareGuardianRelatedPersonExample
* entry[GuardianRelatedPerson][=].request.method = #PUT
* entry[GuardianRelatedPerson][=].request.url = "RelatedPerson/SmartcareGuardianRelatedPersonExample"

* entry[PatientMotherRelatedPerson][+].fullUrl = "http://hapi-fhir:8080/RelatedPerson/PatientMotherRelatedPersonExample"
* entry[PatientMotherRelatedPerson][=].resource = PatientMotherRelatedPersonExample
* entry[PatientMotherRelatedPerson][=].request.method = #PUT
* entry[PatientMotherRelatedPerson][=].request.url = "RelatedPerson/PatientMotherRelatedPersonExample"

* entry[RelationToPatient][+].fullUrl = "http://hapi-fhir:8080/RelatedPerson/RelationToPatientExample"
* entry[RelationToPatient][=].resource = RelationToPatientExample
* entry[RelationToPatient][=].request.method = #PUT
* entry[RelationToPatient][=].request.url = "RelatedPerson/RelationToPatientExample"

* entry[RelativeRelatedPerson][+].fullUrl = "http://hapi-fhir:8080/RelatedPerson/RelativeRelatedPersonExample"
* entry[RelativeRelatedPerson][=].resource = RelativeRelatedPersonExample
* entry[RelativeRelatedPerson][=].request.method = #PUT
* entry[RelativeRelatedPerson][=].request.url = "RelatedPerson/RelativeRelatedPersonExample"

* entry[SpouseOccupationObservation][+].fullUrl = "http://hapi-fhir:8080/Observation/SpouseOccupationObservationExample"
* entry[SpouseOccupationObservation][=].resource = SpouseOccupationObservationExample
* entry[SpouseOccupationObservation][=].request.method = #PUT
* entry[SpouseOccupationObservation][=].request.url = "Observation/SpouseOccupationObservationExample"

* entry[PatientHomeLanguageObservation][+].fullUrl = "http://hapi-fhir:8080/Observation/PatientHomeLanguageObservationExample"
* entry[PatientHomeLanguageObservation][=].resource = PatientHomeLanguageObservationExample
* entry[PatientHomeLanguageObservation][=].request.method = #PUT
* entry[PatientHomeLanguageObservation][=].request.url = "Observation/PatientHomeLanguageObservationExample"

* entry[MedicalInsuranceCompany][+].fullUrl = "http://hapi-fhir:8080/Organization/MedicalInsuranceCompanyExample"
* entry[MedicalInsuranceCompany][=].resource = MedicalInsuranceCompanyExample
* entry[MedicalInsuranceCompany][=].request.method = #PUT
* entry[MedicalInsuranceCompany][=].request.url = "Organization/MedicalInsuranceCompanyExample"

* entry[MedicalInsurance][+].fullUrl = "http://hapi-fhir:8080/Coverage/MedicalInsuranceExample"
* entry[MedicalInsurance][=].resource = MedicalInsuranceExample
* entry[MedicalInsurance][=].request.method = #PUT
* entry[MedicalInsurance][=].request.url = "Coverage/MedicalInsuranceExample"

* entry[Vaccines][+].fullUrl = "http://hapi-fhir:8080/Immunization/VaccinesExample"
* entry[Vaccines][=].resource = VaccinesExample
* entry[Vaccines][=].request.method = #PUT
* entry[Vaccines][=].request.url = "Immunization/VaccinesExample"
54 changes: 54 additions & 0 deletions input/fsh/bundles/smartcare-full-bundle.fsh
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
Profile: SmartcareFullBundle
Parent: Bundle
Id: smartcare-full-bundle
Title: "Smartcare Full Bundle"
Description: "This bundle contains all of the Smartcare resources."
* type 1..1
* type = #transaction
* timestamp 1..1
* entry 1..*
* entry ^definition =
"reason(s, reason why this should be supported.) why this should be supported."
* entry ^slicing.discriminator[+].type = #type
* entry ^slicing.discriminator[=].path = "resource"
* entry ^slicing.discriminator[+].type = #profile
* entry ^slicing.discriminator[=].path = "resource"
* entry ^slicing.rules = #open
* entry ^slicing.ordered = false
* entry ^slicing.description = "An entry resource included in Smartcare's full document bundle resource."
* entry contains
SmartcareImmunizationPatient 0..1 MS and //Must be mandatory
TargetFacilityEncounter 0..1 MS and //Must be mandatory
SpouseRelatedPerson 0..1 MS and
ChiefAtBirthRelatedPerson 0..1 MS and
GuardianRelatedPerson 0..1 MS and
PatientMotherRelatedPerson 0..1 MS and
RelationToPatient 0..1 MS and
RelativeRelatedPerson 0..1 MS and
PatientFatherRelatedPerson 0..1 MS and
PatientEducationalLevelObservation 0..1 MS and
DatePatientFirstMarriedObservation 0..1 MS and
GuardianOccupationObservation 0..1 MS and
SpouseOccupationObservation 0..1 MS and
PatientHomeLanguageObservation 0..1 MS and
MedicalInsuranceCompany 0..1 MS and
MedicalInsurance 0..1 MS and
Vaccines 0..1 MS //Must be mandatory

* insert BundleEntry(SmartcareImmunizationPatient, SmartcareImmunizationPatient, reason why this should be supported.)
* insert BundleEntry(TargetFacilityEncounter, TargetFacilityEncounter, reason why this should be supported.)
* insert BundleEntry(SpouseRelatedPerson, SpouseRelatedPerson, reason why this should be supported.)
* insert BundleEntry(ChiefAtBirthRelatedPerson, ChiefAtBirthRelatedPerson, reason why this should be supported.)
* insert BundleEntry(GuardianRelatedPerson, GuardianRelatedPerson, reason why this should be supported.)
* insert BundleEntry(PatientMotherRelatedPerson, PatientMotherRelatedPerson, reason why this should be supported.)
* insert BundleEntry(RelationToPatient, RelationToPatient, reason why this should be supported.)
* insert BundleEntry(RelativeRelatedPerson, RelativeRelatedPerson, reason why this should be supported.)
* insert BundleEntry(PatientFatherRelatedPerson, PatientFatherRelatedPerson, reason why this should be supported.)
* insert BundleEntry(PatientEducationalLevelObservation, PatientEducationalLevelObservation, reason why this should be supported.)
* insert BundleEntry(DatePatientFirstMarriedObservation, DatePatientFirstMarriedObservation, reason why this should be supported.)
* insert BundleEntry(GuardianOccupationObservation, GuardianOccupationObservation, reason why this should be supported.)
* insert BundleEntry(SpouseOccupationObservation, SpouseOccupationObservation, reason why this should be supported.)
* insert BundleEntry(PatientHomeLanguageObservation, PatientHomeLanguageObservation, reason why this should be supported.)
* insert BundleEntry(MedicalInsuranceCompany, MedicalInsuranceCompany, reason why this should be supported.)
* insert BundleEntry(MedicalInsurance, MedicalInsurance, reason why this should be supported.)
* insert BundleEntry(Vaccines, Vaccines, reason why this should be supported.)
91 changes: 0 additions & 91 deletions input/fsh/bundles/smartcare.fsh

This file was deleted.

8 changes: 8 additions & 0 deletions input/fsh/rulesets/bundles.fsh
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
RuleSet: BundleEntry(resourceID, entrySLice, mustSupportReason)
* entry[{entrySLice}]
^definition = "{mustSupportReason}"
* fullUrl 1..1
* resource 1..1
* resource only {resourceID}
* request 1..1
* method = #PUT
2 changes: 1 addition & 1 deletion input/fsh/rulesets/client-registration.fsh
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ RuleSet: ElementMap(source, target, equivalence)
* code = #{source}
* target[+]
* code = #{target}
* relationship = #{equivalence}
* relationship = #{equivalence}

0 comments on commit ec48857

Please sign in to comment.