BACK TO Articles

Streamlining patient admission process with Power Apps: a hypothetical case study

By John Bordin

It’s a late evening at CityLife General Hospital’s bustling emergency room. Receptionist Jenny is wrapping up her shift when a man named Mike rushes in, clutching his right hand that he accidentally cut while cooking dinner. Mike needs immediate attention, and Jenny must initiate the admission process.

CityLife General Hospital recently transformed their patient admission process using Power Apps to handle these kinds of emergencies.

As soon as Jenny enters Mike’s name, date of birth, and the nature of his injury, she sets the record’s status to ‘Draft’ and saves it. The system is designed in such a way that only the critical fields are ‘Business Required’ at this stage. This enables the staff to focus on immediate care.

Now let’s take a step back and delve into the behind-the-scenes workings of this Model-driven Power App.

For such a complex form with many fields, an immediate requirement for all fields to be filled in would be impractical. Thus, the app is designed to adjust the mandatory requirement of fields based on the status of the row. We primarily implemented this using GUI-based Business Rules, an intuitive feature in Power Apps that allows for dynamic changing of field requirements.

In the ‘Business Rule’ configuration, a condition checks the value of the ‘Record Status’. When the status is ‘Final’, important fields are made ‘Business Required’. Conversely, in the ‘Draft’ status, these fields are set to ‘Not Business Required’. This straightforward, easy-to-maintain approach offered us the flexibility we needed.

Business Rule (Text View)

IF

Row status equals "Final"

THEN

Set Contact Number as Business Required

Set Date of Birth as Business Required

Set Admission Date as Business Required

Set Nature of Emergency as Business Required

ELSE

Set Contact Number as Not Business Required

Set Date of Birth as Not Business Required

Set Admission Date as Not Business Required

Set Nature of Emergency as Not Business Required

Business Rule (GUI View)

Alternatively, JavaScript could also be used to achieve a similar result. A function that gets called on the ‘OnLoad’ events of the form and the ‘OnChange’ event of the <Row status> field could be created. This function would use the formContext.getAttribute(<field name>).setRequiredLevel(“required”) method to make the important fields required when the status is ‘Final’, and formContext.getAttribute(<field name>).setRequiredLevel(“none”) when it’s ‘Draft’. This method provides more control and flexibility, allowing for more complex conditions or behaviours if necessary.

JavaScript code for the business logic

function requiredFields(executionContext) {
var requiredLevel;

var formContext = executionContext.getFormContext();

if (
formContext.data.entity.attributes.get('statuscode').getText() === 'Final'
) {
requiredLevel = 'required';
} else {
requiredLevel = 'none';
}

formContext
.getAttribute('cr1e8_contactnumber')
.setRequiredLevel(requiredLevel);

formContext.getAttribute('cr1e8_dateofbirth').setRequiredLevel(requiredLevel);

formContext
.getAttribute('cr1e8_admissiondate')
.setRequiredLevel(requiredLevel);

formContext
.getAttribute('cr1e8_natureofemergency')
.setRequiredLevel(requiredLevel);
}

function formOnLoad(executionContext) {
requiredFields(executionContext);
}

function rowStatusOnChange(executionContext) {
requiredFields(executionContext);
}

One solution to reflect important fields we decided against was the Business Process Flow. Despite its flexibility, we found it limiting that required columns only show in the fly-out of the Business Process Flow and not in the form itself, leading to a less than optimal user experience.

As Mike’s treatment at CityLife General Hospital progresses over the next few days, Jenny and her colleagues fill out the remaining fields in the form: insurance details, medical history, diagnosis, treatment plan, and patient notes. Once all the required fields are filled, and Mike’s treatment plan is ready, Jenny changes the ‘Record Status’ to ‘Final’. The business rules trigger and enforce that all critical fields are now ‘Business Required’. This system ensures that the record is thorough and complete before it’s submitted for final approval.

The dynamic, flexible system developed using Power Apps has greatly improved patient care at CityLife General Hospital. By focusing on the essential requirements at the right times, it ensures that crucial information is not missed while also providing flexibility during emergencies. The Power App has become a true ally in patient care, ensuring that the team can focus on providing care when it matters most.

Looking for something specific?

Search our Archive to find content that piques your interest.
SEARCH

Recents Posts

May 26, 2026
Mojo Soup recognised as a Microsoft Solution Partner for Business Applications
We’re proud to share that Mojo Soup is now officially a Microsoft Solution Partner for Business Applications. This has been a clear goal for our team because it represents the new standard which recognises capability + impact.  What it represents  Capability Our team holds all the certifications that matter across Dynamics 365, Power Platform and the broader Microsoft ecosystem based on deep expertise, applied in real environments.  Customer growth Verified outcomes where our…
Read more
May 14, 2026
When the process doesn’t exist yet: designing Dynamics 365 for change with Activity Templates.
Most systems are built around “defined processes.”The problem? Most organisations are still figuring those processes out as they grow. We had this exact situation with a client recently - and so we designed a solution for change rather than certainty. One of the trickier situations in a greenfield Dynamics 365 implementation is when a client…
Read more
May 11, 2026
No scope? No problem 
So often we start a conversation with a client who knows they have a need, but they're not sure what the journey or end result looks like. In our world, making their unknowns, known is where we thrive. We understand, there’s a lot of comfort in a neatly defined scope and in a perfect world that’s where we’d start. However that assumes a level of clarity that…
Read more
March 13, 2026
Connected Brilliance: The Soupian difference between code and craft.
AI is everywhere right now. And it’s moving fast.  Code can be generated in seconds. Entire applications can be scaffolded before you’ve finished your first coffee. It’s tempting to believe we’ve finally found the shortcut (the tool that replaces complexity with speed), however speed alone has rarely delivered a great outcome.  At Mojo Soup, we think about AI a little differently. Less as a replacement…
Read more